Source: dash Version: 0.5.12-6 Tags: patch moreinfo User: [email protected] Usertags: dep17m2
Do not upload this patch to unstable yet! We want to finalize the /usr-merge transition by moving all aliased files from / to /usr via DEP17 to avoid negative effects arising from aliasing. dash is quite special due to being involved in the bootstrap set. I earlier contacted you about a "coordinated NMU" and this is the patch for that. It must be uploaded concurrently with base-files, bash, glibc and util-linux or debootstrap will fail. I'm thus tagging the bug moreinfo. I'm happy to have it reviewed already and don't have a concrete date for uploading yet, because we need to wait for time64 to complete first. Let me add a few explanations on the patch contents: * Moving the files is fairly obvious. * We earlier told people to manage their /bin/sh symlink using local diversions (when I removed the debconf stuff). This now breaks and people have to update their local diversions to /usr/bin/sh. Thus adding NEWS. * The smoke test fails. I've updated it. * The mmdebstrap test also fails when base-files is not updated. This will happen for trixie migration as the migration test will use trixie packages plus sid dash but not sid base-files. I'll talk to the release team to add appropriate test dependencies and migrate these packages together (or we have the same problems in trixie). Helmut
diff --minimal -Nru dash-0.5.12/debian/ash.links dash-0.5.12/debian/ash.links --- dash-0.5.12/debian/ash.links 2023-06-21 13:28:50.000000000 +0200 +++ dash-0.5.12/debian/ash.links 2024-01-24 10:00:47.000000000 +0100 @@ -1 +1 @@ -/bin/dash /bin/ash +/usr/bin/dash /usr/bin/ash diff --minimal -Nru dash-0.5.12/debian/changelog dash-0.5.12/debian/changelog --- dash-0.5.12/debian/changelog 2023-06-21 13:28:50.000000000 +0200 +++ dash-0.5.12/debian/changelog 2024-01-24 10:00:47.000000000 +0100 @@ -1,3 +1,10 @@ +dash (0.5.12-6.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * DEP17: Move files to /usr. (Closes: #-1) + + -- Helmut Grohne <[email protected]> Wed, 24 Jan 2024 10:00:47 +0100 + dash (0.5.12-6) unstable; urgency=medium [ Johannes Schauer Marin Rodrigues ] diff --minimal -Nru dash-0.5.12/debian/dash.NEWS dash-0.5.12/debian/dash.NEWS --- dash-0.5.12/debian/dash.NEWS 2023-06-21 13:28:50.000000000 +0200 +++ dash-0.5.12/debian/dash.NEWS 2024-01-24 10:00:47.000000000 +0100 @@ -1,3 +1,13 @@ +dash (0.5.12-6.1) unstable; urgency=medium + + * Changing the system shell has been possible by creating a local diversion + for /bin/sh. Due to DEP17, the path changes to /usr/bin and existing + diversions become ineffective reverting the sh symlink back to dash. + If you changed the system shell, please update your diversion to divert + /usr/bin/sh instead of /bin/sh. + + -- Helmut Grohne <[email protected]> Tue, 27 Feb 2024 11:04:14 +0100 + dash (0.5.5.1-2.1) unstable; urgency=low * The default system shell (/bin/sh) has been changed to dash for diff --minimal -Nru dash-0.5.12/debian/dash.install dash-0.5.12/debian/dash.install --- dash-0.5.12/debian/dash.install 2023-06-21 13:28:50.000000000 +0200 +++ dash-0.5.12/debian/dash.install 2024-01-24 10:00:31.000000000 +0100 @@ -1,3 +1,3 @@ -/usr/bin/dash /bin +/usr/bin/dash /usr/share debian/shells.d/dash /usr/share/debianutils/shells.d diff --minimal -Nru dash-0.5.12/debian/dash.links dash-0.5.12/debian/dash.links --- dash-0.5.12/debian/dash.links 2023-06-21 13:28:50.000000000 +0200 +++ dash-0.5.12/debian/dash.links 2024-01-24 10:00:44.000000000 +0100 @@ -1,2 +1,2 @@ -/bin/dash /bin/sh +/usr/bin/dash /usr/bin/sh /usr/share/man/man1/dash.1 /usr/share/man/man1/sh.1 diff --minimal -Nru dash-0.5.12/debian/tests/smoke dash-0.5.12/debian/tests/smoke --- dash-0.5.12/debian/tests/smoke 2023-06-21 13:28:50.000000000 +0200 +++ dash-0.5.12/debian/tests/smoke 2024-01-24 10:00:47.000000000 +0100 @@ -18,17 +18,18 @@ diag(qx(ls -l /bin/bash)); like(qx(dpkg -L dash), - qr{^/bin/sh$}m, - 'dash must contain a /bin/sh symlink, for debootstrap'); + qr{^/usr/bin/sh$}m, + 'dash must contain a /usr/bin/sh symlink, for debootstrap'); is(qx(echo hello), "hello\n"); -my $diverter = qx(dpkg-divert --listpackage /bin/sh); +my $diverter = qx(dpkg-divert --listpackage /usr/bin/sh); -ok($diverter eq "" or $diverter eq "LOCAL\n", '/bin/sh not diverted or local diversion'); -ok($diverter ne "dash\n", '/bin/sh not diverted by dash'); -ok($diverter ne "bash\n", '/bin/sh not diverted by bash'); +ok($diverter eq "" or $diverter eq "LOCAL\n", '/usr/bin/sh not diverted or local diversion'); +ok($diverter ne "dash\n", '/usr/bin/sh not diverted by dash'); +ok($diverter ne "bash\n", '/usr/bin/sh not diverted by bash'); ok(like(realpath('/bin/sh'), qr{^(?:/usr)?/bin/dash})); +ok(like(realpath('/usr/bin/sh'), qr{^(?:/usr)?/bin/dash})); my $tmpdir = File::Temp->newdir(); chdir $tmpdir; @@ -36,7 +37,7 @@ is(system("dpkg-deb -X *.deb ."), 0); diag(qx(find . -ls)); chdir $srcdir; -like(readlink("$tmpdir/bin/sh"), qr{^(?:/bin/)?[bd]ash$}, - 'dash_*.deb must contain a /bin/sh symlink for debootstrap'); +like(readlink("$tmpdir/usr/bin/sh"), qr{^(?:/bin/)?[bd]ash$}, + 'dash_*.deb must contain a /usr/bin/sh symlink for debootstrap'); done_testing;

