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

Reply via email to