Josselin Mouette wrote:
> currently the postinst in dh_makeshlibs calls ldconfig. However, when
> called without arguments, it updates symbolic links, which is useless
> since they are already correct in the packages themselves.
>
> It can also trigger bugs like #549714; here the user has a file he
> shouldn’t have, but it would not have broken his system without calling
> ldconfig.
>
> Therefore, please call ldconfig -X instead of ldconfig. It will still
> rebuild the cache, but not update the symlinks. This might save a few
> disk seeks during upgrades as well. I have discussed this with the glibc
> maintainers, and they agreed with the idea of this change.
I did some investigation last week to see what unwanted effects this
might have:
http://lintian.debian.org/tags/ldconfig-symlink-missing-for-shlib.html
usr/lib/libgnuintl.so.8 usr/lib/preloadable_libintl.so libgnuintl.so.8
This seems to be a false positive; gettext provides
preloadable_libintl.so, but ldconfig does not make a symlink to
libgnuintl.so.8.
http://lintian.debian.org/tags/ldconfig-symlink-referencing-wrong-file.html
usr/lib/libXaw.so.7 -> libXaw7.so.7 instead of libXaw7.so.7.0.0
Another false positive; in libxaw7, libXaw7.so.7.0.0 is the file, and
libXaw7.so.7 is the symlink.
Policy currently says this:
The run-time library package should include the symbolic link that
`ldconfig' would create for the shared libraries. For example, the
`libgdbm3' package should include a symbolic link from
`/usr/lib/libgdbm.so.3' to `libgdbm.so.3.0.0'. This is needed so that
the dynamic linker (for example `ld.so' or `ld-linux.so.*') can find
the library between the time that `dpkg' installs it and the time that
`ldconfig' is run in the `postinst' script.[3]
That should not prevent use of ldconfig -X, but it will be out of date
once ldconfig -X is in use.
If *everything* used ldconfig -X this could in theory fix #224450 for
new installs. There are more practical ways to fix that bug though.
At the moment, I'm leaning toward making this change.
--
see shy jo
Attachment:
signature.asc
Description: Digital signature