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.0 +0100
+++ coreutils-9.4/debian/changelog 2024-01-21 22:33:08.0 +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 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/control2024-01-02 14:22:27.0 +0100
+++ coreutils-9.4/debian/control2024-01-21 22:33:08.0 +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.0
+0200
+++ coreutils-9.4/debian/coreutils.postinst 1970-01-01 01:00:00.0
+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.0
+0200
+++ coreutils-9.4/debian/coreutils.postrm 1970-01-01 01:00:00.0
+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.0 +0100
+++ coreutils-9.4/debian/rules 2024-01-21 21:41:59.0 +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