#1091649 Cannot debootstrap sid after usrmerge removal: E: Couldn't find these debs: usr-is-merged #1091649
- Package:
- debootstrap
- Source:
- debootstrap
- Submitter:
- Andrey Rakhmatullin
- Date:
- 2024-12-29 17:27:03 UTC
- Severity:
- normal
- Tags:
usrmerge was removed from unstable yesterday. debootstrap tries to install usr-
is-merged and fails:
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Checking component main on http://deb.debian.org/debian...
E: Couldn't find these debs: usr-is-merged
The cause is in /usr/share/debootstrap/scripts/debian-common:
# On suites >= bookworm, either we set up a merged-/usr system
# via merge_usr, or we deliberately avoid that migration by creating
# the flag file. This means there's no need for the live migration
# 'usrmerge' package and its extra dependencies:
# we can install the empty 'usr-is-merged' metapackage to indicate
# that the transition has been done.
case "$CODENAME" in
etch*|lenny|squeeze|wheezy|jessie*|stretch|buster|bullseye)
;;
*)
required="$required usr-is-merged"
EXCLUDE_DEPENDENCY="$EXCLUDE_DEPENDENCY usrmerge"
;;
esac
Hi Andrey, Andrey Rakhmatullin <wrar@debian.org> (2024-12-29): Thanks, your bug report came in exactly when I hit the same kind of issue while building an image via debian-cd, after some changes but nothing even remotely related to debootstrap or usrmerge… and that was quite baffling. Cheers,
user helmutg@debian.org usertags 1091649 + dep17p8 tags 1091649 + confirmed patch found 1091649 1.0.128+nmu2+deb12u1 thanks Thanks for the report. It is very unfortunate that this coincided with the d-i alpha. Let me give some background on what happened here and why. A while ago, Marco approached me about removing the usrmerge package. At that time I searched for dependencies on it and identified dbus, which was relaxed. Then once that was gone, I failed to see what would break if usrmerge were to be removed. It did not feel like a priority to me, but I indicated that removing it sooner rather than later would be better as causing breakage in later stages of the freeze would be bad, so I recommended Marco to go ahead. He filed the removal request and also ensured that the package would stay in experimental to allow quick reintroduction in case something would unexpectedly break. This was all well before a d-i freeze was announced and none of us saw that looming problem. And then removal happened. This is where we are now. The obvious part is that we no longer technically need usr-is-merged to get installed. debootstrap should stop doing it. I am attaching a patch to that effect. Unfortunately, we also want to use bookworm's debootstrap to bootstrap trixie and that's not as easy. So at least for the time being, reintroducing usrmerge will be needed. Cyril indicated that he did a reintroducing NMU on #1088212, so I assume that this is being taken care of and needs no further action. Another way of approaching the debootstrap side would be supporting virtual packages. Then, debootstrap would notice that base-files provides usr-is-merged and we wouldn't be facing this issue. https://salsa.debian.org/installer-team/debootstrap/-/merge_requests/115 However, that MR is adding quite a bit more complexity. As we want to phase out the usr-is-merged package, the extra requirement should go away. So even though getting this done would be nice, I think the attached patch would still be needed in addition, so we may just disentangle these matters. Recommended course of action: 1. Revert the removal. (done by Cyril afaiui) 2. Apply the attached patch. 3. SPU the attached patch. 4. Wait for a stable point release. 5. Retry usrmerge removal (before the transition freeze or in forky). Hope this all makes sense and sorry for the inconvenience caused to d-i. Helmut
Hi Helmut, Thanks for the background and proposed course of action. Helmut Grohne <helmut@subdivi.de> (2024-12-29): Yes, that's in progress. That's really a band-aid to avoid respinning too many things on the d-i side, for this release specifically. I can totally understand why folks want to get rid of a package that was only meant to be transient. they want to keep being able to debootstrap trixie/sid once the removal happens (again), which can be surprising / a little point of friction, but that's much better than previous situations (where debootstrap broke and the fix was only available in proposed-updates). Indeed in that case, the support side that's much easier (“just dist-upgrade your stable system”) than what happened a while back (“add proposed-updates, install stuff from there, maybe get other package updates, etc.”). Out of curiosity (and I'm not advocating for or requesting that): how much of a hassle would it be to just ship the package in trixie? Except for the little digression above, I'll stay focused on trying to get Trixie Alpha 1 out (I'd like to stick to at most a few days of partial freeze each time, to minimize the impact on other developers, esp. with the real freeze getting closer), and let others comment on the stable vs. testing/unstable aspects. (I'll probably get looped in anyway, when the proposed-updates request reaches the release team…) Cheers,
We believe that the bug you reported is fixed in the latest version of debootstrap, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1091649@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Luca Boccassi <bluca@debian.org> (supplier of updated debootstrap package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) Format: 1.8 Date: Sun, 29 Dec 2024 12:24:52 +0000 Source: debootstrap Architecture: source Version: 1.0.139 Distribution: unstable Urgency: high Maintainer: Debian Install System Team <debian-boot@lists.debian.org> Changed-By: Luca Boccassi <bluca@debian.org> Closes: 1091588 1091649 Changes: debootstrap (1.0.139) unstable; urgency=high . [ Dan Bungert ] * Ubuntu: fix intended reference to SUITE . [ Kasper Kantz ] * Make distro-info script portable . [ keve-guest ] * Add support for running on MacOS . [ Guillem Jover ] * Add debian/debhelper-build-stamp to debian/.gitignore * Add new --no-check-sig and --force-check-sig * Recommend gpgv instead of gnupg * Use «in_path» instead of executing «gpgv --version» * Add sopv support * Add sqv support (Closes: #1091588) . [ Luca Boccassi ] * Prefer gpgv if all signature verification tools are installed * Do not pull in usr-is-merged in trixie/sid (Closes: #1091649) Checksums-Sha1: 57f6ff3be09599e60163de5b23be40ad73e317ee 2052 debootstrap_1.0.139.dsc daa888b8d666817c042fa66971c3f68faf0edc93 96989 debootstrap_1.0.139.tar.gz 27bcb03025adddf0b53d7ba187105ec38fab7cd0 8694 debootstrap_1.0.139_source.buildinfo Checksums-Sha256: 90b2e6f228f1f9f8ec76fa6da30f6f6c2330a0062f6a09c9aba63b2ce92871da 2052 debootstrap_1.0.139.dsc 446533a0d1758b4618ee535de0d6327597b5935d84734d8c65d1edbbe32ff992 96989 debootstrap_1.0.139.tar.gz f3bb74f14568d2562696624d7641bf26a92f323c4fbf5937dadd314cc86c1b74 8694 debootstrap_1.0.139_source.buildinfo Files: 5396d8d43e40c28ad8a1b0f7d79d50ef 2052 admin optional debootstrap_1.0.139.dsc ace77b972d7caf99db9a4f923bbf0b68 96989 admin optional debootstrap_1.0.139.tar.gz b460a9b16b388cbd5df49719593ee0a7 8694 admin optional debootstrap_1.0.139_source.buildinfo -----BEGIN PGP SIGNATURE----- iQJFBAEBCgAvFiEErCSqx93EIPGOymuRKGv37813JB4FAmdxQH8RHGJsdWNhQGRl Ymlhbi5vcmcACgkQKGv37813JB75VBAAxbmbWRvBM3V/RIY10l4aTI16/MTtqGlU 6ZRLiBc65tPyk2lQVPHgRkaruHRPfGkR7i+EAw+n7QZ0u+rc3VapOLDr2z946nMt WCxFSHYSvlKFnVBw89WlGmKK9ho6bLCWUBo7LNY42uIqIMAVx7vGN0eLOr/Yy7X0 fmRb8GgKhm5YimhA5YZxuePKg/oUelBC41/BX49Lug4kLFR1IQvQOFhwQ74N8/QP ItC0uS25DAYBIkN9sRD7waDMnMMXz/G83RkrRXHxSqTjX1kIy98kzCSF7HN3V5Lb K8d6XBAkU2JDIHX3GCyGN5LPpRSYB8uXg4QTgnqbL2oQlAdooT+52NB5hAN6MIUA ImXJjVqp6LDeeAtZ5brnZ8NhDJSYldpIg5vPhnvi0/cen1F8Z1QxB5IGS0PNeVR0 HzwHN48/8i8eg4x/T9B/ULMXFH63mq4NWTxMoBMNkXyF4kj2zR43Z4aPVzd96TwG GyN0rcaY5miuh41nzgPlBEJeNZZHdXjU0FrxLLl8v9VfQhztF9iZTfMmBO18qn+E D1IJSi8zd0ePy3e/xY/v9MYbq0L1nORJ6MZ8/pqshECgkNwBIHg1pY4jDfvtCvBK Y1ssbuCA9KGrv4SHpp55jY/rnGkbGQBIr5oGyWqU1Lv78/AUZDMdNYb2Of2lm0SW nju37izFNsA= =p2CS -----END PGP SIGNATURE-----
Hallo wieder, Helmut Grohne <helmut@subdivi.de> (2024-12-29): Just out of curiosity, did your initial assessment include autopkgtest references? Checking the excuses page (to see if I had all hints lined up for a speedy come back into testing), I see the following packages are in “Test in progress” mode: - bubblewrap - dbus - init-system-helpers - mmdebstrap Possibly that only matters if and when usrmerge exists/gets updated? Or is that going to be a problem when those packages get updated in turn? Cheers,
Hi Cyril, I appreciate your attention to detail. My analysis did not exhaustively cover autopkgtests. Unfortunately, the words usrmerge and usr-is-merged are used quite widely now, so codesearching them is no longer useful. bubblewrap has a test dependency on usrmerge and requires an update indeed. I think dbus is triggered, because it has an dependency alternative on usr-is-merged. This should be fine. init-system-helpers lost its dependency today. mmdebstrap has a test trigger on usrmerge. I'm pretty confident that Johannes will discard it as soon as usrmerge is gone for good and wants to keep it for the time being. I'll look into bubblewrap in more detail and do something about it. Helmut
Hi Cyril, It also is where we are already. The original bookworm debootstrap would do "pre-merging" (i.e. set up symbolic links before unpacking .debs) and using that to bootstrap trixie has been broken by changes to base-files. So we already are in the situation where we require users of debootstrap to upgrade to the latest stable point release. I'm not fond of that situation, but I attribute it to excessive, uncoordinated debootstrap NMUs and consider what I am doing here being a cleanup of the mess left behind. The harm has been done before bookworm. I am merely the one trying to contain it. The whole design of containing the symlink creation in base-files had the goal of removing complexity from debootstrap. The road is bumpy (despite being tested extensively) and I think we need another debootstrap patch, but the end result should make debootstrap more maintainable in the long run. The answer to that question depends on whom you ask. I think it would mostly defer cleanup. In particular, I am not objecting to shipping trixie with a usr-is-merged package. Having attempted removing it now and seen what breaks is what really helped me figure out what needs doing. Helmut