On 10/17/2005 05:45:22 PM, Michal Jaegermann wrote:
On Mon, Oct 17, 2005 at 08:51:12PM +0100, Paul Jakma wrote:
>
> Another possibility: Reference count the files. Last package
> uninstalled removes the file.
That is exactly what to me looks like something sane in the whole
context. Similar to how 'unlink' works. Files are removed only
when the last reference is gone. It appears that something of that
sort already happens for directories but maybe I am misinterpreting
some observations.
Obviously you are still left with cases, like mentioned /bin/tcsh,
where you have really different files but with the same name and you
install both "owner" packages.
I think that allowing multiple owners and ref-counting is the right thing to
do. However, I also believe that librpm had better check that the files are
identical (judged by size and md5 sum) before it allows the overlapping
install. Nasty consequences are likely if this is not enforced.
With x86_64 multilib dual ownership allready occurs in rpmdb, for example:
# rpm -qf --queryformat "%{name}-%{version}-%{release}.%{arch}\n"
/usr/share/man/man3/zlib.3.gz
zlib-devel-1.2.2.2-5.fc4.x86_64
zlib-devel-1.2.2.2-5.fc4.i386
Not sure how that works today, though.
Regards, Willem Riede.