Tom 'spot' Callaway wrote:
On Tue, 2006-07-11 at 10:30 -0400, Jesse Keating wrote:
I'm running into a situation with this rule.
The xorg package set. There is xorg-x11-server-Xorg, and a lot of
xorg-x11-drv-foo packages. The drv packages drop files
in /usr/lib/xorg/modules and /usr/lib/xorg/modules/drivers (lib64 for
obvious places). However, xorg-x11-server-Xorg also puts files there.
Normally we'd say that xorg-x11-server-Xorg must own those directories and
not the drivers. BUT xorg-x11-server-Xorg requires drivers, drivers require
Xorg, insert dep loop here.
I'm no expert on Xorg, but I'm not sure why the Xorg server requires any
drivers. While this is certainly the most common use case, is this
really a hard requires? This looks to be a nasty dependency loop.
Yep. The drivers require the server, at least in order to be useful
for something. Technically the drivers do not use the server of
course though. One could argue that the drivers do not /require/
the server, but that they just don't do anything useful if it is
not around.
The anaconda team requested that the X server rpm have some hard
dependencies on certain specific drivers, to ensure that at least
basic mouse/keyboard works even if all drivers are not installed.
I don't remember the specifics of it, but jeremy could provide
details.
The X folks think that when RPM is faced with this, it will make an arbitrary
decision at where to do the transaction, and there could be a case where
xorg-x11-server-Xorg is removed before a drv package, and unless all the drv
packages own the modules and drivers dirs, those directories could get left
behind.
Every single driver package requires xorg-x11-server-Xorg. RPM should
never remove it before all the driver packages are gone.
Even still, erase ordering is not properly implemented in any shipping
version of RPM. This rule is designed to aid such code if it is ever
written.
If you uninstall all of X entirely in one rpm transaction, I think rpm
just uninstalls them in whatever order they're specified, or some other
random order. This could result in the X server rpm which owns the
dirs being removed before the driver packages which put files in them.
Based on this understanding (which may or may not be correct, I haven't
tested as of late), you could end up with the directory left behind
after uninstallation of all of X. Not that that's a major issue,
but it is a bit sloppy.
If someone feels strong enough about the modules dir ownership being
a problem though, it's easy to change the packages to comply with any
Fedora packaging policies. Doesn't matter to me either way.
--
Mike A. Harris,
Systems Engineer, X11 Development team,
Red Hat Canada, Ltd.
--
Fedora-packaging mailing list
Fedora-packaging@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-packaging