** Description changed: [Analysis] usrmerge was not essential on 22.04 and systems that upgraded to it may not have been converted, as it was only Recommended. We need to add quirks to ubuntu-release-upgrader to convert systems that are not yet merged by first installing the usrmerge package. + + [Test Plan] + + 1. Bootstrap an unmerged-/usr jammy rootfs: + + $ debootstrap --exclude=usrmerge --no-merged-usr jammy-unmerged-usr/ + + 2. Start systemd-nspawn with this rootfs and add a new user: + + $ systemd-nspawn -D jammy-unmerged-user + + ... + + # adduser ubuntu + # usermod -aG sudo ubuntu + + 3. Then boot as a container: + + $ systemd-nspawn --boot -D jammy-unmerged-usr/ + + 4. Attempt an upgrade. With the patch in place, the upgrade should be + stopped with a message explaining that the system is not /usr-merged. + + $ do-release-upgrade -d + + 5. After that, install usrmerge, and try the upgrade again. It should + proceed this time. + + $ apt install -y usrmerge + $ do-release-upgrade -d + + [Where problems could occur] + + This patch checks that /bin, /sbin, and /lib are symlinks to their + respective locations in /usr. Typos in the patch could cause problems. + If a bug were to arise, either (a) upgrades would be prevented + unnecessarily, or (b) it would proceed when it should not, and users + would hit this bug anyways. [Original bug report] Doing upgrade from 22.04 -> 24.04 beta. Upgrading Fetched 0 B in 0s (0 B/s) Upgrading: libnih1:amd64 < 1.0.3-12build1 @ii mK Ib > due to libnih1:amd64 Depends on libc6:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > (< 2.36) Upgrading: libc6-x32:amd64 < 2.35-0ubuntu3.6 | 2.39-0ubuntu2 @ii ugH Ib > due to libc6-x32:amd64 Depends on libc6:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > (= 2.35-0ubuntu3.6) Upgrading: libc6-i386:amd64 < 2.35-0ubuntu3.6 | 2.39-0ubuntu2 @ii ugH Ib > due to libc6-i386:amd64 Depends on libc6:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > (= 2.35-0ubuntu3.6) Upgrading: libc6-dev:amd64 < 2.35-0ubuntu3.6 | 2.39-0ubuntu2 @ii umH Ib > due to libc6-dev:amd64 Depends on libc6:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > (= 2.35-0ubuntu3.6) Upgrading: libc6-dbg:amd64 < 2.35-0ubuntu3.6 | 2.39-0ubuntu2 @ii umH Ib > due to libc6-dbg:amd64 Depends on libc6:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > (= 2.35-0ubuntu3.6) Upgrading: libc-dev-bin:amd64 < 2.35-0ubuntu3.6 | 2.39-0ubuntu2 @ii umH NPb Ib > due to libc-dev-bin:amd64 Depends on libc6:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > (< 2.36) Upgrading: libc-bin:amd64 < 2.35-0ubuntu3.6 | 2.39-0ubuntu2 @ii umH Ib > due to libc-bin:amd64 Depends on libc6:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > (< 2.36) MarkInstall libc6:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > FU=1 MarkInstall locales:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > FU=0 Installing libc-bin:amd64 as Depends of locales:amd64 MarkInstall libc-bin:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU > FU=0 MarkInstall libc6:i386 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU > FU=0 MarkInstall libnih1:amd64 < 1.0.3-12build1 @ii mK Ib > FU=0 libnih1:amd64 Depends on libc6:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii pumU > (< 2.36) can't be satisfied! (dep) Removing: libnih1:amd64 as upgrade is not possible MarkDelete libnih1:amd64 < 1.0.3-12build1 @ii mK Ib > FU=0 Upgrading: libc6-dev-x32:amd64 < 2.35-0ubuntu3.6 | 2.39-0ubuntu2 @ii ugH NPb IPb > due to libc6-dev-x32:amd64 Depends on libc6-x32:amd64 < 2.35-0ubuntu3.6 | 2.39-0ubuntu2 @ii ugH Ib > (= 2.35-0ubuntu3.6) MarkInstall libc6-x32:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii ugU > FU=0 MarkInstall libc6-dev-x32:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii ugU NPb Ib > FU=0 Installing libc6-dev-i386:amd64 as Depends of libc6-dev-x32:amd64 MarkInstall libc6-dev-i386:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii ugU NPb Ib > FU=0 MarkInstall libc6-dev:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU Ib > FU=0 Installing libc-dev-bin:amd64 as Depends of libc6-dev:amd64 MarkInstall libc-dev-bin:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU NPb IPb > FU=0 ignore old unsatisfied important dependency on libc-devtools:amd64 Installing libc6-i386:amd64 as Depends of libc6-dev-i386:amd64 MarkInstall libc6-i386:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii ugU > FU=0 ignore old unsatisfied important dependency on gcc-multilib:amd64 ignore old unsatisfied important dependency on gcc-multilib:amd64 MarkInstall libc6-dbg:amd64 < 2.35-0ubuntu3.6 -> 2.39-0ubuntu2 @ii umU > FU=0 Starting pkgProblemResolver with broken count: 1 Starting 2 pkgProblemResolver with broken count: 1 Investigating (0) ureadahead:amd64 < 0.100.0-21 @ii mK Ib > Broken ureadahead:amd64 Depends on libnih1:amd64 < 1.0.3-12build1 @ii mR > (>= 1.0.0) Considering libnih1:amd64 0 as a solution to ureadahead:amd64 -2 Removing ureadahead:amd64 rather than change libnih1:amd64 MarkDelete ureadahead:amd64 < 0.100.0-21 @ii mK Ib > FU=0 Done Upgrading Fetched 0 B in 0s (0 B/s) Preconfiguring packages ... Preconfiguring packages ... Preconfiguring packages ... (Reading database ... 361984 files and directories currently installed.) Removing ureadahead (0.100.0-21) ... Removing libnih1 (1.0.3-12build1) ... Progress: [ 6%] (Reading database ... 361965 files and directories currently installed.) Preparing to unpack .../00-libc6-i386_2.39-0ubuntu2_amd64.deb ... Unpacking libc6-i386 (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... Progress: [ 12%] Preparing to unpack .../01-libc-dev-bin_2.39-0ubuntu2_amd64.deb ... Unpacking libc-dev-bin (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... Preparing to unpack .../02-libc6-dev_2.39-0ubuntu2_amd64.deb ... Progress: [ 18%] Unpacking libc6-dev:amd64 (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... Replacing files in old package libc6:amd64 (2.35-0ubuntu3.6) ... Preparing to unpack .../03-libc6-dev-i386_2.39-0ubuntu2_amd64.deb ... Unpacking libc6-dev-i386 (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... Progress: [ 24%] Preparing to unpack .../04-libc6-dev-x32_2.39-0ubuntu2_amd64.deb ... Unpacking libc6-dev-x32 (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... Preparing to unpack .../05-libc6-x32_2.39-0ubuntu2_amd64.deb ... Progress: [ 30%] Unpacking libc6-x32 (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... Preparing to unpack .../06-libc6-dbg_2.39-0ubuntu2_amd64.deb ... Unpacking libc6-dbg:amd64 (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... Progress: [ 36%] Preparing to unpack .../07-locales_2.39-0ubuntu2_all.deb ... Unpacking locales (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... Preparing to unpack .../08-libc6_2.39-0ubuntu2_amd64.deb ... De-configuring libc6:i386 (2.35-0ubuntu3.6), to allow configuration of libc6:amd64 (2.35-0ubuntu3.6) ... Progress: [ 42%] Checking for services that may need to be restarted... Checking init scripts... Checking for services that may need to be restarted... Checking init scripts... Stopping some services possibly affected by the upgrade (will be restarted later): cron: stopping...done. dpkg-divert: error: cannot divert directories Use --help for help about diverting files. dpkg: error processing archive /tmp/apt-dpkg-install-vdyTTj/08-libc6_2.39-0ubuntu2_amd64.deb (--unpack): new libc6:amd64 package pre-installation script subprocess returned error exit status 2 Preparing to unpack .../09-libc6_2.39-0ubuntu2_i386.deb ... De-configuring libc6:amd64 (2.35-0ubuntu3.6), to allow configuration of libc6:i386 (2.35-0ubuntu3.6) ... Progress: [ 48%] Checking for services that may need to be restarted... Checking init scripts... Checking for services that may need to be restarted... Checking init scripts... Stopping some services possibly affected by the upgrade (will be restarted later): Unpacking libc6:i386 (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/libc6.0.crash' Preparing to unpack .../10-libc-bin_2.39-0ubuntu2_amd64.deb ... Unpacking libc-bin (2.39-0ubuntu2) over (2.35-0ubuntu3.6) ... Progress: [ 55%] Errors were encountered while processing: /tmp/apt-dpkg-install-vdyTTj/08-libc6_2.39-0ubuntu2_amd64.deb Exception during pm.DoInstall(): E:Sub-process /usr/bin/dpkg returned an error code (1) *** Send problem report to the developers? After the problem report has been sent, please fill out the form in the automatically opened web browser. What would you like to do? Your options are: S: Send report (332.3 KB) V: View report K: Keep report file for sending later or copying to somewhere else I: Cancel and ignore future crashes of this program version C: Cancel Please choose (S/V/K/I/C): S *** Collecting problem information The collected information can be sent to the developers to improve the application. This might take a few minutes. ..... *** Uploading problem information The collected information is being sent to the bug tracking system. This might take a few minutes. 99% *** To continue, you must visit the following URL: https://bugs.launchpad.net/ubuntu/+source/glibc/+filebug/c8f0b42a-e780-11ee-a0e9-df24f41047cf?field.title=package+libc6+2.35-0ubuntu3.6+%5Bmodified%3A+usr%2Fshare%2Fdoc%2Flibc6%2FNEWS.Debian.gz+usr%2Fshare%2Fdoc%2Flibc6%2FNEWS.gz+usr%2Fshare%2Fdoc%2Flibc6%2FREADME.hesiod.gz+usr%2Fshare%2Fdoc%2Flibc6%2Fchangelog.Debian.gz+usr%2Fshare%2Flintian%2Foverrides%2Flibc6%5D+failed+to+install%2Fupgrade%3A+new+libc6%3Aamd64+package+pre- installation+script+subprocess+returned+error+exit+status+2 You can launch a browser now, or copy this URL into a browser on another computer. ProblemType: Package DistroRelease: Ubuntu 22.04 Package: libc6 2.35-0ubuntu3.6 [modified: usr/share/doc/libc6/NEWS.Debian.gz usr/share/doc/libc6/NEWS.gz usr/share/doc/libc6/README.hesiod.gz usr/share/doc/libc6/changelog.Debian.gz usr/share/lintian/overrides/libc6] ProcVersionSignature: Ubuntu 5.15.0-101.111-generic 5.15.143 Uname: Linux 5.15.0-101-generic x86_64 ApportVersion: 2.20.11-0ubuntu82.5 Architecture: amd64 CasperMD5CheckResult: unknown Date: Thu Mar 21 08:36:07 2024 ErrorMessage: new libc6:amd64 package pre-installation script subprocess returned error exit status 2 InstallationDate: Installed on 2018-05-26 (2125 days ago) InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Release amd64 (20180426) Python3Details: /usr/bin/python3.10, Python 3.10.12, python3-minimal, 3.10.6-1~22.04 PythonDetails: /usr/bin/python3.10, Python 3.10.12, python-is-python3, 3.9.2-2 RelatedPackageVersions: dpkg 1.21.1ubuntu2.3 apt 2.4.11 SourcePackage: glibc Title: package libc6 2.35-0ubuntu3.6 [modified: usr/share/doc/libc6/NEWS.Debian.gz usr/share/doc/libc6/NEWS.gz usr/share/doc/libc6/README.hesiod.gz usr/share/doc/libc6/changelog.Debian.gz usr/share/lintian/overrides/libc6] failed to install/upgrade: new libc6:amd64 package pre-installation script subprocess returned error exit status 2 UpgradeStatus: Upgraded to jammy on 2024-03-21 (0 days ago)
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2058648 Title: Support upgrades from unmerged 22.04 - was: package libc6 2.35-0ubuntu3.6 [modified: usr/share/doc/libc6/NEWS.Debian.gz usr/share/doc/libc6/NEWS.gz usr/share/doc/libc6/README.hesiod.gz usr/share/doc/libc6/changelog.Debian.gz usr/share/lintian/overrides/libc6] failed to install/upgrade: new libc6:amd64 package pre-installation script subprocess returned error exit status 2 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/2058648/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
