diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 88ac316..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: abicheck -# $Id: Makefile,v 1.1 2004/11/08 04:00:14 cvsextras Exp $ -NAME := abicheck -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/abicheck-1.2-fortify-source-f8.patch b/abicheck-1.2-fortify-source-f8.patch deleted file mode 100644 index 5c12e48..0000000 --- a/abicheck-1.2-fortify-source-f8.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff -Nur abicheck-1.2-orig/abicheck.pl abicheck-1.2/abicheck.pl ---- abicheck-1.2-orig/abicheck.pl 2003-08-26 21:57:51.000000000 +0200 -+++ abicheck-1.2/abicheck.pl 2007-10-05 14:03:36.000000000 +0200 -@@ -3538,5 +3538,82 @@ - libnsl.so.1:readColdStartFile - libnsl.so.1:writeColdStartFile - ); -+ -+ # -+ # These are _FORTIFY_SOURCE symbols. -+ # -+ push(@{$public}, qw( -+ libc.so.6:__chk_fail -+ libc.so.6:__confstr_chk -+ libc.so.6:__fgets_chk -+ libc.so.6:__fgets_unlocked_chk -+ libc.so.6:__fgetws_chk -+ libc.so.6:__fgetws_unlocked_chk -+ libc.so.6:__fprintf_chk -+ libc.so.6:__fread_chk -+ libc.so.6:__fread_unlocked_chk -+ libc.so.6:__fwprintf_chk -+ libc.so.6:__getcwd_chk -+ libc.so.6:__getdomainname_chk -+ libc.so.6:__getgroups_chk -+ libc.so.6:__gethostname_chk -+ libc.so.6:__getlogin_r_chk -+ libc.so.6:__gets_chk -+ libc.so.6:__getwd_chk -+ libc.so.6:__mbsnrtowcs_chk -+ libc.so.6:__mbsrtowcs_chk -+ libc.so.6:__mbstowcs_chk -+ libc.so.6:__memcpy_chk -+ libc.so.6:__memmove_chk -+ libc.so.6:__mempcpy_chk -+ libc.so.6:__memset_chk -+ libc.so.6:__pread64_chk -+ libc.so.6:__pread_chk -+ libc.so.6:__printf_chk -+ libc.so.6:__ptsname_r_chk -+ libc.so.6:__read_chk -+ libc.so.6:__readlinkat_chk -+ libc.so.6:__readlink_chk -+ libc.so.6:__realpath_chk -+ libc.so.6:__recv_chk -+ libc.so.6:__recvfrom_chk -+ libc.so.6:__snprintf_chk -+ libc.so.6:__sprintf_chk -+ libc.so.6:__stack_chk_fail -+ libc.so.6:__stpcpy_chk -+ libc.so.6:__stpncpy_chk -+ libc.so.6:__strcat_chk -+ libc.so.6:__strcpy_chk -+ libc.so.6:__strncat_chk -+ libc.so.6:__strncpy_chk -+ libc.so.6:__swprintf_chk -+ libc.so.6:__syslog_chk -+ libc.so.6:__ttyname_r_chk -+ libc.so.6:__vfprintf_chk -+ libc.so.6:__vfwprintf_chk -+ libc.so.6:__vprintf_chk -+ libc.so.6:__vsnprintf_chk -+ libc.so.6:__vsprintf_chk -+ libc.so.6:__vswprintf_chk -+ libc.so.6:__vsyslog_chk -+ libc.so.6:__vwprintf_chk -+ libc.so.6:__wcpcpy_chk -+ libc.so.6:__wcpncpy_chk -+ libc.so.6:__wcrtomb_chk -+ libc.so.6:__wcscat_chk -+ libc.so.6:__wcscpy_chk -+ libc.so.6:__wcsncat_chk -+ libc.so.6:__wcsncpy_chk -+ libc.so.6:__wcsnrtombs_chk -+ libc.so.6:__wcsrtombs_chk -+ libc.so.6:__wcstombs_chk -+ libc.so.6:__wctomb_chk -+ libc.so.6:__wmemcpy_chk -+ libc.so.6:__wmemmove_chk -+ libc.so.6:__wmempcpy_chk -+ libc.so.6:__wmemset_chk -+ libc.so.6:__wprintf_chk -+ ) -+ ); - } - } diff --git a/abicheck-1.2-ldlinux.patch b/abicheck-1.2-ldlinux.patch index 10b0e53..8355cdd 100644 --- a/abicheck-1.2-ldlinux.patch +++ b/abicheck-1.2-ldlinux.patch @@ -30,7 +30,7 @@ diff -Nur abicheck-1.2-orig/abicheck.pl abicheck-1.2/abicheck.pl + my $ldlinux = ''; + open(DLFIND,"ldd $file0 |") or die "open: ldd: $!"; + while () { -+ /(ld(-linux)*.so.\d+)/ and /(\S+)/ and $ldlinux = $1; ++ /(\/ld(-linux[^.]*|64)*\.so\.\d+)/ and /(\S+)/ and $ldlinux = $1; + } + close(DLFIND); + if ( $ldlinux =~ /^$/ ) { diff --git a/abicheck-1.2-undefined-symbol.patch b/abicheck-1.2-undefined-symbol.patch deleted file mode 100644 index 7c7b700..0000000 --- a/abicheck-1.2-undefined-symbol.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur abicheck-1.2-orig/abicheck.pl abicheck-1.2/abicheck.pl ---- abicheck-1.2-orig/abicheck.pl 2003-08-26 21:57:51.000000000 +0200 -+++ abicheck-1.2/abicheck.pl 2007-10-05 11:47:39.000000000 +0200 -@@ -1588,7 +1588,7 @@ - $filter_match = - q/file=(.*); filtered by (.*)$/; # XXX not checked - $unbound_match = -- q/^\s*undefined symbol:\s+(\S+)(.*)/; -+ q/symbol (.*) not defined(.*)/; - $dtneeded_match = - q/^\s*(\S+)\s+=>\s+(not found|\S+)/; - $file_match = diff --git a/abicheck-dbfile-fortify-source b/abicheck-dbfile-fortify-source new file mode 100644 index 0000000..466313d --- /dev/null +++ b/abicheck-dbfile-fortify-source @@ -0,0 +1,70 @@ +libc.so.6|__chk_fail|public +libc.so.6|__confstr_chk|public +libc.so.6|__fgets_chk|public +libc.so.6|__fgets_unlocked_chk|public +libc.so.6|__fgetws_chk|public +libc.so.6|__fgetws_unlocked_chk|public +libc.so.6|__fprintf_chk|public +libc.so.6|__fread_chk|public +libc.so.6|__fread_unlocked_chk|public +libc.so.6|__fwprintf_chk|public +libc.so.6|__getcwd_chk|public +libc.so.6|__getdomainname_chk|public +libc.so.6|__getgroups_chk|public +libc.so.6|__gethostname_chk|public +libc.so.6|__getlogin_r_chk|public +libc.so.6|__gets_chk|public +libc.so.6|__getwd_chk|public +libc.so.6|__mbsnrtowcs_chk|public +libc.so.6|__mbsrtowcs_chk|public +libc.so.6|__mbstowcs_chk|public +libc.so.6|__memcpy_chk|public +libc.so.6|__memmove_chk|public +libc.so.6|__mempcpy_chk|public +libc.so.6|__memset_chk|public +libc.so.6|__pread64_chk|public +libc.so.6|__pread_chk|public +libc.so.6|__printf_chk|public +libc.so.6|__ptsname_r_chk|public +libc.so.6|__read_chk|public +libc.so.6|__readlinkat_chk|public +libc.so.6|__readlink_chk|public +libc.so.6|__realpath_chk|public +libc.so.6|__recv_chk|public +libc.so.6|__recvfrom_chk|public +libc.so.6|__snprintf_chk|public +libc.so.6|__sprintf_chk|public +libc.so.6|__stack_chk_fail|public +libc.so.6|__stpcpy_chk|public +libc.so.6|__stpncpy_chk|public +libc.so.6|__strcat_chk|public +libc.so.6|__strcpy_chk|public +libc.so.6|__strncat_chk|public +libc.so.6|__strncpy_chk|public +libc.so.6|__swprintf_chk|public +libc.so.6|__syslog_chk|public +libc.so.6|__ttyname_r_chk|public +libc.so.6|__vfprintf_chk|public +libc.so.6|__vfwprintf_chk|public +libc.so.6|__vprintf_chk|public +libc.so.6|__vsnprintf_chk|public +libc.so.6|__vsprintf_chk|public +libc.so.6|__vswprintf_chk|public +libc.so.6|__vsyslog_chk|public +libc.so.6|__vwprintf_chk|public +libc.so.6|__wcpcpy_chk|public +libc.so.6|__wcpncpy_chk|public +libc.so.6|__wcrtomb_chk|public +libc.so.6|__wcscat_chk|public +libc.so.6|__wcscpy_chk|public +libc.so.6|__wcsncat_chk|public +libc.so.6|__wcsncpy_chk|public +libc.so.6|__wcsnrtombs_chk|public +libc.so.6|__wcsrtombs_chk|public +libc.so.6|__wcstombs_chk|public +libc.so.6|__wctomb_chk|public +libc.so.6|__wmemcpy_chk|public +libc.so.6|__wmemmove_chk|public +libc.so.6|__wmempcpy_chk|public +libc.so.6|__wmemset_chk|public +libc.so.6|__wprintf_chk|public diff --git a/abicheck.spec b/abicheck.spec index e7b526b..0f50004 100644 --- a/abicheck.spec +++ b/abicheck.spec @@ -3,18 +3,17 @@ Summary: ABI checking tool Name: abicheck Version: 1.2 -Release: 15 +Release: 15.2 License: LGPLv2 Group: Applications/File URL: http://abicheck.sourceforge.net/ Source0: http://dl.sf.net/abicheck/%{name}-%{version}.tar.gz +Source1: abicheck-dbfile-fortify-source Patch0: abicheck-1.2-fc3.patch Patch1: abicheck-1.2-tests.patch Patch2: abicheck-1.2-bindings-fc4.patch Patch3: abicheck-1.2-libgcc.patch -Patch4: abicheck-1.2-fortify-source-f8.patch Patch5: abicheck-1.2-ldlinux.patch -Patch6: abicheck-1.2-undefined-symbol.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot-%(%{__id_u} -n) Requires: binutils perl @@ -31,9 +30,7 @@ Binary Interface). %patch1 -p1 -b .tests %patch2 -p1 -b .bindings-fc4 %patch3 -p1 -b .libgcc -%patch4 -p1 -b .fortify-source-f8 %patch5 -p1 -b .ldlinux -%patch6 -p1 -b .undefined-symbol sed -i -e 's!/usr/lib/!%{_libdir}/!g' test/Makefile @@ -46,6 +43,7 @@ rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_mandir}/man1 install -p -m 0755 abicheck $RPM_BUILD_ROOT%{_bindir} install -p -m 0644 abicheck.1 $RPM_BUILD_ROOT%{_mandir}/man1 +install -p -m 0644 %{SOURCE1} dbfile.FORTIFY_SOURCE %check @@ -59,57 +57,63 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc COPYING ChangeLog INTRO README +%doc dbfile.FORTIFY_SOURCE %{_bindir}/abicheck %{_mandir}/man1/abicheck.1* %changelog -* Fri Oct 5 2007 Michael Schwendt - 1.2-15 +* Tue Jan 29 2008 Michael Schwendt - 1.2-15.2 +- Make ldlinux patch look for more linker names. +- Remove unbound_match patch. +- Move fortify-source patch into separate dbfile in docdir. + +* Fri Oct 5 2007 Michael Schwendt - 1.2-15 - Patch unbound_match. - Update fortify-source patch. -* Thu Aug 2 2007 Michael Schwendt - 1.2-14 +* Thu Aug 2 2007 Michael Schwendt - 1.2-14 - Clarify licence (LGPLv2). -* Thu May 24 2007 Michael Schwendt - 1.2-13 +* Thu May 24 2007 Michael Schwendt - 1.2-13 - More patches for the tests. -* Thu May 24 2007 Michael Schwendt - 1.2-12 +* Thu May 24 2007 Michael Schwendt - 1.2-12 - Patch tests a bit more (also fixes ppc64). -* Mon Aug 28 2006 Michael Schwendt - 1.2-11 +* Mon Aug 28 2006 Michael Schwendt - 1.2-11 - Rebuild and update fortify-source patch. -* Thu Mar 2 2006 Michael Schwendt - 1.2-10 +* Thu Mar 2 2006 Michael Schwendt - 1.2-10 - rebuilt for FC5 only to run the %%check section -* Tue Aug 16 2005 Michael Schwendt - 1.2-9 +* Tue Aug 16 2005 Michael Schwendt - 1.2-9 - Patch abicheck to run dynamic linker directly instead of using ldd and receiving its intermixed lines. -* Mon Aug 15 2005 Michael Schwendt - 1.2-8 +* Mon Aug 15 2005 Michael Schwendt - 1.2-8 - Add libgcc symbols. - Add more _FORTIFY_SOURCE symbols. - Override symbol classification by default. -* Thu Aug 11 2005 Michael Schwendt - 1.2-7 +* Thu Aug 11 2005 Michael Schwendt - 1.2-7 - Add an override file in %%doc which can be specified with option -O to modify the symbol classification for binaries built with _FORTIFY_SOURCE. -* Mon May 9 2005 Michael Schwendt - 1.2-6 +* Mon May 9 2005 Michael Schwendt - 1.2-6 - Disable debuginfo package. -* Thu Apr 14 2005 Michael Schwendt - 1.2-5 +* Thu Apr 14 2005 Michael Schwendt - 1.2-5 - Replace /usr/lib/ with %%_libdir/ in %%prep. -* Mon Apr 11 2005 Michael Schwendt - 1.2-4 +* Mon Apr 11 2005 Michael Schwendt - 1.2-4 - Add patch to catch up with bindings related changes in ldd output. -* Fri Apr 7 2005 Michael Schwendt +* Fri Apr 7 2005 Michael Schwendt - rebuilt -* Mon Dec 13 2004 Michael Schwendt - 1.2-3 +* Mon Dec 13 2004 Michael Schwendt - 1.2-3 - Add patch to catch up with changes in ldd output. - Fix static linking test. - Drop Epoch 0.