[pkg-nvidia-devel] nvidia-graphics-drivers* are ready for upload

Russ Allbery rra at debian.org
Sat Jul 17 23:44:50 UTC 2010

Russ Allbery <rra at debian.org> writes:

> I think we can't change the diversions and change which package manages
> them at the same time.  If nvidia-glx still owned the diversions,
> everything would work properly because the old nvidia-glx postrm would
> never be called.  Can we leave the diversions in the nvidia-glx package
> for the next upload and then move them in a subsequent upload?

No, that isn't going to work, having thought about it some more.  The
diversions have to be in the same package as the files, since
libgl1-nvidia has no way of ensuring that nvidia-glx is already upgraded
before attempting to install.  (We'd just create a circular dependency.)

And I'm not sure that this works even if we leave the diversions in their
existing locations, since the nvidia-glx postrm will still fail if the
diversion has been taken over by another package, even if it's pointing to
the same location.


The problem is specifically with moving diversions between packages, I
think.  If the diversions stay in the same package, changing where they
divert to will work, but moving them between packages runs into the
problem of breaking the postrm of the package from which they came.  This
is true even if the packages don't conflict, although you won't generally
see it if the packages don't conflict until you remove the other package.
And because it's a postrm for a different package, we can't use the
mechanisms that dpkg provides for ignoring postrm failures that are
available during upgrades.

It would be relatively easy to fix this if we had control over the postrm
of the old nvidia-glx package, but we don't; that's already installed, so
there isn't much we can do about it.

I'm stumped.  I'm not sure how we get there from here.

Russ Allbery (rra at debian.org)               <http://www.eyrie.org/~eagle/>

More information about the Pkg-nvidia-devel mailing list