Blame SPECS/ElectricFence.spec

94c734
# Regarding the following rpmlint citation:
94c734
#
94c734
#   library package calls exit() or _exit() [...]
94c734
#
94c734
# Electric fence is a debugger, not a library.  The fact that it comes
94c734
# in the form factor of a library is just because that's how you
94c734
# override malloc-related calls from libc.  Calling _exit is the
94c734
# ultimate outcome of detecting a class of memory errors (double free,
94c734
# free of wild pointer, etc.)  Overflows (or underflows) are detected
94c734
# by the operating system and lead to process termination as well.
94c734
#
94c734
#   devel-file-in-non-devel-package /usr/lib64/libefence.a
94c734
#
94c734
# Electric fence is itself a development package.
94c734
94c734
Summary: A debugger which detects memory allocation violations
94c734
Name: ElectricFence
94c734
Version: 2.2.2
94c734
Release: 39%{?dist}
94c734
License: GPLv2
94c734
Group: Development/Tools
94c734
URL: http://perens.com/FreeSoftware/ElectricFence/
94c734
94c734
# ftp://ftp.perens.com/pub/ElectricFence/beta/ used to be here, but
94c734
# the site is inaccessible as of lately.  I looked through the web but
94c734
# didn't find anything.  Debian has a link to a site that hosts an
94c734
# obsolete version.  I don't think there's any proper upstream for
94c734
# this.
94c734
Source: %{name}-%{version}.tar.gz
94c734
Patch1: ElectricFence-2.0.5-longjmp.patch
94c734
Patch2: ElectricFence-2.1-vaarg.patch
94c734
Patch3: ElectricFence-2.2.2-pthread.patch
94c734
Patch4: ElectricFence-2.2.2-madvise.patch
94c734
Patch5: ElectricFence-mmap-size.patch
94c734
Patch6: ElectricFence-2.2.2-banner.patch
94c734
Patch7: ElectricFence-2.2.2-ef.patch
94c734
Patch8: ElectricFence-2.2.2-builtins.patch
94c734
Patch9: ElectricFence-2.2.2-sse.patch
94c734
Patch10: ElectricFence-2.2.2-posix_memalign.patch
94c734
Patch11: ElectricFence-2.2.2-malloc_usable_size.patch
94c734
Patch12: ElectricFence-2.2.2-man-ef.patch
94c734
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
94c734
94c734
%description
94c734
ElectricFence is a utility for C programming and
94c734
debugging. ElectricFence uses the virtual memory hardware of your
94c734
system to detect when software overruns malloc() buffer boundaries,
94c734
and/or to detect any accesses of memory released by
94c734
free(). ElectricFence will then stop the program on the first
94c734
instruction that caused a bounds violation and you can use your
94c734
favorite debugger to display the offending statement.
94c734
94c734
Install ElectricFence if you need a debugger to find malloc()
94c734
violations.
94c734
94c734
%prep
94c734
%setup -q
94c734
%patch1 -p1 -b .longjmp
94c734
%patch2 -p1 -b .vaarg
94c734
%patch3 -p1 -b .pthread
94c734
%patch4 -p1 -b .madvise
94c734
%patch5 -p1
94c734
%patch6 -p1
94c734
%patch7 -p1
94c734
%patch8 -p1
94c734
%patch9 -p1
94c734
%patch10 -p1
94c734
%patch11 -p1
94c734
%patch12 -p1
94c734
94c734
%build
94c734
make CFLAGS='${RPM_OPT_FLAGS} -DUSE_SEMAPHORE -fpic'
94c734
94c734
%install
94c734
rm -rf $RPM_BUILD_ROOT
94c734
mkdir -p %{buildroot}{%{_bindir},%{_libdir},%{_mandir}/man{1,3}}
94c734
94c734
make	BIN_INSTALL_DIR=%{buildroot}%{_bindir} \
94c734
	LIB_INSTALL_DIR=%{buildroot}%{_libdir} \
94c734
	MAN_INSTALL_DIR=%{buildroot}%{_mandir} \
94c734
	install
94c734
94c734
echo ".so man3/efence.3" > %{buildroot}%{_mandir}/man3/libefence.3
94c734
94c734
%clean
94c734
rm -rf $RPM_BUILD_ROOT
94c734
94c734
%post -p /sbin/ldconfig
94c734
94c734
%postun -p /sbin/ldconfig
94c734
94c734
94c734
%files
94c734
%defattr(-,root,root)
94c734
%doc README CHANGES COPYING
94c734
%{_bindir}/*
94c734
%{_libdir}/*.a
94c734
%{_libdir}/*.so*
94c734
%{_mandir}/*/*
94c734
94c734
%changelog
94c734
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 2.2.2-39
94c734
- Mass rebuild 2014-01-24
94c734
94c734
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2.2.2-38
94c734
- Mass rebuild 2013-12-27
94c734
94c734
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-37
94c734
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
94c734
94c734
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-36
94c734
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
94c734
94c734
* Fri Apr 27 2012 Petr Machata <pmachata@redhat.com> - 2.2.2-35
94c734
- Add a man page for "ef" script
94c734
- Resolves: #225722
94c734
94c734
* Mon Mar 12 2012 Petr Machata <pmachata@redhat.com> - 2.2.2-34
94c734
- Add a patch that implements malloc_usable_size
94c734
- Resolves: #772306
94c734
94c734
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-33
94c734
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
94c734
94c734
* Fri Mar 11 2011 Petr Machata <pmachata@redhat.com> - 2.2.2-32
94c734
- Add a patch that implements posix_memalign
94c734
- Resolves: #684019
94c734
94c734
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-31
94c734
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
94c734
94c734
* Wed Jan 19 2011 Petr Machata <pmachata@redhat.com> - 2.2.2-30
94c734
- Use the same formula as glibc uses to align memory
94c734
- Resolves: #662085
94c734
94c734
* Fri Sep 10 2010 Petr Machata <pmachata@redhat.com> - 2.2.2-29
94c734
- Tell GCC not to recognize builtins when compiling efence.c.
94c734
- Resolves: #631316
94c734
- Related: #632312
94c734
94c734
* Thu Sep  9 2010 Petr Machata <pmachata@redhat.com> - 2.2.2-28
94c734
- GCC optimizes out write to internalUse in call from
94c734
  allocateMoreSlots to malloc.  Rename malloc to __efence__malloc to
94c734
  pacify the trigger.  Later sneak the malloc symbol in with an alias.
94c734
- Resolves: #631316
94c734
94c734
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-27
94c734
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
94c734
94c734
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-26
94c734
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
94c734
94c734
* Mon Feb 11 2008 Petr Machata <pmachata@redhat.com> - 2.2.2-25
94c734
- Fix ef.sh argument passing
94c734
- Resolves: #432286
94c734
94c734
* Thu Aug 16 2007 Petr Machata <pmachata@redhat.com> - 2.2.2-24
94c734
- Fix licesing tag.
94c734
94c734
* Wed Mar 28 2007 Petr Machata <pmachata@redhat.com> - 2.2.2-23
94c734
- Detect for EF_DISABLE_BANNER env. var before printing out the
94c734
  banner.  (Patch adapted from Debian repositories.)
94c734
- Resolves: #233702
94c734
94c734
* Fri Mar 16 2007 Petr Machata <pmachata@redhat.com> - 2.2.2-22
94c734
- Remove bad cast in ElectricFence mmap (George Beshers)
94c734
- Resolves: #232695
94c734
94c734
* Wed Feb  7 2007 Petr Machata <pmachata@redhat.com> - 2.2.2-21
94c734
- Tidy up the specfile per rpmlint comments
94c734
94c734
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.2.2-20.2.2
94c734
- rebuild
94c734
94c734
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.2.2-20.2.1
94c734
- bump again for double-long bug on ppc(64)
94c734
94c734
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 2.2.2-20.2
94c734
- rebuilt for new gcc4.1 snapshot and glibc changes
94c734
94c734
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
94c734
- rebuilt
94c734
94c734
* Sat Mar  5 2005 Jakub Jelinek <jakub@redhat.com> 2.2.2-20
94c734
- rebuilt with GCC 4
94c734
94c734
* Sat Oct 16 2004 Jakub Jelinek <jakub@redhat.com> 2.2.2-19
94c734
- when EF_PROTECT_FREE=1, instead of munmaping mprotect PROT_NONE
94c734
  and madvise MADV_DONTNEED (#107506)
94c734
94c734
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
94c734
- rebuilt
94c734
94c734
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
94c734
- rebuilt
94c734
94c734
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
94c734
- rebuilt
94c734
94c734
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
94c734
- rebuilt
94c734
94c734
* Mon Feb  3 2003 Jakub Jelinek <jakub@redhat.com>
94c734
- never call semaphore routines in between
94c734
  __libc_malloc_pthread_startup(true) and
94c734
  __libc_malloc_pthread_startup(false) (#83111)
94c734
- only use semaphore locking if application or its dependencies
94c734
  are linked against -lpthread, don't link libefence.so against
94c734
  -lpthread
94c734
- run tests as part of the build process
94c734
94c734
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
94c734
- rebuilt
94c734
94c734
* Tue Jan  7 2003 Jeff Johnson <jbj@redhat.com> 2.2.2-13
94c734
- don't include -debuginfo files in package.
94c734
94c734
* Thu Dec 12 2002 Tim Powers <timp@redhat.com> 2.2.2-12
94c734
- rebuild on all arches
94c734
94c734
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
94c734
- automated rebuild
94c734
94c734
* Thu May 23 2002 Tim Powers <timp@redhat.com>
94c734
- automated rebuild
94c734
94c734
* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
94c734
- automated rebuild
94c734
94c734
* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
94c734
- Bump release + rebuild.
94c734
94c734
* Thu Nov 16 2000 Tim Powers <timp@redhat.com>
94c734
- use -fPIC, not -fpic, also -DUSE_SEMAPHORE to make it thread safe,
94c734
  as per bug #20935
94c734
94c734
* Tue Sep 19 2000 Bill Nottingham <notting@redhat.com>
94c734
- use -fpic
94c734
94c734
* Fri Aug 18 2000 Tim Waugh <twaugh@redhat.com>
94c734
- fix efence.3/libefence.3 confusion (#16412).
94c734
94c734
* Tue Aug 1 2000 Tim Powers <timp@redhat.com>
94c734
- added ldconfig stuff to ;post and postun
94c734
- added Requires /sbin/ldconfig
94c734
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
94c734
- automatic rebuild
94c734
94c734
* Wed Jul 05 2000 Preston Brown <pbrown@redhat.com>
94c734
- back in main distro
94c734
- 2.2.2 version - claimed beta, but no releases in over a year.
94c734
- FHS macros
94c734
94c734
* Fri May 26 2000 Tim Powers <timp@redhat.com>
94c734
- moved to Powertools
94c734
- fix map page location to be in /usr/share/man
94c734
94c734
* Tue May 16 2000 Jakub Jelinek <jakub@redhat.com>
94c734
- fix build on ia64
94c734
94c734
* Wed Feb 02 2000 Cristian Gafton <gafton@redhat.com>
94c734
- fix description
94c734
- man pages are compressed
94c734
94c734
* Tue Jan  4 2000 Jeff Johnson <jbj@redhat.com>
94c734
- remove ExcludeArch: alpha (#6683).
94c734
94c734
* Sat Apr 10 1999 Matt Wilson <msw@redhat.com>
94c734
- version 2.1
94c734
94c734
* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
94c734
- auto rebuild in the new build environment (release 13)
94c734
94c734
* Wed Jan 06 1999 Cristian Gafton <gafton@redhat.com>
94c734
- build for glibc 2.1
94c734
94c734
* Fri Aug 21 1998 Jeff Johnson <jbj@redhat.com>
94c734
- create efence.3 (problem #830)
94c734
94c734
* Tue Aug  4 1998 Jeff Johnson <jbj@redhat.com>
94c734
- build root
94c734
94c734
* Mon Jun 01 1998 Prospector System <bugs@redhat.com>
94c734
- translations modified for de
94c734
94c734
* Mon Jun 01 1998 Prospector System <bugs@redhat.com>
94c734
- need to use sigsetjmp() and siglongjmp() for proper testing
94c734
94c734
* Fri May 01 1998 Prospector System <bugs@redhat.com>
94c734
- translations modified for de, fr, tr
94c734
94c734
* Thu Apr 30 1998 Cristian Gafton <gafton@redhat.com>
94c734
- use ExcludeArch instead of Exclude
94c734
94c734
* Thu Jul 10 1997 Erik Troan <ewt@redhat.com>
94c734
- built against glibc