[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#571776: document symbols

Russ Allbery <rra@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

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


Attachment: signature.asc
Description: Digital signature

Reply to: