rpm-find-requires - częściowe wymaganie +x dla binarek

Jakub Bogusz qboosh w pld.org.pl
Pią, 28 Cze 2002, 12:21:26 CEST


Zastanawia mnie po co jest warunek:

|  elfexerequires=`for f in $elfexelist; do
>>     if [ -x $f ]; then
|          objdump -p $f|awk '/NEEDED/ {print $2}'
|      fi
|  done | sed "s/['\"]/\\\&/g" | grep -v 'libNoVersion.so' | sort -u
|  `

I tak to, czy plik jest binarką jest sprawdzane wcześniej poleceniem file.
IMO ten if jest do wywalenia.
Zwłaszcza, że kawałek dalej jest tworzenie listy elflibverrequires, przy
której już ten warunek nie jest sprawdzany.
Okazuje się, że czasami binarki są instalowane w $RPM_BUILD_ROOT
z niewłaściwymi uprawnieniami (np. 600), przez co generowana jest tylko
część wymagań co do bibliotek.
Drugi sposób to chmod +x w specu, ale po co tak kombinować?

W namierzonym przypadku (xlockmore) było to:
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libm.so.6(GLIBC_2.0)
glibc

zamiast:
libcrypt.so.1
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libdl.so.2
libGL.so.1
libGLU.so.1
libICE.so.6
libm.so.6
libm.so.6(GLIBC_2.0)
libpam.so.0
libSM.so.6
libstdc++.so.2.10
libX11.so.6
libXext.so.6
libXpm.so.4
glibc
libstdc++
pam
XFree86-libs


-- 
Jakub Bogusz



Więcej informacji o liście dyskusyjnej pld-devel-pl