using debconf to clean up conflicting files

Andreas Beckmann debian at abeckmann.de
Tue Dec 7 10:31:00 UTC 2010


Hi,

what about using debconf to clean up the problem of files left over from
ancient installations? I never used debconf before and don't have time
to learn it now, so someone else would have to implement this.

What could be done:

in the nvidia-glx postinst there is already a check that lists possibly
conflicting files. Collect a list of them and ask the user what to do
with them:

  "The following files from ancient nvidia driver installations have
been found on your system:
      /usr/lib/libGL.so.11.22.33
      /usr/lib/libGL.so.22.33.44
  "These files conflict with the new nvidia driver. What do you want to do?
    * Delete them. (default)
    * Spawn a shell.
    * Ignore and fail the configuration.


In addition to this, we should have a preinst check for remains of the
nvidia installer. Ideally this should go into its own package (e.g.
nvidia-common, better names welcome) and (nearly) every package should
have Pre-Depends: nvidia-common. But as we cannot introduce new packages
now, best would be to stick this into the preinst of
libgl1-nvidia-alternatives. The new nvidia-common should also include
the pre-install hook for the nvidia-installer (to prevent using
nvidia-installer after the Debian packages were installed) I recently
added to libgl1-nvidia-alternatives in SVN.

In the preinst of libgl1-nvidia-alternatives (or the postinst of
nvidia-common to be introduced later), check for the existance of
  /usr/bin/nvidia-installer
  /usr/bin/nvidia-uninstall
and if one of them exists, ask the user

  "You previously used the nvidia-installer to install the nvidia
graphics driver. This method is incompatible with the Debian packaging
and it is highly recommended to run the nvidia uninstall procedure
before proceeding with the nvidia driver Debian package installation.
  * run nvidia-uninstall (default)
  * spawn a shell to examine this manually
  * abort the Debian package nvidia driver installation

If nvidia-uninstall (or nvidia-installer --uninstall) failed, add
another choice:
  * manually remove the files remaining from nvidia installer
although I currently don't know what to remove besides
/usr/bin/nvidia-installer and /usr/bin/nvidia-uninstall

The (pre-)configuration should fail as long as /usr/bin/nvidia-installer
does still exist.

When creating debconf templates for this, use reasonably high priority
so that people with default settings get to see them.


Andreas



More information about the pkg-nvidia-devel mailing list