Russ Allbery <r...@debian.org> (13/01/2012): > Yes, but there was some discussion in the Policy bug asking why shlibs > files were required when they're not used if a symbols file is present, > and while I originally argued that keeping them both made sense, I came > around to that position after reviewing the bug discussion. It doesn't > hurt anything, but there doesn't really seem to be any point in providing > shlibs if symbols is present.
Last I checked, one needs an shlibs file to get proper dependencies into udebs, which explains why libx* packages still use some -V flag in their dh_makeshlibs call. Demo: xorg-server/experimental build-depends on libpciaccess (>= version- in-unstable), and the symbols added in this version are really needed (see below). Rebuilding libpciaccess to drop the -V flag, and rebuilding xorg-server against it generates this change in xserver-xorg-core-udeb's dependencies: | Depends: […], [-libpciaccess0-udeb (>= 0.12.902),-] {+libpciaccess0-udeb,+} […] → Fail. “Those new symbols really are needed”: | $ grep 902 ../lib/libpciaccess.git/debian/*symbols | pci_device_map_legacy@Base 0.12.902 | pci_device_unmap_legacy@Base 0.12.902 | $ for i in $(find debian/xserver-xorg-core-udeb -type f); do if nm -D $i 2>&1|grep -qs pci_device_'.*'map_legacy; then echo $i; fi; done | debian/xserver-xorg-core-udeb/usr/lib/xorg/modules/libvgahw.so | debian/xserver-xorg-core-udeb/usr/lib/xorg/modules/libint10.so Diff in the libpciaccess package to exhibit that: | - dh_makeshlibs -V'libpciaccess0 (>= 0.12.902)' --add-udeb=$(PACKAGE)-udeb -- -c4 | + dh_makeshlibs --add-udeb=$(PACKAGE)-udeb -- -c4 Mraw, KiBi.
signature.asc
Description: Digital signature