desktop-packages team mailing list archive
-
desktop-packages team
-
Mailing list archive
-
Message #87509
[Bug 1394348] Re: nvidia-331.postrm calls `stop nvidia-persistenced`, but upstart job has been removed
This bug was fixed in the package nvidia-graphics-drivers-331 -
331.113-0ubuntu2
---------------
nvidia-graphics-drivers-331 (331.113-0ubuntu2) vivid; urgency=medium
[ Jason Gerard DeRose ]
* debian/templates/nvidia-graphics-drivers.postrm.in:
- Fix broken postrm script, plus add work-around for upgrading
from previous broken versions of the same (LP: #1394348).
- No longer call `stop nvidia-persistenced` as the Upstart job was
removed in 331.89-0ubuntu3.
- Remove "nvidia-persistenced" user/group in a failsafe manner
(ie. even if userdel fails, postrm will not exit with a non-zero
status).
* debian/templates/nvidia-graphics-drivers.preinst.in:
- Call `/usr/bin/stop-nvidia-persistenced` to work-around
the broken postrm script introduced in 331.89-0ubuntu3; without
this, upgrading between major nvidia driver versions (eg. 331=>343)
will break.
* debian/templates/nvidia-graphics-drivers.prerm.in:
- Call `/usr/bin/stop-nvidia-persistenced` so that the
nvidia-persistenced process is killed prior to the postrm script
being called (which means that removing the "nvidia-persistenced"
user/group can actually succeed).
-- Alberto Milone <alberto.milone@xxxxxxxxxxxxx> Wed, 10 Dec 2014 10:33:28 +0100
** Changed in: nvidia-graphics-drivers-331 (Ubuntu)
Status: Confirmed => Fix Released
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to nvidia-graphics-drivers-331 in Ubuntu.
https://bugs.launchpad.net/bugs/1394348
Title:
nvidia-331.postrm calls `stop nvidia-persistenced`, but upstart job
has been removed
Status in nvidia-graphics-drivers-331 package in Ubuntu:
Fix Released
Bug description:
nvidia-graphics-drivers-331 (331.89-0ubuntu5) will fail to
remove/purge nvidia-331 when /usr/bin/nvidia-persistenced is running.
The reason is the nvidia-331.postrm script hasn't been updated to
reflect that nvidia-persistenced is now started via udev rather than
Upstart (the Upstart job has been removed).
The offending lines in nvidia-331.postrm:
# Remove the nvidia-persistenced user
if id "$NVPD_USER" > /dev/null 2>&1; then
stop nvidia-persistenced || true
userdel "$NVPD_USER"
fi
When /usr/bin/nvidia-persistenced is running, `userdel "$NVPD_USER"`
will cause the postrm script to exit with a non-zero status, leaving
dpkg in a broken state.
I believe the correct fix is:
# Remove the nvidia-persistenced user
if id "$NVPD_USER" > /dev/null 2>&1; then
/usr/bin/stop-nvidia-persistenced
userdel "$NVPD_USER"
fi
Or for extra safety, I like this fix even better:
# Remove the nvidia-persistenced user
if id "$NVPD_USER" > /dev/null 2>&1; then
/usr/bin/stop-nvidia-persistenced || true
userdel "$NVPD_USER" || true
fi
Although /usr/bin/stop-nvidia-persistenced will exit with 0 even if
nvidia-persistenced wasn't running, I don't see any reason to risk a
broken dpkg state when there were problems stopping nvidia-
persistenced, or problems removing its user.
Same problem exists with nvidia-graphics-drivers-331-updates.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-331/+bug/1394348/+subscriptions
References