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

Bug#2828: Horrible aliasing problem (was xosview)



This is really horrible.  dpkg keeps a database of all the files on
the system, with the filenames stored being the ones found in the .deb
files.

It has to follow symbolic links when installing, so that you can move
a filesystem using a symlink without dpkg wiping out the symlink and
breaking everything.

It can't possibly attempt to do a stat on each filename or anything to
try to find out which files are unique.

So how is it supposed to detect that two packages (or two versions of
the same package) have installed the same file by different names ?

I suppose I could just throw up my hands in the air and say "don't do
that then, dpkg will DTWrongT", but this seems most unsatisfactory.

I can't keep the device and inode numbers of the files in the dpkg
file lists, because these may change (when a system is repartitioned
or restored from backup, for example).

I can't store the `canonical' pathname, because this would not only
break when the sysadmin moved a directory, but it would also mean that
if the sysadmin made eg /usr a link to /disks/hda/bigpartition
then dpkg --search wouldn't find any files if you asked it for
/usr/bin/hello or whatever.

Aaaaaaarrgh !  The classic pointer-aliasing problem strikes
filesystems ...

Suggestions and/or sympathy welcome.

Ian.


Reply to: