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

Re: Bug#549990: dh_makeshlibs: Please use ldconfig -X



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


Reply to: