[devel] Оверхед в зависимостях
Igor Zubkov
=?iso-8859-1?q?icesik_=CE=C1_mail=2Eru?=
Пн Мар 19 14:18:04 MSK 2007
Привет, Всем!
Пока тут likostis@ ругается с sbolshakov@ по поводу mar и propagator, я тут
покопался в очередной раз в rpmlint. В инкаминг уже ушёл свежий
rpmlint-0.79-alt1 со следующими изменениями:
* Вск Мар 18 2007 Igor Zubkov <icesik на altlinux.org> 0.79-alt1
- 0.71 -> 0.79
- update Patch0 for old rpm
- add manpage
- enable all checks in rpmlint
Итого, первое что я поймал интересного...
[icesik на iceberg ice]$ [icesik на iceberg 20070318]$ cat
unused-direct-shlib-dependency.installed
W: liberuby
unused-direct-shlib-dependency /usr/lib/liberuby.so.1.0.3 /lib/libdl.so.2
W: liberuby
unused-direct-shlib-dependency /usr/lib/liberuby.so.1.0.3 /lib/libcrypt.so.1
W: liberuby
unused-direct-shlib-dependency /usr/lib/liberuby.so.1.0.3 /lib/libm.so.6
W: libportaudio
unused-direct-shlib-dependency /usr/lib/libportaudio.so.0.0.18 /lib/libm.so.6
W: libwvstreams
unused-direct-shlib-dependency /usr/lib/libwvutils-4.0.so /usr/lib/libxplc-0.3.so
W: libwvstreams
unused-direct-shlib-dependency /usr/lib/libwvutils-4.0.so /usr/lib/libxplc-cxx-0.3.so
W: libwvstreams
unused-direct-shlib-dependency /usr/lib/libwvutils-4.0.so /lib/libdl.so.2
W: libwvstreams
unused-direct-shlib-dependency /usr/lib/libwvstreams-4.0.so /usr/lib/libxplc-0.3.so
W: libwvstreams
unused-direct-shlib-dependency /usr/lib/libwvstreams-4.0.so /lib/libdl.so.2
W: libwvstreams
unused-direct-shlib-dependency /usr/lib/libwvbase-4.0.so /usr/lib/libxplc-0.3.so
W: libwvstreams
unused-direct-shlib-dependency /usr/lib/libwvbase-4.0.so /lib/libdl.so.2
W: libqca
unused-direct-shlib-dependency /usr/lib/libqca.so.1.0.0 /lib/libpthread.so.0
W: libqca
unused-direct-shlib-dependency /usr/lib/libqca.so.1.0.0 /lib/libm.so.6
W: libmesa-devel
unused-direct-shlib-dependency /usr/lib/libGL.so /lib/libm.so.6
W: t1lib
unused-direct-shlib-dependency /usr/lib/libt1x.so.5.0.2 /usr/lib/libSM.so.6
W: t1lib
unused-direct-shlib-dependency /usr/lib/libt1x.so.5.0.2 /usr/lib/libICE.so.6
W: t1lib
unused-direct-shlib-dependency /usr/lib/libt1x.so.5.0.2 /usr/lib/libXext.so.6
W: libmpeg4ip
unused-direct-shlib-dependency /usr/lib/libmpeg4ip_fposrec.so.0.0.0 /usr/lib/libstdc++.so.6
W: libmpeg4ip
unused-direct-shlib-dependency /usr/lib/libhttp.so.0.0.0 /usr/lib/libstdc++.so.6
W: libldap
unused-direct-shlib-dependency /usr/lib/libldap_r-2.2.so.7.0.20 /lib/libkrb5.so.3
W: libldap
unused-direct-shlib-dependency /usr/lib/libldap_r-2.2.so.7.0.20 /lib/libk5crypto.so.3
W: libldap
unused-direct-shlib-dependency /usr/lib/libldap_r-2.2.so.7.0.20 /lib/libkrb5support.so.0
W: libldap
unused-direct-shlib-dependency /usr/lib/libldap_r-2.2.so.7.0.20 /lib/libcom_err.so.2
W: libldap
unused-direct-shlib-dependency /lib/libldap-2.2.so.7.0.20 /lib/libkrb5.so.3
W: libldap
unused-direct-shlib-dependency /lib/libldap-2.2.so.7.0.20 /lib/libk5crypto.so.3
W: libldap
unused-direct-shlib-dependency /lib/libldap-2.2.so.7.0.20 /lib/libkrb5support.so.0
W: libldap
unused-direct-shlib-dependency /lib/libldap-2.2.so.7.0.20 /lib/libcom_err.so.2
W: libldap
unused-direct-shlib-dependency /lib/liblber-2.2.so.7.0.20 /lib/libkrb5.so.3
W: libldap
unused-direct-shlib-dependency /lib/liblber-2.2.so.7.0.20 /lib/libk5crypto.so.3
W: libldap
unused-direct-shlib-dependency /lib/liblber-2.2.so.7.0.20 /lib/libkrb5support.so.0
W: libldap
unused-direct-shlib-dependency /lib/liblber-2.2.so.7.0.20 /lib/libcom_err.so.2
W: libldap
unused-direct-shlib-dependency /lib/liblber-2.2.so.7.0.20 /lib/libresolv.so.2
W: libldap
unused-direct-shlib-dependency /usr/lib/libslapi-2.2.so.7.0.20 /lib/libkrb5.so.3
W: libldap
unused-direct-shlib-dependency /usr/lib/libslapi-2.2.so.7.0.20 /lib/libk5crypto.so.3
W: libldap
unused-direct-shlib-dependency /usr/lib/libslapi-2.2.so.7.0.20 /lib/libkrb5support.so.0
W: libldap
unused-direct-shlib-dependency /usr/lib/libslapi-2.2.so.7.0.20 /lib/libcom_err.so.2
W: libldap
unused-direct-shlib-dependency /usr/lib/libslapi-2.2.so.7.0.20 /lib/libresolv.so.2
W: libgpm
unused-direct-shlib-dependency /usr/lib/libgpm.so.1.19.0 /lib/libm.so.6
W: libungif
unused-direct-shlib-dependency /usr/lib/libungif.so.4.1.4 /usr/lib/libSM.so.6
W: libungif
unused-direct-shlib-dependency /usr/lib/libungif.so.4.1.4 /usr/lib/libICE.so.6
W: libxplc
unused-direct-shlib-dependency /usr/lib/libxplc-cxx-0.3.so /lib/libm.so.6
W: libxplc
unused-direct-shlib-dependency /usr/lib/libxplc-cxx-0.3.so /lib/libgcc_s.so.1
W: libxplc
unused-direct-shlib-dependency /usr/lib/libxplc-0.3.so /lib/libm.so.6
W: libxplc
unused-direct-shlib-dependency /usr/lib/libxplc-0.3.so /lib/libgcc_s.so.1
W: libstartup-notification
unused-direct-shlib-dependency /usr/lib/libstartup-notification-1.so.0.0.0 /usr/lib/libSM.so.6
W: libstartup-notification
unused-direct-shlib-dependency /usr/lib/libstartup-notification-1.so.0.0.0 /usr/lib/libICE.so.6
W: libgiblib
unused-direct-shlib-dependency /usr/lib/libgiblib.so.1.0.6 /usr/lib/libfreetype.so.6
W: libgiblib
unused-direct-shlib-dependency /usr/lib/libgiblib.so.1.0.6 /lib/libz.so.1
W: libgiblib
unused-direct-shlib-dependency /usr/lib/libgiblib.so.1.0.6 /lib/libdl.so.2
W: libgiblib
unused-direct-shlib-dependency /usr/lib/libgiblib.so.1.0.6 /usr/lib/libXext.so.6
W: libgiblib
unused-direct-shlib-dependency /usr/lib/libgiblib.so.1.0.6 /usr/lib/libX11.so.6
W: libgiblib
unused-direct-shlib-dependency /usr/lib/libgiblib.so.1.0.6 /lib/libm.so.6
W: libxml++
unused-direct-shlib-dependency /usr/lib/libxml++-1.0.so.1.0.4 /lib/libz.so.1
W: libxml++
unused-direct-shlib-dependency /usr/lib/libxml++-1.0.so.1.0.4 /lib/libm.so.6
W: libsigc++2.0
unused-direct-shlib-dependency /usr/lib/libsigc-2.0.so.0.0.0 /lib/libm.so.6
W: libstdc++3.3
unused-direct-shlib-dependency /usr/lib/libstdc++.so.5.0.7 /lib/libm.so.6
W: libXTrap
unused-direct-shlib-dependency /usr/lib/libXTrap.so.6.4.0 /usr/lib/libSM.so.6
W: libXTrap
unused-direct-shlib-dependency /usr/lib/libXTrap.so.6.4.0 /usr/lib/libICE.so.6
W: libopenal
unused-direct-shlib-dependency /usr/lib/libopenal.so.0.0.8 /usr/lib/libvorbis.so.0
[icesik на iceberg 20070318]$
Теперь rpmlint умеет ловить такие вещи:
[icesik на iceberg ~]$ rpm -q libopenal
libopenal-0.0.8-alt1.1
[icesik на iceberg ~]$ rpm -ql libopenal | grep lib
/usr/lib/libopenal.so.0
/usr/lib/libopenal.so.0.0.8
[icesik на iceberg ~]$ ldd -u -r /usr/lib/libopenal.so.0.0.8
Unused direct dependencies:
/usr/lib/libvorbis.so.0
[icesik на iceberg ~]$
Это классно, но... rpmlint сейчас может искать такие зависимости только в
установленных пакетах. Надо бы попргобовать разобратся, может получится
сделать такой же поиск по срезу Сизифа без установки пакетов.
На всякий случай, приведу список пакетов:
liberuby
libportaudio
libwvstreams
libqca
libmesa-devel
t1lib
libmpeg4ip
libldap
libgpm
libungif
libxplc
libstartup-notification
libgiblib
libxml++
libsigc++2.0
libstdc++3.3
libXTrap
libopenal
Что бы получить такой список в домашних условиях, нужен свежий rpmlint и
rpmlint -a | grep unused-direct-shlib-dependency >
unused-direct-shlib-dependency.installed
Ну и на последок вопрос. Что будем делать с этими пакетами? Проще всего,
отправить эти пакеты на автоматическую пересборку. Или я ошибаюсь? Ваши
предложения?
Продолжение следует...
--
icesik
Подробная информация о списке рассылки Devel