** 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 Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1930573 Title: usrmerge error after upgradingfrom 20.10 to 21.04 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/usrmerge/+bug/1930573/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs