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

Bug#528975: lintian: Check for files in /usr/lib64



Kurt Roeckx <kurt@roeckx.be> writes:

> On Mon, May 25, 2009 at 06:22:39PM +0100, Adam D. Barratt wrote:
>> On Sat, 2009-05-16 at 21:48 +0200, Kurt Roeckx wrote:
>> > Some packages ship a file in /usr/lib64/ on amd64, which 
>> > is a symlink (provided by libc6).  This breaks the system
>> > when that package is removed.
>> 
>> Where "that package" is libc6 or the other packages installing direct in
>> to the *64 directories?  I only ask because from a quick test in a
>> chroot, installing and purging such a package (hardinfo, predictably :-)
>
> Last time I've tried that, the /usr/lib64 symlink was gone,
> and I think that was in the past year.  Maybe something changed
> in dpkg in the mean time.
>
>
> Kurt

That would be a dpkg bug or regression. A directory can be a link
somewhere else and that must be preserved. At least before bind mounts
that was the way to move data to another disk with more space.

What normaly breaks is libc6. dpkg complains that /usr/lib64 is also
contained in another package (that with the directory) and refuses to
unpack the symlink. Symlinks are handled like files and can only be in
one package. So no more libc6 upgrades unless --force-overwrite is
used.


Arguably there is a dpkg bug here too. dpkg should not allow a
directory of the same name as a symlink in another package. But for
directories there is plainly no duplicate file check being done as
dpkg has no knowledge of the file type of already installed files /
dirs / links in its database.

MfG
        Goswin



Reply to: