Source: coreutils Version: 9.4-3 Tags: patch User: helm...@debian.org Usertags: dep17m2
Hi, we want to finalize the /usr-merge transition via DEP17 by moving all files to /usr and having base-files install the aliasing symlinks. coreutils is naturally involved as it installs files to /bin. While we no longer officially support unmerged filesystem hierarchies since trixie, coreutils is essential and we require more of it. Being essential means we still support bootstrapping unmerged and merging via usrmerge.postinst, which required presence of /bin/cp until version 38. The updated version 39 also works with /usr/bin/cp and hence, we may now move forward. I've prepared a patch for performing the conversion in a way that simplifies the packaging. This patch must not be backported to bookworm-backports as the moratorium still applies there, but I think backports of coreutils are fairly unlikely. The patch also allows us to get rid of the remaining maintainer scripts. I've performed tests with debootstrap, cdebootstrap and mmdebstrap and all of them are able to construct chroots with this coreutils patch applied. Helmut
diff --minimal -Nru coreutils-9.4/debian/changelog coreutils-9.4/debian/changelog --- coreutils-9.4/debian/changelog 2024-01-02 14:54:03.000000000 +0100 +++ coreutils-9.4/debian/changelog 2024-01-21 22:33:08.000000000 +0100 @@ -1,3 +1,10 @@ +coreutils (9.4-3.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * DEP17: Move files to /usr. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Sun, 21 Jan 2024 22:33:08 +0100 + coreutils (9.4-3) unstable; urgency=low * remove arch restriction from libssl-dev build-depend diff --minimal -Nru coreutils-9.4/debian/control coreutils-9.4/debian/control --- coreutils-9.4/debian/control 2024-01-02 14:22:27.000000000 +0100 +++ coreutils-9.4/debian/control 2024-01-21 22:33:08.000000000 +0100 @@ -11,6 +11,7 @@ Pre-Depends: ${shlibs:Depends}, ${misc:Pre-Depends} Essential: yes Depends: ${misc:Depends} +Breaks: usrmerge (<< 39) Description: GNU core utilities This package contains the basic file, shell and text manipulation utilities which are expected to exist on every operating system. diff --minimal -Nru coreutils-9.4/debian/coreutils.postinst coreutils-9.4/debian/coreutils.postinst --- coreutils-9.4/debian/coreutils.postinst 2022-09-20 17:04:38.000000000 +0200 +++ coreutils-9.4/debian/coreutils.postinst 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -#!/bin/sh -set -e - -if [ "$1" = 'configure' -a ! -e "$DPKG_ROOT/usr/bin/touch" ]; then - ln -s /bin/touch "$DPKG_ROOT/usr/bin/touch" -fi - -#DEBHELPER# diff --minimal -Nru coreutils-9.4/debian/coreutils.postrm coreutils-9.4/debian/coreutils.postrm --- coreutils-9.4/debian/coreutils.postrm 2022-09-20 17:04:49.000000000 +0200 +++ coreutils-9.4/debian/coreutils.postrm 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -#!/bin/sh -set -e - -if [ "$1" = 'remove' -a -L "$DPKG_ROOT/usr/bin/touch" ]; then - rm "$DPKG_ROOT/usr/bin/touch" -fi - -#DEBHELPER# diff --minimal -Nru coreutils-9.4/debian/rules coreutils-9.4/debian/rules --- coreutils-9.4/debian/rules 2023-11-10 14:31:21.000000000 +0100 +++ coreutils-9.4/debian/rules 2024-01-21 21:41:59.000000000 +0100 @@ -36,11 +36,6 @@ override_dh_install-arch: dh_install -a - # some things go in root rather than usr - for f in $(BIN_PROGS); do \ - mv $(d)/usr/bin/$$f $(d)/bin/$$f; \ - done - # backward compatability ln -s /usr/bin/md5sum $(d)/usr/bin/md5sum.textutils ln -s /usr/share/man/man1/md5sum.1 $(d)/usr/share/man/man1/md5sum.textutils.1 @@ -49,8 +44,6 @@ ifeq ($(DEB_HOST_ARCH_OS),linux) # kill from procps is linux-specific rm -f $(d)/usr/bin/kill $(d)/usr/share/man/man1/kill.1 -else - mv $(d)/usr/bin/kill $(d)/bin endif rm -f $(d)/usr/bin/hostname $(d)/usr/share/man/man1/hostname.1 rm -f $(d)/usr/bin/uptime $(d)/usr/share/man/man1/uptime.1