diff --git a/assumeexec.diff b/assumeexec.diff new file mode 100644 index 0000000..d74def4 --- /dev/null +++ b/assumeexec.diff @@ -0,0 +1,27 @@ +--- tools/elfdeps.c.orig 2011-06-03 13:12:32.000000000 +0000 ++++ tools/elfdeps.c 2011-06-03 13:17:45.000000000 +0000 +@@ -14,6 +14,7 @@ + + int filter_private = 0; + int soname_only = 0; ++int assume_exec = 0; + + typedef struct elfInfo_s { + Elf *elf; +@@ -226,7 +227,7 @@ static int processFile(const char *fn, i + ei->isElf64 = 0; + #endif + ei->isDSO = (ehdr->e_type == ET_DYN); +- ei->isExec = (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)); ++ ei->isExec = assume_exec || (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)); + + processSections(ei); + } +@@ -279,6 +280,7 @@ int main(int argc, char *argv[]) + { "requires", 'R', POPT_ARG_VAL, &requires, -1, NULL, NULL }, + { "filter-private", 0, POPT_ARG_VAL, &filter_private, -1, NULL, NULL }, + { "soname-only", 0, POPT_ARG_VAL, &soname_only, -1, NULL, NULL }, ++ { "assume-exec", 0, POPT_ARG_VAL, &assume_exec, -1, NULL, NULL }, + POPT_AUTOHELP + POPT_TABLEEND + }; diff --git a/fileattrs.diff b/fileattrs.diff index 914a75d..a7ac98d 100644 --- a/fileattrs.diff +++ b/fileattrs.diff @@ -33,8 +33,8 @@ --- ./fileattrs/elflib.attr.orig 2011-05-18 09:28:23.000000000 +0000 +++ ./fileattrs/elflib.attr 2011-05-18 09:31:30.000000000 +0000 @@ -0,0 +1,4 @@ -+%__elflib_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private} -+%__elflib_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private} ++%__elflib_provides %{_rpmconfigdir}/elfdeps --assume-exec --provides %{?__filter_GLIBC_PRIVATE:--filter-private} ++%__elflib_requires %{_rpmconfigdir}/elfdeps --assume-exec --requires %{?__filter_GLIBC_PRIVATE:--filter-private} +%__elflib_magic ^ELF (32|64)-bit.*shared object +%__elflib_exclude_path ^/usr/lib/debug/ --- ./fileattrs/firmware.attr.orig 2011-05-18 09:27:44.000000000 +0000 diff --git a/rpm.changes b/rpm.changes index a29e766..1adf6ca 100644 --- a/rpm.changes +++ b/rpm.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Jun 3 15:19:02 CEST 2011 - mls@suse.de + +- add --assume-exec option to elfdeps, so that the dependency + generator really works for libs without x-bits + ------------------------------------------------------------------- Mon May 23 16:21:52 CEST 2011 - mls@suse.de diff --git a/rpm.spec b/rpm.spec index 71c86fb..855d62c 100644 --- a/rpm.spec +++ b/rpm.spec @@ -117,6 +117,7 @@ Patch79: findsupplements.diff Patch80: magic_and_path.diff Patch81: safemacro.diff Patch82: emptychangelog.diff +Patch83: assumeexec.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build # # avoid bootstrapping problem @@ -180,7 +181,7 @@ rm -f rpmdb/db.h %patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59 %patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69 %patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79 -%patch -P 80 -P 81 -P 82 +%patch -P 80 -P 81 -P 82 -P 83 #chmod 755 scripts/find-supplements{,.ksyms} #chmod 755 scripts/find-provides.ksyms scripts/find-requires.ksyms #chmod 755 scripts/firmware.prov