[devel] /etc/ld.so.cache
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Окт 6 11:04:09 MSD 2008
On Mon, Sep 15, 2008 at 11:11:47AM +0400, Alexey Tourbin wrote:
> /usr/lib/rpm/0ldconfig.filetrigger
> 1 #!/bin/sh
> 2
> 3 IFS=
> 4 while read -r f; do
> 5 case "$f" in
> 6 /lib/lib*/*.so* |\
> 7 /lib64/lib*/*.so* |\
> 8 /usr/lib/lib*/*.so* |\
> 9 /usr/lib64/lib*/*.so* )
> 10 # false positives
> 11 continue ;;
> 12 /lib/lib*.so |\
> 13 /lib64/lib*.so |\
> 14 /usr/lib/lib*.so |\
> 15 /usr/lib64/lib*.so )
> 16 # maybe soname
> 17 if set $f.* && [ -f "$1" ]; then
> 18 continue
> 19 fi
> 20 ;;
> 21 /lib/lib*.so.* |\
> 22 /lib64/lib*.so.* |\
> 23 /usr/lib/lib*.so.* |\
> 24 /usr/lib64/lib*.so.* )
> 25 # soname
> 26 ;;
> 27 /etc/ld.so.conf.d/*.conf)
> 28 ;;
> 29 *) continue ;;
> 30 esac
> 31 exec /sbin/ldconfig
> 32 done
>
> Такой триггер должен кооркетно обрабатывать установку и удаление *-devel
> пакетов с симлинками (для них запускать ldconfig не надо).
Однако же ldconfig записывает в кеш в том числе и линковочные
симлинки, название которых не совпадает с soname'ом.
$ ldconfig -p |fgrep libz.
libz.so.1 (libc6,x86-64) => /lib64/libz.so.1
libz.so.1 (libc6) => /lib/libz.so.1
libz.so (libc6,x86-64) => /usr/lib64/libz.so
$ ldconfig -p |fgrep libglib-2
libglib-2.0.so.0 (libc6,x86-64) => /lib64/libglib-2.0.so.0
libglib-2.0.so (libc6,x86-64) => /usr/lib64/libglib-2.0.so
$
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20081006/c2d1285d/attachment-0002.bin>
Подробная информация о списке рассылки Devel