I've been playing around with making rpm use runtime-calculated directory
dependencies for additional transaction ordering hints - it gives a nice,
natural and consistent order when directory ownerships are clear. However
things can go very wrong if several unrelated packages own a directory,
for example:
multiprovided dir /usr/share/man/man1
-> filesystem-2.4.21-1.fc11.x86_64
-> gnome-power-manager-2.26.1-3.fc11.x86_64
-> policycoreutils-2.0.62-12.6.fc11.x86_64
Depending on input order, this could end up pulling gnome-power-manager
and a huge pile of gnome dependencies very early into the order where they
really cant be. So the result is a big mess, unless such multiply provided
directories are ignored in the ordering - easy enough to do, just a
lost opportunity to do something useful with existing data.
Using F11 x86_64 DVD as test material, here's the full output with the
owner packages included (lots of duplicates in there):
http://laiskiainen.org/tmp/f11-multiple-dirowners.txt ...and just the
directories which have more than one owner:
http://laiskiainen.org/tmp/f11-multiply-owned-dirs.txt
Translations, language pack packages and such are by far the biggest
single offender group, these have multiple direcotry ownerships all over
the place. The rest are mostly random individual cases of couple of
packages disagreeing with ownership of something or several sub-packages
owning more than they perhaps should.
The "couple of packages disagreeing" cases need to be looked at
case-by-case, but I think for the translations and such a clearer policy
would be good. Having the filesystem package and nothing else own most of
them seems fairly obvious but what should be done when a package
introduces a new translation that filesystem doesn't yet have? Require
filesystem to be updated every time (dunno how often this happens in
reality) or ...?
- Panu -
--
Fedora-packaging mailing list
Fedora-packaging@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-packaging