[F8/multilib] {,/usr}/{,s}bin64 (was: Split libperl from perl)

Axel Thimm Axel.Thimm at ATrpms.net
Wed Apr 25 17:39:42 UTC 2007


On Wed, Apr 25, 2007 at 07:09:32PM +0200, Patrice Dumas wrote:
> On Wed, Apr 25, 2007 at 06:52:21PM +0200, Axel Thimm wrote:
> > Consider (*)
> > 
> > yum install foo.i386
> > yum install foo.x86_64
> > yum remove foo.x86_64
> > rpm -V foo
> > (same for smart and apt)
> > 
> > The current multilib model in rpm with blindly overwriting files is
> > broken by design (e.g. unfixable in shared bindir environments). You
> > cannot consider the packaging system a stateless machine anymore.
> 
> Another way of avoiding this issue, however, would be to have
> normal conflicts in (/usr)/(s)bin. All the multilib enabled packages
> would have to do subpackages without conflicting files and only those
> subpackaged could be multilib parallel installable. This is another way 
> to solve the issue.

Yes, but it does involve much more work to do. And if we assume that
every package is in principle candidate for multilib, we would end
with a guidelines to have all packages using bindir to split off
subpackages. The setting _bindir=/usr/bin64 would already fix the
majority of packages w/o having to touhc the specfile.

> It might involve wrapper scripts for executable we really want to be
> parallel installable, this issue is indeed better solved with
> different (/usr)/(s)bin, but I guess that the number of executables
> we want to have in paralell is not a lot.

In theory everything. The idea is to not even have to choose what is
worth multilibbing or not. That's the paths we've taken until now and
that is causing so much administrative overhead.

> > Adding to the design issues there are also implementation bugs with
> > %docs and %langs that get uninstalled when the i386 package gets
> > uninstalled and so on. 
> 
> That looks like a bug, not a real issue.

The real issue is that these bugs get never fixed.

> > Furthermore foo.i386 and foo.x86_64 packages
> > often alread conflict on other files which is silently muted during
> > coinstallation.
> 
> How is it possible?

you mean how does rpm do that, or how do the packages and up having
conflicting contents?

I just did an RHEL5 full install (we're talking Fedora, but for now I
only have these numbers fresh to quote, FC6 will be similar):
Momentarily after installing the system I did an rpm -Va and examined
the output: It was either 53 or 58 packages that were not verifying
due to multilib problems.

Just as an example:
# rpm -V samba-common
.......T   /etc/rc.d/init.d/winbind
.......T c /etc/samba/lmhosts
.......T c /etc/samba/smb.conf
.......T   /usr/include/libmsrpc.h
.......T   /usr/include/libsmbclient.h
.......T d /usr/share/man/man1/ntlm_auth.1.gz
.......T d /usr/share/man/man1/profiles.1.gz
.......T d /usr/share/man/man1/smbcquotas.1.gz
.......T d /usr/share/man/man1/testparm.1.gz
.......T d /usr/share/man/man1/vfstest.1.gz
.......T d /usr/share/man/man1/wbinfo.1.gz
.......T d /usr/share/man/man5/lmhosts.5.gz
.......T d /usr/share/man/man5/smb.conf.5.gz
.......T d /usr/share/man/man7/libsmbclient.7.gz
.......T d /usr/share/man/man7/pam_winbind.7.gz
.......T d /usr/share/man/man8/net.8.gz
.......T d /usr/share/man/man8/smbpasswd.8.gz
.......T d /usr/share/man/man8/winbindd.8.gz
......G.   /var/cache/samba/winbindd_privileged
......G.   /var/cache/samba/winbindd_privileged

> > It is getting so much convoluted with rpm, yum and anaconda exceptions
> > and bug workarounds that we need a clean model. And packaging wise
> > this means no more overwriting of files with foreign contents.
> 
> Except if they have the same md5 sum?

Yes and no. One can discuss the usefulness of mtime verification (I
personally think it is useful, and I think the packages can be made to
have the same timestamps on both archs, just use install -p and for
generated files use touch -r from the master files), but there is far
more important metadata like owner/group and mode of the files that
should never be ignored and allowed to conflict.
-- 
Axel.Thimm at ATrpms.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-maintainers/attachments/20070425/a849ed0c/attachment.sig>


More information about the Fedora-maintainers mailing list