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

Jakub Bogusz qboosh at pld.org.pl
Fri Jun 28 12:21:26 CEST 2002


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



More information about the pld-devel-pl mailing list