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

Re: when to call ldconfig



On Tue, Feb 13, 2001 at 09:56:08AM -0800, Joey Hess wrote:
> I belive it needs to be called in the postrm in the remove case, so
> ldconfig gets told libraries no longer exist. At least debhelper does
> so.
> 
> The packaging manual seems clear to me. It says you must not call
> ldconfig in postrm/preinst scripts during upgrades, because it interacts
> badly with dpkg in those cases due to temporary file names used by dpkg
> when it is in the middle of upgrading a package.

So maybe the following wording would be better?

   Any package installing shared libraries in a directory that's listed
   in `/etc/ld.so.conf' or in one of the default library directories of
   `ld.so' (currently, these are `/usr/lib' and `/lib') must call
   `ldconfig' in its `postinst' script if and only if the first argument
-  is `configure'.  However, it is important not to call `ldconfig' in
+  is `configure'.  It must also call `ldconfig' in its 'postrm' script
+  to remove the library information from the database.  However, it is
+  important not to call `ldconfig' in
   the postrm or preinst scripts in the case where the package is being
   upgraded (see Section 6.5, `Details of unpack phase of installation or
   upgrade'), as `ldconfig' will see the temporary names that `dpkg' uses
   for the files while it is installing them and will make the shared
   library links point to them, just before `dpkg' continues the
   installation and removes the links!

   Julian

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

         Julian Gilbey, Dept of Maths, Queen Mary, Univ. of London
       Debian GNU/Linux Developer,  see http://people.debian.org/~jdg
  Donate free food to the world's hungry: see http://www.thehungersite.com/



Reply to: