[Rpm-maint] [PATCH] fix find-requires in the presence of private flags

Lennert Buytenhek buytenh at wantstofly.org
Fri Mar 7 08:39:55 UTC 2008

[ please CC on replies, not on the list ]

autodeps/linux.req expects the 'Version References' section to be
the very last section in objdump -p output and nothing else to follow
it, but at least on Linux/ARM, you can get output a la:

	Version References:
	  required from ld-linux.so.3:
	    0x0d696914 0x00 06 GLIBC_2.4
	  required from libacl.so.1:
	    0x05822450 0x00 05 ACL_1.0
	  required from libgcc_s.so.1:
	    0x0b792655 0x00 04 GCC_3.5
	  required from librt.so.1:
	    0x0d696914 0x00 03 GLIBC_2.4
	  required from libc.so.6:
	    0x0d696914 0x00 02 GLIBC_2.4
	private flags = 4000002: [Version4 EABI] [has entry point]

This causes the built package (if the external dep generator is
used) to end up with dependencies such as:

	package: firefox - from f8
	  unresolved deps: 

The attached patch makes find-requires stop parsing dependencies
as soon as a [A-Za-z] character is found in column 1.

Issue found by Rabeeh Khoury <rabeeh at marvell.com>

Signed-off-by: Lennert Buytenhek <buytenh at marvell.com>

diff -up rpm- rpm-
--- rpm-	2008-03-06 22:23:53.000000000 +0100
+++ rpm-	2008-03-06 22:24:19.000000000 +0100
@@ -113,6 +113,7 @@ for f in $liblist $exelist ; do
 	(START==2) && (LIBNAME!="") && ($4!="") && (($4~/^GLIBC_*/) || ($4~/^GCC_*/)) {
 	    print LIBNAME "(" $4 ")'$lib64'";
+	/^[A-Za-z]/ { START=3; }
 done | sort -u


More information about the Rpm-maint mailing list