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