Summary: A debugger which detects memory allocation violations.
Name: ElectricFence
Version: 2.2.2
Release: 12%{?_dist_release}
License: GPL
Group: Development/Tools
Source: ftp://ftp.perens.com/pub/ElectricFence/beta/%{name}-%{version}.tar.gz
Patch1: ElectricFence-2.0.5-longjmp.patch
Patch2: ElectricFence-2.1-vaarg.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root

%description
ElectricFence is a utility for C programming and
debugging. ElectricFence uses the virtual memory hardware of your
system to detect when software overruns malloc() buffer boundaries,
and/or to detect any accesses of memory released by
free(). ElectricFence will then stop the program on the first
instruction that caused a bounds violation and you can use your
favorite debugger to display the offending statement.

Install ElectricFence if you need a debugger to find malloc()
violations.


%prep
%setup -q
%patch1 -p1 -b .longjmp
%patch2 -p1 -b .vaarg

%build
make CFLAGS='${RPM_OPT_FLAGS} -DUSE_SEMAPHORE -fPIC'

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}{%{_bindir},%{_libdir},%{_mandir}/man3}

make	BIN_INSTALL_DIR=%{buildroot}%{_bindir} \
	LIB_INSTALL_DIR=%{buildroot}%{_libdir} \
	MAN_INSTALL_DIR=%{buildroot}%{_mandir}/man3 \
	install

echo ".so man3/efence.3" > %{buildroot}%{_mandir}/man3/libefence.3

%clean
rm -rf %{buildroot}

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc README CHANGES COPYING
%{_bindir}/*
%{_libdir}/*
%{_mandir}/*/*


%changelog
* Sat Apr 11 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.2.2-12
- applied new versioning policy

* Fri Aug 24 2007 Shu KONNO <owa@bg.wakwak.com> 2.2.2-11vl3
- s/Copyright/License/

* Mon Apr  7 2003 Hiroaki Irokawa <irorin@terra.dti.ne.jp> 2.2.2-11vl2
- rebuild

* Fri Dec 06 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 2.2.2-11vl1
- based on 2.2.2-11 from Rawhide and built for Vine Linux

* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Thu May 23 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
- Bump release + rebuild.

* Thu Nov 16 2000 Tim Powers <timp@redhat.com>
- use -fPIC, not -fpic, also -DUSE_SEMAPHORE to make it thread safe,
  as per bug #20935

* Tue Sep 19 2000 Bill Nottingham <notting@redhat.com>
- use -fpic

* Fri Aug 18 2000 Tim Waugh <twaugh@redhat.com>
- fix efence.3/libefence.3 confusion (#16412).

* Tue Aug 1 2000 Tim Powers <timp@redhat.com>
- added ldconfig stuff to ;post and postun
- added Requires /sbin/ldconfig
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild

* Wed Jul 05 2000 Preston Brown <pbrown@redhat.com>
- back in main distro
- 2.2.2 version - claimed beta, but no releases in over a year.
- FHS macros

* Fri May 26 2000 Tim Powers <timp@redhat.com>
- moved to Powertools
- fix map page location to be in /usr/share/man

* Tue May 16 2000 Jakub Jelinek <jakub@redhat.com>
- fix build on ia64

* Wed Feb 02 2000 Cristian Gafton <gafton@redhat.com>
- fix description
- man pages are compressed

* Tue Jan  4 2000 Jeff Johnson <jbj@redhat.com>
- remove ExcludeArch: alpha (#6683).

* Sat Apr 10 1999 Matt Wilson <msw@redhat.com>
- version 2.1

* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
- auto rebuild in the new build environment (release 13)

* Wed Jan 06 1999 Cristian Gafton <gafton@redhat.com>
- build for glibc 2.1

* Fri Aug 21 1998 Jeff Johnson <jbj@redhat.com>
- create efence.3 (problem #830)

* Tue Aug  4 1998 Jeff Johnson <jbj@redhat.com>
- build root

* Mon Jun 01 1998 Prospector System <bugs@redhat.com>
- translations modified for de

* Mon Jun 01 1998 Prospector System <bugs@redhat.com>
- need to use sigsetjmp() and siglongjmp() for proper testing

* Fri May 01 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr

* Thu Apr 30 1998 Cristian Gafton <gafton@redhat.com>
- use ExcludeArch instead of Exclude

* Thu Jul 10 1997 Erik Troan <ewt@redhat.com>
- built against glibc
