[Bug 1930573] Re: usrmerge error after upgradingfrom 20.10 to 21.04
Lukas Märdian
1930573 at bugs.launchpad.net
Tue Oct 26 10:41:23 UTC 2021
** Description changed:
+ [Impact]
+
+ * Starting with Ubuntu Hirsute, the 'usrmerge' package is pulled into
+ the default installation, doing the merging of /{bin,sbin,lib}/ and
+ /usr/{bin,sbin,lib} on upgrade. If there are left-over generated files
+ it will fail with an error like this:
+
+ Setting up usrmerge (24ubuntu3) ...
+
+ FATAL ERROR:
+ Both /lib/udev/hwdb.bin and /usr/lib/udev/hwdb.bin exist.
+
+
+ The upgrade has completed but there were errors during the upgrade
+ process.
+
+ * We want a fix in Hirsute+ that clears the old location (e.g.
+ /lib/udev/hwdb.bin) if the file has already been re-generated at the new
+ location (e.g. /usr/lib/udev/hwdb.bin).
+
+
+ [Test Plan]
+
+ Prepare a recent, but non-usrmerge'd system (e.g. launch Bionic and upgrade to Focal then Hirsute):
+ $ lxc launch ubuntu:bionic usrmerge
+ # do-release-upgrade
+ [...]
+ # reboot
+ # ls -la / # to make sure that /lib is not (yet) a link to /usr/lib
+
+ Simulate duplicated generated files & upgrade:
+ # mkdir -p /usr/lib/udev && cp /lib/udev/hwdb.bin /usr/lib/udev/
+ # vim /etc/update-manager/release-upgrades # change to "Prompt=normal"
+ # do-release-upgrade
+ [...]
+ => Upgrade fails, press "C" to cancel bug report
+ => "The upgrade has completed but there were errors during the upgrade process."
+
+ Verify that the script still fails:
+ # /usr/lib/usrmerge/convert-usrmerge
+ FATAL ERROR:
+ Both /lib/udev/hwdb.bin and /usr/lib/udev/hwdb.bin exist.
+
+ Install relevant usrmerge package:
+ # wget https://launchpad.net/ubuntu/+archive/primary/+files/usrmerge_VER_all.deb
+ # dpkg -i usrmerge_VER_all.deb
+ => The system has been successfully converted.
+ # /usr/lib/usrmerge/convert-usrmerge
+ => The system has been successfully converted.
+ # echo $?
+ 0
+
+ [Where problems could occur]
+
+ * The upload modifies the convert-usrmerge script, adding special handling for certain, generated files.
+ * If something goes wrong, it could delete the wrong state of udev's hwdb which would be re-generated by systemd-hwdb-update.service
+ * It could also interrupt the upgrade processes on installation of the usrmerge package, asking the user for manual action (e.g. solving some file conflict and re-running /usr/lib/usrmerge/convert-usrmerge)
+
+ [Other Info]
+
+ * The patch was sent to Debian: https://bugs.debian.org/997866
+
+
+ === Original Description ===
+
I got the following error after upgrading from 20.10 to 21.04:
-
Setting up usrmerge (24ubuntu3) ...
FATAL ERROR:
Both /lib/udev/hwdb.bin and /usr/lib/udev/hwdb.bin exist.
You can try correcting the errors reported and running again
/usr/lib/usrmerge/convert-usrmerge until it will complete without errors.
Do not install or update other Debian packages until the program
has been run successfully.
dpkg: error processing package usrmerge (--configure):
- installed usrmerge package post-installation script subprocess returned error exit status 1
+ installed usrmerge package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
- usrmerge
+ usrmerge
-
- Running "sudo dpkg --configure -a", "sudo apt -f install" or "sudo /usr/lib/usrmerge/convert-usrmerge" give exactly the same error.
+ Running "sudo dpkg --configure -a", "sudo apt -f install" or "sudo
+ /usr/lib/usrmerge/convert-usrmerge" give exactly the same error.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to usrmerge in Ubuntu.
https://bugs.launchpad.net/bugs/1930573
Title:
usrmerge error after upgradingfrom 20.10 to 21.04
Status in usrmerge package in Ubuntu:
Confirmed
Status in usrmerge source package in Hirsute:
New
Status in usrmerge source package in Impish:
New
Status in usrmerge source package in Jammy:
Confirmed
Bug description:
[Impact]
* Starting with Ubuntu Hirsute, the 'usrmerge' package is pulled into
the default installation, doing the merging of /{bin,sbin,lib}/ and
/usr/{bin,sbin,lib} on upgrade. If there are left-over generated files
it will fail with an error like this:
Setting up usrmerge (24ubuntu3) ...
FATAL ERROR:
Both /lib/udev/hwdb.bin and /usr/lib/udev/hwdb.bin exist.
The upgrade has completed but there were errors during the upgrade
process.
* We want a fix in Hirsute+ that clears the old location (e.g.
/lib/udev/hwdb.bin) if the file has already been re-generated at the
new location (e.g. /usr/lib/udev/hwdb.bin).
[Test Plan]
Prepare a recent, but non-usrmerge'd system (e.g. launch Bionic and upgrade to Focal then Hirsute):
$ lxc launch ubuntu:bionic usrmerge
# do-release-upgrade
[...]
# reboot
# ls -la / # to make sure that /lib is not (yet) a link to /usr/lib
Simulate duplicated generated files & upgrade:
# mkdir -p /usr/lib/udev && cp /lib/udev/hwdb.bin /usr/lib/udev/
# vim /etc/update-manager/release-upgrades # change to "Prompt=normal"
# do-release-upgrade
[...]
=> Upgrade fails, press "C" to cancel bug report
=> "The upgrade has completed but there were errors during the upgrade process."
Verify that the script still fails:
# /usr/lib/usrmerge/convert-usrmerge
FATAL ERROR:
Both /lib/udev/hwdb.bin and /usr/lib/udev/hwdb.bin exist.
Install relevant usrmerge package:
# wget https://launchpad.net/ubuntu/+archive/primary/+files/usrmerge_VER_all.deb
# dpkg -i usrmerge_VER_all.deb
=> The system has been successfully converted.
# /usr/lib/usrmerge/convert-usrmerge
=> The system has been successfully converted.
# echo $?
0
[Where problems could occur]
* The upload modifies the convert-usrmerge script, adding special handling for certain, generated files.
* If something goes wrong, it could delete the wrong state of udev's hwdb which would be re-generated by systemd-hwdb-update.service
* It could also interrupt the upgrade processes on installation of the usrmerge package, asking the user for manual action (e.g. solving some file conflict and re-running /usr/lib/usrmerge/convert-usrmerge)
[Other Info]
* The patch was sent to Debian: https://bugs.debian.org/997866
=== Original Description ===
I got the following error after upgrading from 20.10 to 21.04:
Setting up usrmerge (24ubuntu3) ...
FATAL ERROR:
Both /lib/udev/hwdb.bin and /usr/lib/udev/hwdb.bin exist.
You can try correcting the errors reported and running again
/usr/lib/usrmerge/convert-usrmerge until it will complete without errors.
Do not install or update other Debian packages until the program
has been run successfully.
dpkg: error processing package usrmerge (--configure):
installed usrmerge package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
usrmerge
Running "sudo dpkg --configure -a", "sudo apt -f install" or "sudo
/usr/lib/usrmerge/convert-usrmerge" give exactly the same error.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/usrmerge/+bug/1930573/+subscriptions
More information about the foundations-bugs
mailing list