diff -pruN 9.7-3/debian/changelog 9.7-3ubuntu1/debian/changelog
--- 9.7-3/debian/changelog	2025-06-04 15:14:05.000000000 +0000
+++ 9.7-3ubuntu1/debian/changelog	2025-10-24 07:10:01.000000000 +0000
@@ -1,3 +1,44 @@
+coreutils (9.7-3ubuntu1) resolute; urgency=medium
+
+  * Merge with Debian; remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+      + Ignore the cut-huge-range test failure on armhf, only seen on
+        the buildds.
+    - d/tests:
+      + Add dep8 tests
+    - d/p/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - d/p/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+      + Avoid displaying snaps in output from df and other tools, by
+        excluding display of squashfs filesystems.
+        (LP #1219529, #1756595)
+      + Exclude devtmpfs filesystems in output from df and other tools
+        since it is a dummy filesystem.
+        (LP #1219529)
+    - d/p/cp-n.diff: skip tests/cp/cp-i.sh upstream test (LP #2055180)
+      The behavior of cp -n is different in Debian than in upstream,
+      and this test assumes upstream behavior of -n, and how it
+      interacts with -i.
+    - d/p/72_id_checkngroups.patch: refreshed
+    - Rename the binary package to gnu-coreutils and build with 'gnu' prefix.
+    - Run the autopkgtest against both Rust and GNU versions.
+      Disable the failing nanosecond test case for stat for Rust,
+      and re-enable it for the GNU version only.
+      Some specific care had to be taken around swapping the default
+      provider: The coreutils-from-uutils are Protected: yes, so we
+      need to remove them inside the test script.
+  * Dropped (upstreamed) changes:
+    - d/p/suppress-permission-denied-errors-on-nfs.patch:
+      - Avoid returning permission denied errors when running ls -l when reading
+        file attributes. (LP #2115274)
+
+ -- Matthias Klose <doko@ubuntu.com>  Fri, 24 Oct 2025 09:10:01 +0200
+
 coreutils (9.7-3) unstable; urgency=high
 
   * Correct spurious permission denied errors messages when copying from a file
@@ -44,6 +85,78 @@ coreutils (9.6-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Thu, 03 Apr 2025 13:29:08 -0400
 
+coreutils (9.5-1ubuntu4) questing; urgency=medium
+
+  * Run the autopkgtest against both Rust and GNU versions.
+    Disable the failing nanosecond test case for stat for Rust,
+    and re-enable it for the GNU version only.
+    Some specific care had to be taken around swapping the default
+    provider: The coreutils-from-uutils are Protected: yes, so we
+    need to remove them inside the test script.
+
+ -- Julian Andres Klode <juliank@ubuntu.com>  Thu, 25 Sep 2025 10:51:15 +0200
+
+coreutils (9.5-1ubuntu3) questing; urgency=medium
+
+  * d/p/suppress-permission-denied-errors-on-nfs.patch:
+    - Avoid returning permission denied errors when running ls -l when reading
+      file attributes. (LP: #2115274)
+
+ -- Ghadi Elie Rahme <ghadi.rahme@canonical.com>  Tue, 24 Jun 2025 21:23:49 +0000
+
+coreutils (9.5-1ubuntu2) questing; urgency=medium
+
+  * Rename the binary package to gnu-coreutils and build with 'gnu' prefix
+
+ -- Julian Andres Klode <juliank@ubuntu.com>  Thu, 08 May 2025 11:06:23 +0200
+
+coreutils (9.5-1ubuntu1.25.10.1) questing; urgency=medium
+
+  * Modify d/rules to dh_auto_configure with --enable-systemd,
+    and add libsystemd-dev as Build-Depends in d/control
+    to solve LP: #2103489.
+
+ -- Frank Heimes <frank.heimes@canonical.com>  Fri, 25 Apr 2025 08:55:05 +0200
+
+coreutils (9.5-1ubuntu1) plucky; urgency=medium
+
+  * Merge from Debian Unstable. Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+      + Ignore the cut-huge-range test failure on armhf, only seen on
+        the buildds.
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+      + Avoid displaying snaps in output from df and other tools, by
+        excluding display of squashfs filesystems.
+        (LP #1219529, #1756595)
+      + Exclude devtmpfs filesystems in output from df and other tools
+        since it is a dummy filesystem.
+        (LP #1219529)
+    - d/p/cp-n.diff: skip tests/cp/cp-i.sh upstream test (LP #2055180)
+      The behavior of cp -n is different in Debian than in upstream,
+      and this test assumes upstream behavior of -n, and how it
+      interacts with -i.
+    - d/p/72_id_checkngroups.patch: refreshed
+  * Dropped (upstreamed) changes:
+    - d/p/tail-fix-tailing-sysfs-files-where-PAGE_SIZE-BUFSIZ.patch:
+      Fix tailing of sysfs files on systems using a 64K page size.
+      (LP 2047450)
+    - SECURITY UPDATE: heap overflow in split --line-bytes with very long
+      lines
+      + debian/patches/CVE-2024-0684.patch: do not shrink hold buffer in
+        src/split.c.
+      + CVE-2024-0684
+
+ -- Simon Quigley <tsimonq2@ubuntu.com>  Tue, 11 Feb 2025 01:30:05 -0600
+
 coreutils (9.5-1) unstable; urgency=low
 
   * New upstream version (Closes: #1033277)
@@ -53,6 +166,44 @@ coreutils (9.5-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Wed, 23 Oct 2024 09:08:43 -0400
 
+coreutils (9.4-3.1ubuntu1) oracular; urgency=medium
+
+  * Merge with Debian unstable (LP: #2075338). Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+      + Ignore the cut-huge-range test failure on armhf, only seen on
+        the buildds.
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+      + Avoid displaying snaps in output from df and other tools, by
+        excluding display of squashfs filesystems.
+        (LP #1219529, #1756595)
+      + Exclude devtmpfs filesystems in output from df and other tools
+        since it is a dummy filesystem.
+        (LP #1219529)
+    - d/p/tail-fix-tailing-sysfs-files-where-PAGE_SIZE-BUFSIZ.patch:
+      Fix tailing of sysfs files on systems using a 64K page size.
+      (LP 2047450)
+    - SECURITY UPDATE: heap overflow in split --line-bytes with very long
+      lines
+      + debian/patches/CVE-2024-0684.patch: do not shrink hold buffer in
+        src/split.c.
+      + CVE-2024-0684
+    - d/p/cp-n.diff: skip tests/cp/cp-i.sh upstream test (LP #2055180)
+      The behavior of cp -n is different in Debian than in upstream,
+      and this test assumes upstream behavior of -n, and how it
+      interacts with -i.
+    - d/p/72_id_checkngroups.patch: refreshed
+
+ -- Dominik Viererbe <dominik.viererbe@canonical.com>  Wed, 31 Jul 2024 18:24:19 +0300
+
 coreutils (9.4-3.1) unstable; urgency=medium
 
   * Non-maintainer upload.
@@ -60,6 +211,67 @@ coreutils (9.4-3.1) unstable; urgency=me
 
  -- Helmut Grohne <helmut@subdivi.de>  Sat, 09 Mar 2024 18:42:01 +0100
 
+coreutils (9.4-3ubuntu6) noble; urgency=medium
+
+  * No-change rebuild against libssl3t64.
+
+ -- Benjamin Drung <bdrung@ubuntu.com>  Fri, 05 Apr 2024 16:36:57 +0200
+
+coreutils (9.4-3ubuntu5) noble; urgency=medium
+
+  * No-change rebuild for CVE-2024-3094
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Sun, 31 Mar 2024 17:08:43 +0000
+
+coreutils (9.4-3ubuntu3) noble; urgency=medium
+
+  * No-change rebuild against libssl3t64.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Mon, 04 Mar 2024 04:54:09 +0000
+
+coreutils (9.4-3ubuntu2) noble; urgency=medium
+
+  * d/p/cp-n.diff: skip tests/cp/cp-i.sh upstream test (LP: #2055180)
+    The behavior of cp -n is different in Debian than in upstream, and
+    this test assumes upstream behavior of -n, and how it interacts with
+    -i.
+
+ -- Nick Rosbrook <enr0n@ubuntu.com>  Tue, 27 Feb 2024 12:22:53 -0500
+
+coreutils (9.4-3ubuntu1) noble; urgency=medium
+
+  * Merge with Debian unstable. Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+      + Ignore the cut-huge-range test failure on armhf, only seen on
+        the buildds.
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+      + Avoid displaying snaps in output from df and other tools, by
+        excluding display of squashfs filesystems.
+        (LP #1219529, #1756595)
+      + Exclude devtmpfs filesystems in output from df and other tools
+        since it is a dummy filesystem.
+        (LP #1219529)
+    - d/p/tail-fix-tailing-sysfs-files-where-PAGE_SIZE-BUFSIZ.patch:
+      Fix tailing of sysfs files on systems using a 64K page size.
+      (LP 2047450)
+    - SECURITY UPDATE: heap overflow in split --line-bytes with very long
+      lines
+      + debian/patches/CVE-2024-0684.patch: do not shrink hold buffer in
+        src/split.c.
+      + CVE-2024-0684
+    - DEP17: Move files to /usr. (Closes: #1061274)
+
+ -- Nick Rosbrook <enr0n@ubuntu.com>  Mon, 26 Feb 2024 12:50:04 -0500
+
 coreutils (9.4-3) unstable; urgency=low
 
   * remove arch restriction from libssl-dev build-depend
@@ -68,6 +280,61 @@ coreutils (9.4-3) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Tue, 02 Jan 2024 08:54:03 -0500
 
+coreutils (9.4-2ubuntu4) noble; urgency=medium
+
+  [ Helmut Grohne ]
+  * DEP17: Move files to /usr. (Closes: #1061274)
+
+ -- Julian Andres Klode <juliank@ubuntu.com>  Thu, 22 Feb 2024 12:07:56 +0100
+
+coreutils (9.4-2ubuntu3) noble; urgency=medium
+
+  * SECURITY UPDATE: heap overflow in split --line-bytes with very long
+    lines
+    - debian/patches/CVE-2024-0684.patch: do not shrink hold buffer in
+      src/split.c.
+    - CVE-2024-0684
+
+ -- Marc Deslauriers <marc.deslauriers@ubuntu.com>  Tue, 30 Jan 2024 12:57:32 -0500
+
+coreutils (9.4-2ubuntu2) noble; urgency=medium
+
+  * d/p/tail-fix-tailing-sysfs-files-where-PAGE_SIZE-BUFSIZ.patch:
+    Fix tailing of sysfs files on systems using a 64K page size.
+    (LP: #2047450)
+
+ -- dann frazier <dann.frazier@canonical.com>  Tue, 26 Dec 2023 11:25:09 -0700
+
+coreutils (9.4-2ubuntu1) noble; urgency=medium
+
+  * Merge with Debian unstable. Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+      + Ignore the cut-huge-range test failure on armhf, only seen on
+        the buildds.
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+      + Avoid displaying snaps in output from df and other tools, by
+        excluding display of squashfs filesystems.
+        (LP #1219529, #1756595)
+      + Exclude devtmpfs filesystems in output from df and other tools
+        since it is a dummy filesystem.
+        (LP #1219529)
+  * Dropped, unnecessary delta:
+    - debian/patches/72_id_checkngroups.patch: patch fuzz
+  * New changes:
+    - debian/rules: update test path to fix armhf FTBFS
+    - debian/tests/upstream: fix paths of test scripts
+
+ -- Nick Rosbrook <enr0n@ubuntu.com>  Thu, 30 Nov 2023 12:02:32 -0500
+
 coreutils (9.4-2) unstable; urgency=low
 
   * link against libssl if gpl compatible version available; add to
@@ -90,6 +357,39 @@ coreutils (9.4-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Thu, 09 Nov 2023 14:18:41 -0500
 
+coreutils (9.1-1ubuntu2) lunar; urgency=medium
+
+  * Fix autopkgtest failure after a testcase was renamed from
+    proc-selinux-segfault.sh to selinux-segfault.sh
+    (LP #2002428)
+
+ -- Adrien Nader <adrien.nader@canonical.com>  Tue, 10 Jan 2023 14:19:26 +0100
+
+coreutils (9.1-1ubuntu1) lunar; urgency=medium
+
+  * Merge with Debian; remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+      + Ignore the cut-huge-range test failure on armhf, only seen on
+        the buildds.
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+      + Avoid displaying snaps in output from df and other tools, by
+        excluding display of squashfs filesystems.
+        (LP #1219529, #1756595)
+      + Exclude devtmpfs filesystems in output from df and other tools
+        since it is a dummy filesystem.
+        (LP #1219529)
+
+ -- Matthias Klose <doko@ubuntu.com>  Thu, 08 Dec 2022 14:47:43 +0100
+
 coreutils (9.1-1) unstable; urgency=low
 
   * New upstream version (Closes: #1017354)
@@ -104,6 +404,53 @@ coreutils (9.1-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Tue, 20 Sep 2022 11:27:27 -0400
 
+coreutils (8.32-4.1ubuntu1) jammy; urgency=medium
+
+  * Merge with Debian; remaining changes:
+
+ -- Matthias Klose <doko@ubuntu.com>  Mon, 07 Feb 2022 17:03:08 +0100
+
+coreutils (8.32-4ubuntu3) impish; urgency=medium
+
+  * No-change rebuild to build packages with zstd compression.
+
+ -- Matthias Klose <doko@ubuntu.com>  Thu, 07 Oct 2021 12:10:22 +0200
+
+coreutils (8.32-4ubuntu2) hirsute; urgency=medium
+
+  * d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+    - Extend default filesystem exlusion to fuse.portal (LP: #1905623)
+
+ -- Julian Andres Klode <juliank@ubuntu.com>  Sat, 05 Dec 2020 21:55:44 +0100
+
+coreutils (8.32-4ubuntu1) hirsute; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+      + Ignore the cut-huge-range test failure on armhf, only seen on
+        the buildds.
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+      + Avoid displaying snaps in output from df and other tools, by
+        excluding display of squashfs filesystems.
+        (LP #1219529, #1756595)
+      + Exclude devtmpfs filesystems in output from df and other tools
+        since it is a dummy filesystem.
+        (LP #1219529)
+    - Fix FTBFS on ARM64.
+      + d/p/improve-removed-directory-test.patch: Upstream patch to
+        improve ls' removed-directory test.
+
+ -- Tiago Stürmer Daitx <tiago.daitx@ubuntu.com>  Mon, 09 Nov 2020 23:10:35 +0000
+
 coreutils (8.32-4) unstable; urgency=low
 
   * Fix FTBFS on ARM64. (Closes: #966449)
@@ -114,6 +461,39 @@ coreutils (8.32-4) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Tue, 22 Sep 2020 08:17:17 -0400
 
+coreutils (8.32-3ubuntu1) groovy; urgency=medium
+
+  * Merge with Debian unstable (LP: #1888046). Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+      + Ignore the cut-huge-range test failure on armhf, only seen on
+        the buildds.
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+      + Avoid displaying snaps in output from df and other tools, by
+        excluding display of squashfs filesystems.
+        (LP #1219529, #1756595)
+      + Exclude devtmpfs filesystems in output from df and other tools
+        since it is a dummy filesystem.
+        (LP #1219529)
+  * Refresh d/patches/.
+  * Fix FTBFS on ARM64.
+    - d/p/restore-ls-behavior-8.31.patch: Upstream patch to restore
+      coreutils ls' 8.31 behavior on removed directories, which is
+      necessary to prevent using SYS_getdents that doesn't exist on
+      ARM64.
+    - d/p/improve-removed-directory-test.patch: Upstream patch to
+      improve ls' removed-directory test.
+
+ -- Sergio Durigan Junior <sergio.durigan@canonical.com>  Fri, 24 Jul 2020 15:01:15 -0400
+
 coreutils (8.32-3) unstable; urgency=low
 
   * build with libgmp now that apt pulls it in anyway (Closes: #64527)
@@ -136,6 +516,42 @@ coreutils (8.32-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Mon, 22 Jun 2020 14:39:28 -0400
 
+coreutils (8.30-3ubuntu3) groovy; urgency=medium
+
+  * d/p/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch:
+    - Avoid displaying snaps in output from df and other tools, by
+      excluding display of squashfs filesystems.
+      (LP: #1219529, #1756595)
+    - Exclude devtmpfs filesystems in output from df and other tools
+      since it is a dummy filesystem.
+      (LP: #1219529)
+
+ -- Bryce Harrington <bryce@canonical.com>  Thu, 02 Jul 2020 02:30:48 +0000
+
+coreutils (8.30-3ubuntu2) eoan; urgency=medium
+
+  * No-change upload with strops.h and sys/strops.h removed in glibc.
+
+ -- Matthias Klose <doko@ubuntu.com>  Thu, 05 Sep 2019 10:38:40 +0000
+
+coreutils (8.30-3ubuntu1) eoan; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - Ignore the cut-huge-range test failure on armhf, only seen on the
+      buildds.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Mon, 22 Apr 2019 11:35:09 -0700
+
 coreutils (8.30-3) unstable; urgency=medium
 
   * Fix renameat2 patch (Closes: #923420)
@@ -150,6 +566,28 @@ coreutils (8.30-2) unstable; urgency=med
 
  -- Michael Stone <mstone@debian.org>  Tue, 26 Feb 2019 07:15:19 -0500
 
+coreutils (8.30-1ubuntu1) disco; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - Ignore the cut-huge-range test failure on armhf, only seen on the
+      buildds.
+  * Dropped changes, included upstream:
+    - debian/patches/adjust_to_glibc_2.28_libio.patch: adjust to glibc
+      2.28's libio.h removal: check for _IO_EOF_SEEN instead of
+      _IO_ftrylockfile, and define _IO_IN_BACKUP for ourselves.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Mon, 14 Jan 2019 14:17:34 +0200
+
 coreutils (8.30-1) unstable; urgency=low
 
   * New upstream version
@@ -162,6 +600,32 @@ coreutils (8.30-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Wed, 29 Aug 2018 16:20:06 -0400
 
+coreutils (8.28-1ubuntu2) cosmic; urgency=medium
+
+  * debian/patches/adjust_to_glibc_2.28_libio.patch: adjust to glibc 2.28's
+    libio.h removal: check for _IO_EOF_SEEN instead of _IO_ftrylockfile, and
+    define _IO_IN_BACKUP for ourselves.
+
+ -- Mathieu Trudel-Lapierre <cyphermox@ubuntu.com>  Thu, 04 Oct 2018 19:50:13 -0400
+
+coreutils (8.28-1ubuntu1) bionic; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+    - Ignore the cut-huge-range test failure on armhf, only seen on the
+      buildds.
+
+ -- Julian Andres Klode <juliank@ubuntu.com>  Thu, 18 Jan 2018 10:43:49 +0100
+
 coreutils (8.28-1) unstable; urgency=low
 
   * New upstream version
@@ -184,6 +648,35 @@ coreutils (8.28-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Mon, 02 Oct 2017 13:51:20 -0400
 
+coreutils (8.26-3ubuntu4) artful; urgency=medium
+
+  * debian/patches/test-misc-date-tzdb-2017a.patch: fixes date test
+    caused by tzdb-2017a update. LP: #1679865.
+
+ -- Tiago Stürmer Daitx <tiago.daitx@ubuntu.com>  Wed, 04 Oct 2017 19:56:41 +0000
+
+coreutils (8.26-3ubuntu3) zesty; urgency=medium
+
+  * Ignore the cut-huge-range test failure on armhf, only seen on the buildds.
+
+ -- Matthias Klose <doko@ubuntu.com>  Wed, 01 Mar 2017 09:33:36 +0100
+
+coreutils (8.26-3ubuntu1) zesty; urgency=medium
+
+  * Merge with Debian; remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+
+ -- Matthias Klose <doko@ubuntu.com>  Tue, 28 Feb 2017 10:10:28 +0100
+
 coreutils (8.26-3) unstable; urgency=medium
 
   * Update standards version to 3.9.8.0 (no changes)
@@ -206,6 +699,30 @@ coreutils (8.26-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Fri, 09 Dec 2016 09:08:27 -0500
 
+coreutils (8.25-2ubuntu2) xenial; urgency=medium
+
+  * debian/tests/upstream:
+    - Whoops, drop four tests that have been removed upstream
+
+ -- Michael Terry <mterry@ubuntu.com>  Thu, 18 Feb 2016 08:27:50 -0500
+
+coreutils (8.25-2ubuntu1) xenial; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - debian/rules:
+      + Allow crossbuilding
+      + Run tests
+    - debian/tests:
+      + Add dep8 tests
+    - debian/patches/80_fedora_sysinfo.patch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection.patch:
+      + Fix detection of floating point endianness.
+  * Drop 99_mountinfo.patch, it's been applied upstream
+
+ -- Michael Terry <mterry@ubuntu.com>  Wed, 17 Feb 2016 14:52:46 -0500
+
 coreutils (8.25-2) unstable; urgency=medium
 
   * Disable default ls quoting for now to get the rest of 8.25 into testing.
@@ -237,6 +754,40 @@ coreutils (8.24-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Mon, 18 Jan 2016 15:34:49 -0500
 
+coreutils (8.23-4ubuntu2) wily; urgency=medium
+
+  * debian/patches/33_chroot_always.dpatch:
+    - Update Debian's patch to also comment out the tests that are made
+      obsolete by the same patch.  We no longer have non-root support
+      for "chroot /". Fixes FTBFS.
+
+ -- Michael Terry <mterry@ubuntu.com>  Wed, 14 Oct 2015 15:44:28 -0400
+
+coreutils (8.23-4ubuntu1) wily; urgency=low
+
+  [ Michael Terry ]
+  * Merge from Debian unstable.  Remaining changes:
+    - debian/rules: Let it cross build:
+      + Preseed some autoconf tests.
+      + Don't rebuild the man pages.
+    - debian/control:
+      + Depend on acl and strace for autopkgtests.
+    - debian/tests/upstream:
+      + Adjust for changed test layout in 8.20.
+      + Update list of autopkgtest-runnable unit tests (LP: #1246805).
+    - debian/patches/80_fedora_sysinfo.dpatch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection:
+      + Fix detection of floating point endianness.
+
+  [ Dave Chiluk ]
+  * Add support for correctly processing /proc/self/mountinfo.
+  * Fix df to prioritize mounts of the root of a device over bind mounts.
+    (LP: #1432871)
+
+ -- Michael Terry <mterry@ubuntu.com>  Wed, 14 Oct 2015 13:04:46 -0400
+
 coreutils (8.23-4) unstable; urgency=low
 
   * [33] remove chroot optimization that avoids the actual chroot when 
@@ -250,6 +801,28 @@ coreutils (8.23-4) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Sat, 14 Mar 2015 07:59:06 -0400
 
+coreutils (8.23-3ubuntu1) vivid; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - debian/rules: Let it cross build:
+      + Preseed some autoconf tests.
+      + Don't rebuild the man pages.
+    - debian/control:
+      + Depend on acl and strace for autopkgtests.
+    - debian/tests/upstream:
+      + Adjust for changed test layout in 8.20.
+      + Update list of autopkgtest-runnable unit tests (LP: #1246805).
+    - debian/patches/80_fedora_sysinfo.dpatch
+      + Make 'uname -i -p' return the real processor/hardware,
+        instead of unknown.
+    - debian/patches/99_float_endian_detection:
+      + Fix detection of floating point endianness.
+  * update "Remaining changes" to reflect current status
+  * drop debian/patches/99_test_nohup_tty.dpatch as its upstream
+  * remove leftover ".failed" patch files from some earlier merge
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 03 Nov 2014 08:08:11 +0100
+
 coreutils (8.23-3) unstable; urgency=low
 
   * Standards version 3.9.6.0
@@ -261,6 +834,37 @@ coreutils (8.23-3) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Wed, 29 Oct 2014 20:58:59 -0400
 
+coreutils (8.23-2ubuntu3) utopic; urgency=medium
+
+  * Don't run tests during autopkg tests which depend on the test
+    binaries (getlimits, ginstall).
+
+ -- Matthias Klose <doko@ubuntu.com>  Mon, 08 Sep 2014 13:03:00 +0200
+
+coreutils (8.23-2ubuntu2) utopic; urgency=medium
+
+  * Update the list of skipped autopkg tests.
+
+ -- Matthias Klose <doko@ubuntu.com>  Wed, 03 Sep 2014 19:36:19 +0200
+
+coreutils (8.23-2ubuntu1) utopic; urgency=medium
+
+  * Merge with Debian; remaining changes:
+    - Make 'uname -i -p' return the real processor/hardware, instead of
+      unknown.
+    - debian/tests/upstream: Adjust for changed test layout in 8.20.
+    - Configure with --disable-silent-rules.
+    - Let it cross build:
+      + Preseed some autoconf tests.
+      + Don't rebuild the man pages.
+    - Re-enable tests, except when cross-building.
+    - Fix detection of floating point endianness.
+    - Update list of autopkgtest-runnable unit tests (LP: #1246805).
+    - Ignore skipped tests in autopkgtest harness.
+    - Depend on acl and strace for autopkgtests.
+
+ -- Matthias Klose <doko@ubuntu.com>  Tue, 02 Sep 2014 22:54:09 +0200
+
 coreutils (8.23-2) unstable; urgency=low
 
   * Added missing replaces (Closes: #760233, #760234)
@@ -295,6 +899,48 @@ coreutils (8.21-1.1) unstable; urgency=m
 
  -- Samuel Thibault <sthibault@debian.org>  Wed, 05 Feb 2014 22:50:43 +0000
 
+coreutils (8.21-1ubuntu5) trusty; urgency=medium
+
+  * Pull patch from upstream to fix nohup test with the new bash.
+
+ -- Adam Conrad <adconrad@ubuntu.com>  Mon, 24 Mar 2014 00:42:22 -0600
+
+coreutils (8.21-1ubuntu4) trusty; urgency=medium
+
+  * Fix detection of floating point endianness.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Wed, 18 Dec 2013 13:29:08 +0000
+
+coreutils (8.21-1ubuntu3) trusty; urgency=low
+
+  * Update list of autopkgtest-runnable unit tests (LP: #1246805).
+  * Ignore skipped tests in autopkgtest harness.
+  * Depend on acl and strace for autopkgtests.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 31 Oct 2013 11:22:35 -0700
+
+coreutils (8.21-1ubuntu2) trusty; urgency=low
+
+  * Backport from gnulib upstream (Paul Eggert):
+    - xvasprintf-tests: port to GCC with hardening flags
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 31 Oct 2013 08:33:23 -0700
+
+coreutils (8.21-1ubuntu1) trusty; urgency=low
+
+  * Resynchronise with Debian.  Remaining changes:
+    - Make 'uname -i -p' return the real processor/hardware, instead of
+      unknown.
+    - debian/tests/upstream: Adjust for changed test layout in 8.20.
+    - Configure with --disable-silent-rules.
+    - Let it cross build:
+      + Preseed some autoconf tests.
+      + Don't rebuild the man pages.
+    - (aarch64): Make add_ssaaaa and sub_ddmmss actually work.
+  * Re-enable tests, except when cross-building.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 31 Oct 2013 07:24:28 -0700
+
 coreutils (8.21-1) unstable; urgency=low
 
   * New upstream version
@@ -306,6 +952,47 @@ coreutils (8.21-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Sat, 20 Jul 2013 15:45:55 -0400
 
+coreutils (8.20-3ubuntu5) raring; urgency=low
+
+  * Backport from gmp upstream:
+    - (aarch64): Make add_ssaaaa and sub_ddmmss actually work.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 17 Jan 2013 04:21:35 +0000
+
+coreutils (8.20-3ubuntu4) raring; urgency=low
+
+  * Configure with --disable-silent-rules.
+  * Let it cross build:
+    - Preseed some autoconf tests.
+    - Build make-prime-list with the build compiler.
+    - Don't rebuild the man pages.
+
+ -- Matthias Klose <doko@ubuntu.com>  Wed, 12 Dec 2012 18:38:55 +0100
+
+coreutils (8.20-3ubuntu3) raring; urgency=low
+
+  * debian/tests/upstream: Adjust for changed test layout in 8.20.
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Fri, 30 Nov 2012 22:08:22 +0100
+
+coreutils (8.20-3ubuntu2) raring; urgency=low
+
+  * Avoid PPC64 instructions unless _LP64 is defined.
+  * Revert build-dependency from gettext:any to gettext, now that gettext is
+    Multi-Arch: foreign.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 29 Nov 2012 14:32:40 +0000
+
+coreutils (8.20-3ubuntu1) raring; urgency=low
+
+  * Resynchronise with Debian.  Remaining changes:
+    - Make 'uname -i -p' return the real processor/hardware, instead of
+      unknown.
+    - Build-depend on gettext:any instead of on gettext, so that apt-get can
+      properly resolve build-dependencies on the tool when cross-building.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Wed, 28 Nov 2012 03:03:42 +0000
+
 coreutils (8.20-3) unstable; urgency=low
 
   * actually include autopkgtest changes
@@ -346,6 +1033,75 @@ coreutils (8.13-3.3) unstable; urgency=l
 
  -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Sep 2012 22:02:19 -0700
 
+coreutils (8.13-3.2ubuntu7) raring; urgency=low
+
+  * Backport require_valgrind_ so that tests work better.
+  * Make valgrind failures non-fatal; we don't have sufficiently accurate
+    suppressions for linker startup issues on all architectures.  However,
+    do still run those tests and check for corrupted output.
+  * Don't build-depend on valgrind on armhf, as it apparently breaks there.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Fri, 09 Nov 2012 10:01:28 +0000
+
+coreutils (8.13-3.2ubuntu6) raring; urgency=low
+
+  * Backport upstream patch to avoid data-corrupting free-memory-read in
+    cp/mv/install when dealing with a very fragmented and sparse input file
+    on certain filesystems (LP: #1073514).
+  * Build-depend on valgrind in order to be able to run the test for the
+    above fix.
+  * Fix 99_sort_-u_data_loss.dpatch so that the added test is actually run.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 08 Nov 2012 16:24:07 +0000
+
+coreutils (8.13-3.2ubuntu5) raring; urgency=low
+
+  * debian/tests/upstream: Drop the three tests that fail with "skipped test:
+    this shell lacks ulimit support" in our test environment.
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Thu, 08 Nov 2012 06:01:55 +0100
+
+coreutils (8.13-3.2ubuntu4) raring; urgency=low
+
+  [ Paul Larson ]
+  * Fix debian/tests/upstream: Make the test script count the number of test
+    failures, declare them at the end of the test run, and exit with the
+    number of failed tests. (LP: #1075612)
+
+  [ Martin Pitt ]
+  * debian/tests/upstream: Drop du/bigtime test, does not work in our test
+    environment.
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Wed, 07 Nov 2012 15:51:30 +0100
+
+coreutils (8.13-3.2ubuntu3) raring; urgency=low
+
+  * Add debian/tests/: autopkgtest for running a subset of the upstream tests
+    against the system installed binaries. The other upstream tests need a
+    built tree, and are run during package build. (LP: #1073445)
+  * Add 01_gnulib-gets.dpatch: Avoid assuming that gets is declared in bundled
+    gnulib. Backported from upstream gnulib SVN to fix FTBFS.
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Tue, 06 Nov 2012 13:21:20 +0100
+
+coreutils (8.13-3.2ubuntu2) quantal; urgency=low
+
+  * Update config.guess,sub for aarch64
+
+ -- Wookey <wookey@wookware.org>  Mon, 01 Oct 2012 15:41:06 +0100
+
+coreutils (8.13-3.2ubuntu1) quantal; urgency=low
+
+  * Resynchronise with Debian.  Remaining changes:
+    - [80] Make 'uname -i -p' return the real processor/hardware, instead of
+      unknown.
+    - Build-depend on gettext:any instead of on gettext, so that apt-get can
+      properly resolve build-dependencies on the tool when cross-building.
+  * Backport upstream patches to fix data-loss and free-memory read bugs in
+    'sort -u' (LP: #1038468).
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Mon, 10 Sep 2012 14:07:50 +0100
+
 coreutils (8.13-3.2) unstable; urgency=low
 
   * Non-maintainer upload.
@@ -366,6 +1122,34 @@ coreutils (8.13-3.2) unstable; urgency=l
 
  -- Steve Langasek <vorlon@debian.org>  Wed, 02 May 2012 02:27:43 +0000
 
+coreutils (8.13-3.1ubuntu1) quantal; urgency=low
+
+  * Merge from Debian unstable, remaining changes:
+    - [80] Make 'uname -i -p' return the real processor/hardware, instead of
+      unknown.
+    - Build-depend on gettext:any instead of on gettext, so that apt-get can
+      properly resolve build-dependencies on the tool when cross-building.
+  * Incorporate changes from Debian NMU to DELAYED/5-days:
+    - Don't declare separate build-arch/build-indep targets when they just
+      fall through to the same common build rule, since they don't have
+      correct target dependencies themselves.  Closes: #670481.
+    - Enable hardening build flags.  Thanks to Moritz Muehlenhoff for the
+      patch.  Closes: #653743.
+    - debian/patches/99_Werror-format-string.dpatch: fix the gnulib test
+      suite so that it doesn't fail to build with hardening flags on.
+    - Mark coreutils Multi-Arch: foreign.  Thanks to Colin Watson.
+      Closes: #649397.
+    - debian/patches/99_tests-misc-sort-continue-Port-to-Fedora-15.dpatch:
+      cherry-pick from upstream to fix a build failure whenever the build
+      system happens to be holding an fd open, as happens when running in
+      certain environments (e.g., Lucas's test rebuild farm, or
+      bzr-builddeb). Closes: #669555.
+  * Dropped changes, superseded by the above NMU:
+    - Filter out -Werror=format-security from CFLAGS when building tests, to
+      avoid a build failure in gnulib-tests/test-xvasprintf.c.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Tue, 01 May 2012 22:07:44 -0700
+
 coreutils (8.13-3.1) unstable; urgency=low
 
   * Non-maintainer upload.
@@ -375,6 +1159,29 @@ coreutils (8.13-3.1) unstable; urgency=l
 
  -- Jakub Wilk <jwilk@debian.org>  Wed, 29 Feb 2012 00:11:27 +0100
 
+coreutils (8.13-3ubuntu3) precise; urgency=low
+
+  * Build-depend on gettext:any instead of on gettext, so that apt-get can
+    properly resolve build-dependencies on the tool when cross-building.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Sat, 31 Mar 2012 14:54:13 -0700
+
+coreutils (8.13-3ubuntu2) precise; urgency=low
+
+  * Mark coreutils Multi-Arch: foreign.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Sun, 20 Nov 2011 17:21:08 +0000
+
+coreutils (8.13-3ubuntu1) precise; urgency=low
+
+  * Resynchronise with Debian.  Remaining changes:
+    - [80] Make 'uname -i -p' return the real processor/hardware, instead of
+      unknown.
+  * Filter out -Werror=format-security from CFLAGS when building tests, to
+    avoid a build failure in gnulib-tests/test-xvasprintf.c.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Tue, 18 Oct 2011 10:59:14 +0100
+
 coreutils (8.13-3) unstable; urgency=low
 
   * revert previous change to -mlong-double-64
@@ -406,6 +1213,51 @@ coreutils (8.13-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Mon, 12 Sep 2011 17:21:19 -0400
 
+coreutils (8.5-1ubuntu6) natty; urgency=low
+
+  * Backport from upstream (Jim Meyering):
+    - tail: avoid new diagnostic when applying -f to a pipe on linux-2.6.38.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Wed, 23 Feb 2011 13:06:43 +0000
+
+coreutils (8.5-1ubuntu5) natty; urgency=low
+
+  * debian/patches/80_fedora_sysinfo.dpatch: make 'uname -i -p' return the
+    real processor/hardware, instead of unknown. Patch cherry-picked from
+    Fedora 12 (original: coreutils-4.5.3-sysinfo.patch, from the
+    coreutils-7.6-5.src.rpm).  LP: #470550.
+
+ -- C de-Avillez <hggdh2@ubuntu.com>  Tue, 10 Nov 2009 12:38:24 -0600
+
+coreutils (8.5-1ubuntu4) natty; urgency=low
+
+  * No-change upload to drop upstream changelog, and build with natty
+    toolchain.
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Fri, 03 Dec 2010 08:40:09 +0100
+
+coreutils (8.5-1ubuntu3) maverick; urgency=low
+
+  * Maybe test that the package builds first before uploading; dpatch is a
+    picky one, isn't it?
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 11 Jun 2010 06:49:02 +0000
+
+coreutils (8.5-1ubuntu2) maverick; urgency=low
+
+  [ John Rigby ]
+  * debian/patches/99_stat_prototype_for_linkat.dpatch: Add missing header
+    include for stat() prototype.  LP: #591968.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 11 Jun 2010 06:03:58 +0000
+
+coreutils (8.5-1ubuntu1) maverick; urgency=low
+
+  * Merge from Debian unstable, remaining changes:
+    - debian/rules: Do not install dangling LC_TIME symlinks
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Mon, 07 Jun 2010 01:41:56 +0000
+
 coreutils (8.5-1) unstable; urgency=low
 
   * New upstream version
@@ -502,6 +1354,20 @@ coreutils (7.5-1) unstable; urgency=low
 
  -- Michael Stone <mstone@debian.org>  Wed, 02 Sep 2009 20:50:02 -0400
 
+coreutils (7.4-2ubuntu2) lucid; urgency=low
+
+  * rebuild rest of main for armel armv7/thumb2 optimization;
+    UbuntuSpec:mobile-lucid-arm-gcc-v7-thumb2
+
+ -- Alexander Sack <asac@ubuntu.com>  Fri, 05 Mar 2010 04:06:08 +0100
+
+coreutils (7.4-2ubuntu1) karmic; urgency=low
+
+  * debian/rules: Do not install dangling LC_TIME symlinks, they are not
+    needed. (LP: #42293)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Tue, 06 Oct 2009 12:22:48 +0200
+
 coreutils (7.4-2) unstable; urgency=low
 
   * move mktemp to /bin instead of /usr/bin (Closes: #531842)
@@ -1248,4 +2114,3 @@ coreutils (4.5.1-1) unstable; urgency=lo
 
  -- Michael Stone <mstone@debian.org>  Fri, 13 Sep 2002 21:00:15 -0400
 
-
diff -pruN 9.7-3/debian/control 9.7-3ubuntu1/debian/control
--- 9.7-3/debian/control	2025-04-20 17:33:30.000000000 +0000
+++ 9.7-3ubuntu1/debian/control	2025-10-24 07:10:01.000000000 +0000
@@ -1,16 +1,17 @@
 Source: coreutils
-Maintainer: Michael Stone <mstone@debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Michael Stone <mstone@debian.org>
 Section: utils
 Priority: required
 Standards-Version: 4.7.2
 Build-Depends: gettext (>= 0.10.37), debhelper-compat (= 13), texinfo (>= 4.2) <!nodoc>, libattr1-dev [linux-any], libacl1-dev [linux-any], libselinux1-dev (>= 1.32) [linux-any], gperf, bison, libgmp3-dev, libssl-dev, libsystemd-dev
 
-Package: coreutils
+Package: gnu-coreutils
 Architecture: any
 Multi-Arch: foreign
 Pre-Depends: ${shlibs:Depends}, ${misc:Pre-Depends}
-Essential: yes
 Depends: ${misc:Depends}
+Replaces: coreutils (<< 9.5-1ubuntu2~)
 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 -pruN 9.7-3/debian/coreutils.NEWS 9.7-3ubuntu1/debian/coreutils.NEWS
--- 9.7-3/debian/coreutils.NEWS	2014-09-01 14:00:42.000000000 +0000
+++ 9.7-3ubuntu1/debian/coreutils.NEWS	1970-01-01 00:00:00.000000000 +0000
@@ -1,40 +0,0 @@
-coreutils (8.23-1) unstable; urgency=low
-
-  GNU coreutils package now includes the `realpath' command that used to
-  be found in a separate `realpath' package.
-
-  Even though the GNU version provides all the features of the old Debian
-  version, the behaviour is a bit different, namely:
-
-    * GNU `realpath' and `realpath -s' commands require all but the
-      last path components to exist
-
-  whereas:
-
-    * Debian version of `realpath' required all the path components to exist;
-    * Debian version of `realpath -s' required no path components to exist.
-
-  To get the old behaviour in GNU `realpath' an additional option needs
-  to be used:
-
-       Old Debian realpath       New GNU coreutils realpath
-     -----------------------    ----------------------------
-      realpath    file(s)    =>    realpath -e    file(s)
-      realpath -s file(s)    =>    realpath -s -m file(s)
-
- -- Robert Luberda <robert@debian.org>  Sun, 31 Aug 2014 16:08:14 +0200
-
-coreutils (5.96-3) unstable; urgency=low
-
-  * The POSIX compatibility level is now set to POSIX 1003.1-2001,
-    which affects the syntax for several commands.  For transition
-    purposes, "sort +number" and "tail +number" will be supported
-    for the etch release. Note that these usages are deprecated, and
-    will be removed in etch+1; the recommended usage is "sort -k number"
-    and "tail -n +number". Also, "uniq +number" should be replaced with
-    "uniq -s number" and "touch number filename" should be replaced with
-    "touch -t number filename". To revert to the older syntax, set the
-    environment variable _POSIX2_VERSION to "199209".
-
- -- Michael Stone <mstone@debian.org>  Sat, 27 May 2006 12:56:18 -0400
-
diff -pruN 9.7-3/debian/coreutils.README.Debian 9.7-3ubuntu1/debian/coreutils.README.Debian
--- 9.7-3/debian/coreutils.README.Debian	2014-09-01 13:51:06.000000000 +0000
+++ 9.7-3ubuntu1/debian/coreutils.README.Debian	1970-01-01 00:00:00.000000000 +0000
@@ -1,10 +0,0 @@
-Most of the coreutils documentation is available as info pages. (Try "info
-coreutils" at a command prompt). A version of this documentation is also
-available online at
-http://www.gnu.org/software/coreutils/manual/html_node/index.html
-(Note that the online version may not reflect the version of coreutils in this
-package.)
-
-There is also a frequently asked questions document available at
-http://www.gnu.org/software/coreutils/faq/coreutils-faq.html
-
diff -pruN 9.7-3/debian/coreutils.dirs 9.7-3ubuntu1/debian/coreutils.dirs
--- 9.7-3/debian/coreutils.dirs	2024-03-09 17:40:09.000000000 +0000
+++ 9.7-3ubuntu1/debian/coreutils.dirs	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/share/doc/coreutils
diff -pruN 9.7-3/debian/gnu-coreutils.NEWS 9.7-3ubuntu1/debian/gnu-coreutils.NEWS
--- 9.7-3/debian/gnu-coreutils.NEWS	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/gnu-coreutils.NEWS	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,40 @@
+coreutils (8.23-1) unstable; urgency=low
+
+  GNU coreutils package now includes the `realpath' command that used to
+  be found in a separate `realpath' package.
+
+  Even though the GNU version provides all the features of the old Debian
+  version, the behaviour is a bit different, namely:
+
+    * GNU `realpath' and `realpath -s' commands require all but the
+      last path components to exist
+
+  whereas:
+
+    * Debian version of `realpath' required all the path components to exist;
+    * Debian version of `realpath -s' required no path components to exist.
+
+  To get the old behaviour in GNU `realpath' an additional option needs
+  to be used:
+
+       Old Debian realpath       New GNU coreutils realpath
+     -----------------------    ----------------------------
+      realpath    file(s)    =>    realpath -e    file(s)
+      realpath -s file(s)    =>    realpath -s -m file(s)
+
+ -- Robert Luberda <robert@debian.org>  Sun, 31 Aug 2014 16:08:14 +0200
+
+coreutils (5.96-3) unstable; urgency=low
+
+  * The POSIX compatibility level is now set to POSIX 1003.1-2001,
+    which affects the syntax for several commands.  For transition
+    purposes, "sort +number" and "tail +number" will be supported
+    for the etch release. Note that these usages are deprecated, and
+    will be removed in etch+1; the recommended usage is "sort -k number"
+    and "tail -n +number". Also, "uniq +number" should be replaced with
+    "uniq -s number" and "touch number filename" should be replaced with
+    "touch -t number filename". To revert to the older syntax, set the
+    environment variable _POSIX2_VERSION to "199209".
+
+ -- Michael Stone <mstone@debian.org>  Sat, 27 May 2006 12:56:18 -0400
+
diff -pruN 9.7-3/debian/gnu-coreutils.README.Debian 9.7-3ubuntu1/debian/gnu-coreutils.README.Debian
--- 9.7-3/debian/gnu-coreutils.README.Debian	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/gnu-coreutils.README.Debian	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,10 @@
+Most of the coreutils documentation is available as info pages. (Try "info
+coreutils" at a command prompt). A version of this documentation is also
+available online at
+http://www.gnu.org/software/coreutils/manual/html_node/index.html
+(Note that the online version may not reflect the version of coreutils in this
+package.)
+
+There is also a frequently asked questions document available at
+http://www.gnu.org/software/coreutils/faq/coreutils-faq.html
+
diff -pruN 9.7-3/debian/gnu-coreutils.dirs 9.7-3ubuntu1/debian/gnu-coreutils.dirs
--- 9.7-3/debian/gnu-coreutils.dirs	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/gnu-coreutils.dirs	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1 @@
+usr/share/doc/gnu-coreutils
diff -pruN 9.7-3/debian/patches/72_id_checkngroups.patch 9.7-3ubuntu1/debian/patches/72_id_checkngroups.patch
--- 9.7-3/debian/patches/72_id_checkngroups.patch	2020-06-22 18:43:02.000000000 +0000
+++ 9.7-3ubuntu1/debian/patches/72_id_checkngroups.patch	2025-10-24 07:10:01.000000000 +0000
@@ -1,10 +1,6 @@
-Author: 
-Description: 
-Index: coreutils-8.24/src/id.c
-===================================================================
---- coreutils-8.24.orig/src/id.c
-+++ coreutils-8.24/src/id.c
-@@ -416,6 +416,10 @@ print_full_info (const char *username)
+--- a/src/id.c
++++ b/src/id.c
+@@ -401,6 +401,10 @@
          ok &= false;
          return;
        }
diff -pruN 9.7-3/debian/patches/80_fedora_sysinfo.patch 9.7-3ubuntu1/debian/patches/80_fedora_sysinfo.patch
--- 9.7-3/debian/patches/80_fedora_sysinfo.patch	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/patches/80_fedora_sysinfo.patch	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,73 @@
+--- a/src/uname.c
++++ b/src/uname.c
+@@ -272,7 +272,7 @@ decode_switches (int argc, char **argv)
+ int
+ main (int argc, char **argv)
+ {
+-  static char const unknown[] = "unknown";
++  static char unknown[] = "unknown";
+ 
+   /* Mask indicating which elements to print. */
+   unsigned int toprint = 0;
+@@ -313,7 +313,7 @@ main (int argc, char **argv)
+ 
+   if (toprint & PRINT_PROCESSOR)
+     {
+-      char const *element = unknown;
++      char *element = unknown;
+ #ifdef __APPLE__
+ # if defined __arm__ || defined __arm64__
+       element = "arm";
+@@ -330,6 +330,28 @@ main (int argc, char **argv)
+           if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
+             element = processor;
+         }
++#else
++      {
++	struct utsname u;
++	uname(&u);
++	element = u.machine;
++#ifdef linux
++	if(!strcmp(element, "i686")) { /* Check for Athlon */
++		char cinfo[1024];
++		FILE *f=fopen("/proc/cpuinfo", "r");
++		if(f) {
++			while(fgets(cinfo, 1024, f)) {
++				if(!strncmp(cinfo, "vendor_id", 9)) {
++					if(strstr(cinfo, "AuthenticAMD"))
++						element="athlon";
++					break;
++				}
++			}
++			fclose(f);
++		}
++	}
++#endif
++      }
+ #endif
+ #ifdef UNAME_PROCESSOR
+       if (element == unknown)
+@@ -347,7 +369,7 @@ main (int argc, char **argv)
+ 
+   if (toprint & PRINT_HARDWARE_PLATFORM)
+     {
+-      char const *element = unknown;
++      char *element = unknown;
+ #if HAVE_SYSINFO && defined SI_PLATFORM
+       {
+         static char hardware_platform[257];
+@@ -355,6 +377,14 @@ main (int argc, char **argv)
+                           hardware_platform, sizeof hardware_platform))
+           element = hardware_platform;
+       }
++#else
++      {
++	struct utsname u;
++	uname(&u);
++	element = u.machine;
++	if(strlen(element)==4 && element[0]=='i' && element[2]=='8' && element[3]=='6')
++		element[1]='3';
++      }
+ #endif
+ #ifdef UNAME_HARDWARE_PLATFORM
+       if (element == unknown)
diff -pruN 9.7-3/debian/patches/99_float_endian_detection.patch 9.7-3ubuntu1/debian/patches/99_float_endian_detection.patch
--- 9.7-3/debian/patches/99_float_endian_detection.patch	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/patches/99_float_endian_detection.patch	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,35 @@
+Author: Colin Watson <cjwatson@ubuntu.com>
+Description: Fix detection of floating point endianness.
+ See https://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00104.html
+ Based on a suggestion by Alan Modra.
+
+--- a/gnulib-tests/test-isnanl.h
++++ b/gnulib-tests/test-isnanl.h
+@@ -25,6 +25,12 @@
+ #include "snan.h"
+ #include "macros.h"
+ 
++#ifdef __FLOAT_WORD_ORDER__
++# define FLOAT_BIG_ENDIAN (__FLOAT_WORD_ORDER__ != __ORDER_LITTLE_ENDIAN__)
++#else
++# define FLOAT_BIG_ENDIAN (LDBL_EXPBIT0_WORD < NWORDS / 2)
++#endif
++
+ int
+ main ()
+ {
+--- a/gnulib-tests/test-signbit.c
++++ b/gnulib-tests/test-signbit.c
+@@ -38,6 +38,12 @@ float zerof = 0.0f;
+ double zerod = 0.0;
+ long double zerol = 0.0L;
+ 
++#ifdef __FLOAT_WORD_ORDER__
++# define FLOAT_BIG_ENDIAN (__FLOAT_WORD_ORDER__ != __ORDER_LITTLE_ENDIAN__)
++#else
++# define FLOAT_BIG_ENDIAN (LDBL_EXPBIT0_WORD < NWORDS / 2)
++#endif
++
+ static void
+ test_signbitf ()
+ {
diff -pruN 9.7-3/debian/patches/cp-n.diff 9.7-3ubuntu1/debian/patches/cp-n.diff
--- 9.7-3/debian/patches/cp-n.diff	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/patches/cp-n.diff	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,37 @@
+Description: revert cp -n behavior to debian 12 and prior
+Author: Michael Stone <mstone@debian.org>
+Bug-Debian: https://bugs.debian.org/1058752
+--- a/src/cp.c
++++ b/src/cp.c
+@@ -195,8 +195,10 @@ Copy SOURCE to DEST, or multiple SOURCE(
+   -L, --dereference            always follow symbolic links in SOURCE\n\
+ "), stdout);
+       fputs (_("\
+-  -n, --no-clobber             (deprecated) silently skip existing files.\n\
+-                                 See also --update\n\
++  -n, --no-clobber             (deprecated) do not overwrite an existing file\n\
++                                 and do not fail\n\ (overrides a -u or \n\
++                                 previous -i option). See also --update; \n\
++                                 equivalent to --update=none.\n\
+ "), stdout);
+       fputs (_("\
+   -P, --no-dereference         never follow symbolic links in SOURCE\n\
+@@ -1075,6 +1077,7 @@ main (int argc, char **argv)
+ 
+         case 'n':
+           x.interactive = I_ALWAYS_SKIP;
++          error (0, 0, _("warning: behavior of -n is non-portable and may change in future; use --update=none instead"));
+           break;
+ 
+         case 'P':
+--- a/tests/cp/cp-i.sh
++++ b/tests/cp/cp-i.sh
+@@ -19,6 +19,8 @@
+ . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
+ print_ver_ cp
+ 
++skip_ "behavior of -n is non-portable, and Debian behavior differs from upstream"
++
+ mkdir -p a b/a/c || framework_failure_
+ touch a/c || framework_failure_
+ 
diff -pruN 9.7-3/debian/patches/gnulib-nfs-acl.patch 9.7-3ubuntu1/debian/patches/gnulib-nfs-acl.patch
--- 9.7-3/debian/patches/gnulib-nfs-acl.patch	2025-06-04 15:14:05.000000000 +0000
+++ 9.7-3ubuntu1/debian/patches/gnulib-nfs-acl.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,449 +0,0 @@
-Author: Paul Eggert  <eggert@cs.ucla.edu>
-Description: addresses spurious cp permission errors
-===================================================================
-diff --git a/lib/acl.h b/lib/acl.h
-index 90fd24e152..e3c134fb41 100644
---- a/lib/acl.h
-+++ b/lib/acl.h
-@@ -79,6 +79,8 @@ struct aclinfo
- bool acl_errno_valid (int) _GL_ATTRIBUTE_CONST;
- int file_has_acl (char const *, struct stat const *);
- int file_has_aclinfo (char const *restrict, struct aclinfo *restrict, int);
-+int fdfile_has_aclinfo (int, char const *restrict,
-+                        struct aclinfo *restrict, int);
- 
- #if HAVE_LINUX_XATTR_H && HAVE_LISTXATTR
- bool aclinfo_has_xattr (struct aclinfo const *, char const *)
-diff --git a/lib/copy-acl.c b/lib/copy-acl.c
-index c36f64e51d..2fce6c7d46 100644
---- a/lib/copy-acl.c
-+++ b/lib/copy-acl.c
-@@ -33,6 +33,7 @@
-    a valid file descriptor, use file descriptor operations, else use
-    filename based operations on SRC_NAME. Likewise for DEST_DESC and
-    DST_NAME.
-+   MODE should be the source file's st_mode.
-    If access control lists are not available, fchmod the target file to
-    MODE.  Also sets the non-permission bits of the destination file
-    (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set.
-diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c
-index 66b920c1ab..a356ee0d0b 100644
---- a/lib/file-has-acl.c
-+++ b/lib/file-has-acl.c
-@@ -85,6 +85,13 @@ smack_new_label_from_path (MAYBE_UNUSED const char *path,
- {
-   return -1;
- }
-+static ssize_t
-+smack_new_label_from_file (MAYBE_UNUSED int fd,
-+                           MAYBE_UNUSED const char *xattr,
-+                           MAYBE_UNUSED char **label)
-+{
-+  return -1;
-+}
- # endif
- static bool
- is_smack_enabled (void)
-@@ -115,14 +122,16 @@ aclinfo_may_indicate_xattr (struct aclinfo const *ai)
- 
- static bool
- has_xattr (char const *xattr, struct aclinfo const *ai,
--           MAYBE_UNUSED char const *restrict name, MAYBE_UNUSED int flags)
-+           int fd, char const *restrict name, int flags)
- {
-   if (ai && aclinfo_has_xattr (ai, xattr))
-     return true;
-   else if (!ai || aclinfo_may_indicate_xattr (ai))
-     {
--      int ret = ((flags & ACL_SYMLINK_FOLLOW ? getxattr : lgetxattr)
--                (name, xattr, NULL, 0));
-+      int ret = (fd < 0
-+                 ? ((flags & ACL_SYMLINK_FOLLOW ? getxattr : lgetxattr)
-+                    (name, xattr, NULL, 0))
-+                 : fgetxattr (fd, xattr, NULL, 0));
-       if (0 <= ret || (errno == ERANGE || errno == E2BIG))
-         return true;
-     }
-@@ -145,11 +154,12 @@ aclinfo_has_xattr (struct aclinfo const *ai, char const *xattr)
-   return false;
- }
- 
--/* Get attributes of the file NAME into AI, if USE_ACL.
-+/* Get attributes of the file FD aka NAME into AI, if USE_ACL.
-+   Ignore FD if it is negative.
-    If FLAGS & ACL_GET_SCONTEXT, also get security context.
-    If FLAGS & ACL_SYMLINK_FOLLOW, follow symbolic links.  */
- static void
--get_aclinfo (char const *name, struct aclinfo *ai, int flags)
-+get_aclinfo (int fd, char const *name, struct aclinfo *ai, int flags)
- {
-   int scontext_err = ENOTSUP;
-   ai->buf = ai->u.__gl_acl_ch;
-@@ -163,7 +173,9 @@ get_aclinfo (char const *name, struct aclinfo *ai, int flags)
-         = (flags & ACL_SYMLINK_FOLLOW ? listxattr : llistxattr);
-       while (true)
-         {
--          ai->size = lsxattr (name, ai->buf, acl_alloc);
-+          ai->size = (fd < 0
-+                      ? lsxattr (name, ai->buf, acl_alloc)
-+                      : flistxattr (fd, ai->buf, acl_alloc));
-           if (0 < ai->size)
-             break;
-           ai->u.err = ai->size < 0 ? errno : 0;
-@@ -171,7 +183,9 @@ get_aclinfo (char const *name, struct aclinfo *ai, int flags)
-             break;
- 
-           /* The buffer was too small.  Find how large it should have been.  */
--          ssize_t size = lsxattr (name, NULL, 0);
-+          ssize_t size = (fd < 0
-+                          ? lsxattr (name, NULL, 0)
-+                          : flistxattr (fd, NULL, 0));
-           if (size <= 0)
-             {
-               ai->size = size;
-@@ -214,9 +228,13 @@ get_aclinfo (char const *name, struct aclinfo *ai, int flags)
-         {
-           if (ai->size < 0 || aclinfo_has_xattr (ai, XATTR_NAME_SMACK))
-             {
--              ssize_t r = smack_new_label_from_path (name, "security.SMACK64",
--                                                     flags & ACL_SYMLINK_FOLLOW,
--                                                     &ai->scontext);
-+              static char const SMACK64[] = "security.SMACK64";
-+              ssize_t r =
-+                (fd < 0
-+                 ? smack_new_label_from_path (name, SMACK64,
-+                                              flags & ACL_SYMLINK_FOLLOW,
-+                                              &ai->scontext)
-+                 : smack_new_label_from_file (fd, SMACK64, &ai->scontext));
-               scontext_err = r < 0 ? errno : 0;
-             }
-         }
-@@ -226,8 +244,10 @@ get_aclinfo (char const *name, struct aclinfo *ai, int flags)
-           if (ai->size < 0 || aclinfo_has_xattr (ai, XATTR_NAME_SELINUX))
-             {
-               ssize_t r =
--                ((flags & ACL_SYMLINK_FOLLOW ? getfilecon : lgetfilecon)
--                 (name, &ai->scontext));
-+                (fd < 0
-+                 ? ((flags & ACL_SYMLINK_FOLLOW ? getfilecon : lgetfilecon)
-+                    (name, &ai->scontext))
-+                 : fgetfilecon (fd, &ai->scontext));
-               scontext_err = r < 0 ? errno : 0;
- #  ifndef SE_SELINUX_INLINE
-               /* Gnulib's selinux-h module is not in use, so getfilecon and
-@@ -362,11 +382,13 @@ acl_nfs4_nontrivial (uint32_t *xattr, ssize_t nbytes)
- }
- #endif
- 
--#if (!USE_LINUX_XATTR && USE_ACL && HAVE_ACL_GET_FD \
--     && !HAVE_ACL_EXTENDED_FILE && !HAVE_ACL_TYPE_EXTENDED \
--     && !HAVE_ACL_GET_LINK_NP)
--# include <fcntl.h>
--# ifdef O_PATH
-+#if (!USE_LINUX_XATTR && USE_ACL && !HAVE_ACL_EXTENDED_FILE \
-+     && !HAVE_ACL_TYPE_EXTENDED)
-+
-+# if HAVE_ACL_GET_FD && !HAVE_ACL_GET_LINK_NP
-+#  include <fcntl.h>
-+#  ifdef O_PATH
-+#   define acl_get_fd_np(fd, type) acl_get_fd (fd)
- 
- /* Like acl_get_file, but do not follow symbolic links.  */
- static acl_t
-@@ -381,8 +403,24 @@ acl_get_link_np (char const *name, acl_type_t type)
-   errno = err;
-   return r;
- }
--#  define HAVE_ACL_GET_LINK_NP 1
-+#   define HAVE_ACL_GET_LINK_NP 1
-+#  endif
- # endif
-+
-+static acl_t
-+acl_get_fdfile (int fd, char const *name, acl_type_t type, int flags)
-+{
-+  acl_t (*get) (char const *, acl_type_t) = acl_get_file;
-+# if HAVE_ACL_GET_LINK_NP /* FreeBSD, NetBSD >= 10, Cygwin >= 2.5 */
-+  if (0 <= fd)
-+    return acl_get_fd_np (fd, type);
-+  if (! (flags & ACL_SYMLINK_FOLLOW))
-+    get = acl_get_link_np;
-+# else
-+  /* Ignore FD and FLAGS, unfortunately.  */
-+# endif
-+  return get (name, type);
-+}
- #endif
- 
- /* Return 1 if NAME has a nontrivial access control list,
-@@ -398,14 +436,35 @@ acl_get_link_np (char const *name, acl_type_t type)
-    If the d_type value is not known, use DT_UNKNOWN though this may be less
-    efficient.  */
- int
--file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-+file_has_aclinfo (char const *restrict name,
-                   struct aclinfo *restrict ai, int flags)
-+{
-+  return fdfile_has_aclinfo (-1, name, ai, flags);
-+}
-+
-+/* Return 1 if FD aka NAME has a nontrivial access control list,
-+   0 if ACLs are not supported, or if NAME has no or only a base ACL,
-+   and -1 (setting errno) on error.  Note callers can determine
-+   if ACLs are not supported as errno is set in that case also.
-+   Ignore FD if it is negative.
-+   Set *AI to ACL info regardless of return value.
-+   FLAGS should be a <dirent.h> d_type value, optionally ORed with
-+     - _GL_DT_NOTDIR if it is known that NAME is not a directory,
-+     - ACL_GET_SCONTEXT to retrieve security context and return 1 if present,
-+     - ACL_SYMLINK_FOLLOW to follow the link if NAME is a symbolic link;
-+       otherwise do not follow them if possible.
-+   If the d_type value is not known, use DT_UNKNOWN though this may be less
-+   efficient.  */
-+int
-+fdfile_has_aclinfo (MAYBE_UNUSED int fd,
-+                    MAYBE_UNUSED char const *restrict name,
-+                    struct aclinfo *restrict ai, int flags)
- {
-   MAYBE_UNUSED unsigned char d_type = flags & UCHAR_MAX;
- 
- #if USE_LINUX_XATTR
-   int initial_errno = errno;
--  get_aclinfo (name, ai, flags);
-+  get_aclinfo (fd, name, ai, flags);
- 
-   if (!aclinfo_may_indicate_xattr (ai) && ai->size <= 0)
-     {
-@@ -418,11 +477,11 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-      In earlier Fedora the two types of ACLs were mutually exclusive.
-      Attempt to work correctly on both kinds of systems.  */
- 
--  if (!has_xattr (XATTR_NAME_NFSV4_ACL, ai, name, flags))
-+  if (!has_xattr (XATTR_NAME_NFSV4_ACL, ai, fd, name, flags))
-     return
--      (has_xattr (XATTR_NAME_POSIX_ACL_ACCESS, ai, name, flags)
-+      (has_xattr (XATTR_NAME_POSIX_ACL_ACCESS, ai, fd, name, flags)
-        || ((d_type == DT_DIR || d_type == DT_UNKNOWN)
--           && has_xattr (XATTR_NAME_POSIX_ACL_DEFAULT, ai, name, flags)));
-+           && has_xattr (XATTR_NAME_POSIX_ACL_DEFAULT, ai, fd, name, flags)));
- 
-   /* A buffer large enough to hold any trivial NFSv4 ACL.
-      The max length of a trivial NFSv4 ACL is 6 words for owner,
-@@ -432,8 +491,10 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-      everyone is another word to hold "EVERYONE@".  */
-   uint32_t buf[2 * (6 + 6 + 7)];
- 
--  int ret = ((flags & ACL_SYMLINK_FOLLOW ? getxattr : lgetxattr)
--             (name, XATTR_NAME_NFSV4_ACL, buf, sizeof buf));
-+  int ret = (fd < 0
-+             ? ((flags & ACL_SYMLINK_FOLLOW ? getxattr : lgetxattr)
-+                (name, XATTR_NAME_NFSV4_ACL, buf, sizeof buf))
-+             : fgetxattr (fd, XATTR_NAME_NFSV4_ACL, buf, sizeof buf));
-   if (ret < 0)
-     switch (errno)
-       {
-@@ -467,20 +528,23 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-       /* On Linux, acl_extended_file is an optimized function: It only
-          makes two calls to getxattr(), one for ACL_TYPE_ACCESS, one for
-          ACL_TYPE_DEFAULT.  */
--    ret = ((flags & ACL_SYMLINK_FOLLOW
--            ? acl_extended_file
--            : acl_extended_file_nofollow)
--           (name));
-+    ret = (fd < 0
-+           ? ((flags & ACL_SYMLINK_FOLLOW
-+               ? acl_extended_file
-+               : acl_extended_file_nofollow)
-+              (name))
-+           : acl_extended_fd (fd));
- #   elif HAVE_ACL_TYPE_EXTENDED /* Mac OS X */
-     /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS)
-        and acl_get_file (name, ACL_TYPE_DEFAULT)
-        always return NULL / EINVAL.  There is no point in making
-        these two useless calls.  The real ACL is retrieved through
--       acl_get_file (name, ACL_TYPE_EXTENDED).  */
--    acl_t acl = ((flags & ACL_SYMLINK_FOLLOW
--                  ? acl_get_file
--                  : acl_get_link_np)
--                 (name, ACL_TYPE_EXTENDED));
-+       ACL_TYPE_EXTENDED.  */
-+    acl_t acl =
-+      (fd < 0
-+       ? ((flags & ACL_SYMLINK_FOLLOW ? acl_get_file : acl_get_link_np)
-+          (name, ACL_TYPE_EXTENDED))
-+       : acl_get_fd_np (fd, ACL_TYPE_EXTENDED));
-     if (acl)
-       {
-         ret = acl_extended_nontrivial (acl);
-@@ -489,13 +553,8 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-     else
-       ret = -1;
- #   else /* FreeBSD, NetBSD >= 10, IRIX, Tru64, Cygwin >= 2.5 */
--    acl_t (*acl_get_file_or_link) (char const *, acl_type_t) = acl_get_file;
--#    if HAVE_ACL_GET_LINK_NP /* FreeBSD, NetBSD >= 10, Cygwin >= 2.5 */
--    if (! (flags & ACL_SYMLINK_FOLLOW))
--      acl_get_file_or_link = acl_get_link_np;
--#    endif
- 
--    acl_t acl = acl_get_file_or_link (name, ACL_TYPE_ACCESS);
-+    acl_t acl = acl_get_fdfile (fd, name, ACL_TYPE_ACCESS, flags);
-     if (acl)
-       {
-         ret = acl_access_nontrivial (acl);
-@@ -517,7 +576,7 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-             && (d_type == DT_DIR
-                 || (d_type == DT_UNKNOWN && !(flags & _GL_DT_NOTDIR))))
-           {
--            acl = acl_get_file_or_link (name, ACL_TYPE_DEFAULT);
-+            acl = acl_get_fdfile (fd, name, ACL_TYPE_DEFAULT, flags);
-             if (acl)
-               {
- #     ifdef __CYGWIN__ /* Cygwin >= 2.5 */
-@@ -562,7 +621,10 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
- 
-       /* Solaris 10 (newer version), which has additional API declared in
-          <sys/acl.h> (acl_t) and implemented in libsec (acl_set, acl_trivial,
--         acl_fromtext, ...).  */
-+         acl_fromtext, ...).
-+
-+         Ignore FD, unfortunately.  That is better than mishandling
-+         ZFS-style ACLs, as the general case code does.  */
-       return acl_trivial (name);
- 
- #    else /* Solaris, Cygwin, general case */
-@@ -586,7 +648,9 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
- 
-         for (;;)
-           {
--            count = acl (name, GETACL, alloc, entries);
-+            count = (fd < 0
-+                     ? acl (name, GETACL, alloc, entries)
-+                     : facl (fd, GETACL, alloc, entries));
-             if (count < 0 && errno == ENOSPC)
-               {
-                 /* Increase the size of the buffer.  */
-@@ -657,7 +721,9 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
- 
-         for (;;)
-           {
--            count = acl (name, ACE_GETACL, alloc, entries);
-+            count = (fd < 0
-+                     ? acl (name, ACE_GETACL, alloc, entries)
-+                     : facl (fd, ACE_GETACL, alloc, entries));
-             if (count < 0 && errno == ENOSPC)
-               {
-                 /* Increase the size of the buffer.  */
-@@ -722,7 +788,9 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-         struct acl_entry entries[NACLENTRIES];
-         int count;
- 
--        count = getacl (name, NACLENTRIES, entries);
-+        count = (fd < 0
-+                 ? getacl (name, NACLENTRIES, entries)
-+                 : fgetacl (fd, NACLENTRIES, entries));
- 
-         if (count < 0)
-           {
-@@ -751,7 +819,8 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-             {
-               struct stat statbuf;
- 
--              if (stat (name, &statbuf) == -1 && errno != EOVERFLOW)
-+              if ((fd < 0 ? stat (name, &statbuf) : fstat (fd, &statbuf)) < 0
-+                  && errno != EOVERFLOW)
-                 return -1;
- 
-               return acl_nontrivial (count, entries);
-@@ -765,6 +834,7 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-         struct acl entries[NACLVENTRIES];
-         int count;
- 
-+        /* Ignore FD, unfortunately.  */
-         count = acl ((char *) name, ACL_GET, NACLVENTRIES, entries);
- 
-         if (count < 0)
-@@ -809,7 +879,9 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-           /* The docs say that type being 0 is equivalent to ACL_ANY, but it
-              is not true, in AIX 5.3.  */
-           type.u64 = ACL_ANY;
--          if (aclx_get (name, 0, &type, aclbuf, &aclsize, &mode) >= 0)
-+          if (0 <= (fd < 0
-+                    ? aclx_get (name, 0, &type, aclbuf, &aclsize, &mode)
-+                    : aclx_fget (fd, 0, &type, aclbuf, &aclsize, &mode)))
-             break;
-           if (errno == ENOSYS)
-             return 0;
-@@ -855,7 +927,10 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
- 
-       union { struct acl a; char room[4096]; } u;
- 
--      if (statacl ((char *) name, STX_NORMAL, &u.a, sizeof (u)) < 0)
-+      if ((fd < 0
-+           ? statacl ((char *) name, STX_NORMAL, &u.a, sizeof u)
-+           : fstatacl (fd, STX_NORMAL, &u.a, sizeof u))
-+          < 0)
-         return -1;
- 
-       return acl_nontrivial (&u.a);
-@@ -866,6 +941,7 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
-         struct acl entries[NACLENTRIES];
-         int count;
- 
-+        /* Ignore FD, unfortunately.  */
-         count = acl ((char *) name, ACL_GET, NACLENTRIES, entries);
- 
-         if (count < 0)
-diff --git a/lib/qcopy-acl.c b/lib/qcopy-acl.c
-index ad7966152a..282f4b2d2a 100644
---- a/lib/qcopy-acl.c
-+++ b/lib/qcopy-acl.c
-@@ -26,6 +26,7 @@
- #if USE_XATTR
- 
- # include <attr/libattr.h>
-+# include <dirent.h>
- # include <string.h>
- 
- # if HAVE_LINUX_XATTR_H
-@@ -61,6 +62,7 @@ is_attr_permissions (const char *name, struct error_context *ctx)
-    a valid file descriptor, use file descriptor operations, else use
-    filename based operations on SRC_NAME. Likewise for DEST_DESC and
-    DST_NAME.
-+   MODE should be the source file's st_mode.
-    If access control lists are not available, fchmod the target file to
-    MODE.  Also sets the non-permission bits of the destination file
-    (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set.
-@@ -86,10 +88,29 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name,
-      Functions attr_copy_* return 0 in case we copied something OR nothing
-      to copy */
-   if (ret == 0)
--    ret = source_desc <= 0 || dest_desc <= 0
--      ? attr_copy_file (src_name, dst_name, is_attr_permissions, NULL)
--      : attr_copy_fd (src_name, source_desc, dst_name, dest_desc,
--                      is_attr_permissions, NULL);
-+    {
-+      ret = source_desc <= 0 || dest_desc <= 0
-+        ? attr_copy_file (src_name, dst_name, is_attr_permissions, NULL)
-+        : attr_copy_fd (src_name, source_desc, dst_name, dest_desc,
-+                        is_attr_permissions, NULL);
-+
-+      /* Copying can fail with EOPNOTSUPP even when the source
-+         permissions are trivial (Bug#78328).  Don't report an error
-+         in this case, as the chmod_or_fchmod suffices.  */
-+      if (ret < 0 && errno == EOPNOTSUPP)
-+        {
-+          /* fdfile_has_aclinfo cares only about DT_DIR, _GL_DT_NOTDIR,
-+             and DT_LNK (but DT_LNK is not possible here),
-+             so use _GL_DT_NOTDIR | DT_UNKNOWN for other file types.  */
-+          int flags = S_ISDIR (mode) ? DT_DIR : _GL_DT_NOTDIR | DT_UNKNOWN;
-+
-+          struct aclinfo ai;
-+          if (!fdfile_has_aclinfo (source_desc, src_name, &ai, flags))
-+            ret = 0;
-+          aclinfo_free (&ai);
-+          errno = EOPNOTSUPP;
-+        }
-+    }
- #else
-   /* no XATTR, so we proceed the old dusty way */
-   struct permission_context ctx;
diff -pruN 9.7-3/debian/patches/series 9.7-3ubuntu1/debian/patches/series
--- 9.7-3/debian/patches/series	2025-06-04 15:12:22.000000000 +0000
+++ 9.7-3ubuntu1/debian/patches/series	2025-10-24 07:10:01.000000000 +0000
@@ -1,2 +1,5 @@
 72_id_checkngroups.patch
-gnulib-nfs-acl.patch
+80_fedora_sysinfo.patch
+99_float_endian_detection.patch
+treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch
+cp-n.diff
diff -pruN 9.7-3/debian/patches/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch 9.7-3ubuntu1/debian/patches/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch
--- 9.7-3/debian/patches/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/patches/treat-devtmpfs-and-squashfs-as-dummy-filesystems.patch	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,34 @@
+From ee5ce3f0637d5533e6e1f68e6a7e7f846ff742c4 Mon Sep 17 00:00:00 2001
+From: Bryce Harrington <bryce@canonical.com>
+Date: Thu, 2 Jul 2020 01:50:48 +0000
+Subject: [PATCH] Treat devtmpfs and squashfs as dummy filesystems
+
+Avoid displaying snaps in output from df and other tools, by excluding
+squashfs filesystems.  Exclude devtmpfs filesystems in output from df
+and other tools since it is a dummy filesystem.
+
+[juliank: Update to add fuse.portal]
+
+Origin: upstream, https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37702#68
+Bug: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37702
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1756595
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/1219529
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/1905623
+
+---
+ lib/mountlist.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/lib/mountlist.c
++++ b/lib/mountlist.c
+@@ -170,7 +170,10 @@
+ 
+ #define ME_DUMMY_0(Fs_name, Fs_type)            \
+   (strcmp (Fs_type, "autofs") == 0              \
++   || strcmp (Fs_type, "devtmpfs") == 0         \
++   || strcmp (Fs_type, "fuse.portal") == 0      \
+    || strcmp (Fs_type, "proc") == 0             \
++   || strcmp (Fs_type, "squashfs") == 0         \
+    || strcmp (Fs_type, "subfs") == 0            \
+    /* for Linux 2.6/3.x */                      \
+    || strcmp (Fs_type, "debugfs") == 0          \
diff -pruN 9.7-3/debian/rules 9.7-3ubuntu1/debian/rules
--- 9.7-3/debian/rules	2025-04-20 17:36:56.000000000 +0000
+++ 9.7-3ubuntu1/debian/rules	2025-10-24 07:10:01.000000000 +0000
@@ -3,6 +3,9 @@
 #export DH_VERBOSE=1
 #export DH_OPTIONS=-v
 
+PROGRAM_PREFIX := gnu
+PACKAGE_PREFIX := gnu-
+
 DPKG_EXPORT_BUILDFLAGS = 1
 include /usr/share/dpkg/default.mk
 
@@ -22,10 +25,17 @@ ifneq ($(filter nodoc,$(DEB_BUILD_PROFIL
   export MAKEINFO = true
 endif
 
+ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+  cross_build := yes
+  CROSS_CONFIGURE_FLAGS = --cache-file=./config.cache
+  CROSS_BUILD_FLAGS = run_help2man=$(CURDIR)/man/dummy-man
+  CROSS_INSTALL_FLAGS = EXTRA_MANS=
+endif
+
 BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false ln ls mkdir \
 	mknod mv pwd readlink rm rmdir vdir sleep stty sync touch true uname \
 	mktemp
-d=debian/coreutils
+d=debian/$(PACKAGE_PREFIX)coreutils
 
 override_dh_update_autotools_config:
 	# don't do this
@@ -34,7 +44,10 @@ override_dh_autoreconf:
 	# don't do this
 
 override_dh_auto_configure:
-	dh_auto_configure -- --enable-systemd --enable-install-program=arch --with-openssl=auto-gpl-compat --with-packager=$(DEB_VENDOR) --with-packager-version=$(DEB_VERSION) $(Y2038)
+ifeq ($(cross_build),yes)
+	echo 'fu_cv_sys_stat_statfs2_bsize=yes' > config.cache
+endif
+	dh_auto_configure -- --program-prefix=gnu --enable-systemd --enable-install-program=arch --with-openssl=auto-gpl-compat --with-packager=$(DEB_VENDOR) --with-packager-version=$(DEB_VERSION) $(Y2038)
 
 %:
 	dh $@
@@ -42,11 +55,39 @@ override_dh_auto_configure:
 override_dh_auto_clean:
 	make distclean || true
 
+override_dh_auto_build:
+	dh_auto_build -- $(CROSS_BUILD_FLAGS)
+
 override_dh_auto_test:
-	# tests fail a lot on the buildds
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ifneq ($(cross_build),yes)
+  ifeq ($(DEB_HOST_ARCH),armhf)
+	: # on armhf, the cut-huge-range test fails on the buildds when run
+	: # in the test suite. Run it explicitely, and then ignore the
+	: # test results when run in the test suite.
+	: # XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+	-$(MAKE) SHELL=/bin/dash TESTS=tests/cut/cut-huge-range.sh check
+	cat tests/cut/cut-huge-range.log
+	rm -f tests/cut/cut-huge-range.log tests/cut/cut-huge-range.trs
+	: # XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+	if dh_auto_test; then \
+	  echo "tests succeeded unexpectedly" ; \
+	else \
+	  echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; \
+	  echo "TEST FAILURES (log)"; \
+	  cat tests/cut/cut-huge-range.log; \
+	  echo "TEST FAILURES (trs)"; \
+	  cat tests/cut/cut-huge-range.trs; \
+	  echo "ignoring the cut-huge-range test failure" ; \
+	fi
+  else
+	dh_auto_test
+  endif
+endif
+endif
 
 override_dh_auto_install:
-	dh_auto_install --destdir=$(d)
+	dh_auto_install --destdir=$(d) -- $(CROSS_INSTALL_FLAGS)
 
 override_dh_install-arch: 
 	dh_install -a
@@ -54,19 +95,21 @@ override_dh_install-arch:
 	# remove stuff provided by other packages
 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
+	rm -f $(d)/usr/bin/$(PROGRAM_PREFIX)kill $(d)/usr/share/man/man1/$(PROGRAM_PREFIX)kill.1
 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
+	rm -f $(d)/usr/bin/$(PROGRAM_PREFIX)hostname $(d)/usr/share/man/man1/$(PROGRAM_PREFIX)hostname.1
+	rm -f $(d)/usr/bin/$(PROGRAM_PREFIX)uptime $(d)/usr/share/man/man1/$(PROGRAM_PREFIX)uptime.1
 
+ifeq ($(PROGRAM_PREFIX),)
 	# the [ program doesn't have its own man page yet
 	ln -s test.1 $(d)/usr/share/man/man1/[.1
+endif
 
 	# gnu thinks chroot is in bin, debian thinks it's in sbin
 	install -d $(d)/usr/sbin $(d)/usr/share/man/man8
-	mv $(d)/usr/bin/chroot $(d)/usr/sbin/chroot
-	sed s/\"1\"/\"8\"/1 $(d)/usr/share/man/man1/chroot.1 > $(d)/usr/share/man/man8/chroot.8
-	rm $(d)/usr/share/man/man1/chroot.1
+	mv $(d)/usr/bin/$(PROGRAM_PREFIX)chroot $(d)/usr/sbin/$(PROGRAM_PREFIX)chroot
+	sed s/\"1\"/\"8\"/1 $(d)/usr/share/man/man1/$(PROGRAM_PREFIX)chroot.1 > $(d)/usr/share/man/man8/$(PROGRAM_PREFIX)chroot.8
+	rm $(d)/usr/share/man/man1/$(PROGRAM_PREFIX)chroot.1
 
 	# some build environments will leave a dangling info dir
 	rm -f $(d)/usr/share/info/dir
diff -pruN 9.7-3/debian/tests/control 9.7-3ubuntu1/debian/tests/control
--- 9.7-3/debian/tests/control	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/tests/control	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,8 @@
+Tests: upstream-rust
+Depends: coreutils-from-uutils, acl, strace
+
+# We need to allow-remove-essential to remove coreutils-from-uutils and install coreutils-from-gnu,
+# so we cannot do this in Depends here.
+Tests: upstream-gnu
+Depends: coreutils, gnu-coreutils, acl, strace
+Restrictions: needs-root
diff -pruN 9.7-3/debian/tests/upstream 9.7-3ubuntu1/debian/tests/upstream
--- 9.7-3/debian/tests/upstream	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/tests/upstream	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,361 @@
+#!/bin/sh
+# Run a subset of the upstream tests which work in an unbuilt tree against the
+# system installed package; these have been selected with
+#
+#   for t in tests/*/*; do if env LANG= LANGUAGE= LC_ALL=C CONFIG_HEADER=/dev/null $t >/dev/null 2>&1; then echo ${t#tests/}; fi; done
+
+# plus remove all tests depending on test binaries (getlimits, ginstall).
+#set -e
+
+# ensure that we do not stumble over translations
+unset LANG
+unset LANGUAGE
+export LC_ALL=C
+fails=0
+extra_tests=""
+
+case $(basename "$0") in
+    upstream-gnu)
+        # Make sure we don't fail due to stderr output here by redirecting it to stdout
+        apt-get install --allow-remove-essential -y -q coreutils-from-gnu coreutils-from-uutils- 2>&1
+        extra_tests="stat/stat-nanoseconds.sh"
+        ;;
+    upstream-rust)
+        ;;
+    upstream)
+        ;;
+esac
+
+for test in \
+    chgrp/basic.sh \
+    chgrp/default-no-deref.sh \
+    chgrp/deref.sh \
+    chgrp/no-x.sh \
+    chgrp/posix-H.sh \
+    chgrp/recurse.sh \
+    chmod/c-option.sh \
+    chmod/equal-x.sh \
+    chmod/equals.sh \
+    chmod/inaccessible.sh \
+    chmod/no-x.sh \
+    chmod/octal.sh \
+    chmod/setgid.sh \
+    chmod/silent.sh \
+    chmod/thru-dangling.sh \
+    chmod/umask-x.sh \
+    chmod/usage.sh \
+    chown/deref.sh \
+    chown/preserve-root.sh \
+    cp/abuse.sh \
+    cp/attr-existing.sh \
+    cp/backup-1.sh \
+    cp/backup-dir.sh \
+    cp/backup-is-src.sh \
+    cp/cp-HL.sh \
+    cp/cp-deref.sh \
+    cp/cp-i.sh \
+    cp/cp-mv-backup.sh \
+    cp/cp-parents.sh \
+    cp/deref-slink.sh \
+    cp/dir-rm-dest.sh \
+    cp/dir-slash.sh \
+    cp/dir-vs-file.sh \
+    cp/existing-perm-dir.sh \
+    cp/fail-perm.sh \
+    cp/into-self.sh \
+    cp/link-deref.sh \
+    cp/link-no-deref.sh \
+    cp/link-preserve.sh \
+    cp/link-symlink.sh \
+    cp/link.sh \
+    cp/no-deref-link1.sh \
+    cp/no-deref-link2.sh \
+    cp/no-deref-link3.sh \
+    cp/preserve-link.sh \
+    cp/preserve-mode.sh \
+    cp/proc-short-read.sh \
+    cp/proc-zero-len.sh \
+    cp/r-vs-symlink.sh \
+    cp/reflink-perm.sh \
+    cp/same-file.sh \
+    cp/slink-2-slink.sh \
+    cp/sparse-to-pipe.sh \
+    cp/sparse.sh \
+    cp/special-f.sh \
+    cp/src-base-dot.sh \
+    cp/symlink-slash.sh \
+    cp/thru-dangling.sh \
+    dd/ascii.sh \
+    dd/bytes.sh \
+    dd/direct.sh \
+    dd/misc.sh \
+    dd/no-allocate.sh \
+    dd/nocache.sh \
+    dd/not-rewound.sh \
+    dd/reblock.sh \
+    dd/skip-seek2.sh \
+    dd/sparse.sh \
+    dd/stderr.sh \
+    dd/unblock-sync.sh \
+    df/df-P.sh \
+    df/df-output.sh \
+    df/header.sh \
+    df/unreadable.sh \
+    du/8gb.sh \
+    du/basic.sh \
+    du/bigtime.sh \
+    du/deref-args.sh \
+    du/deref.sh \
+    du/exclude.sh \
+    du/files0-from-dir.sh \
+    du/hard-link.sh \
+    du/inacc-dest.sh \
+    du/inacc-dir.sh \
+    du/inodes.sh \
+    du/long-from-unreadable.sh \
+    du/long-sloop.sh \
+    du/max-depth.sh \
+    du/no-deref.sh \
+    du/no-x.sh \
+    du/restore-wd.sh \
+    du/slash.sh \
+    du/threshold.sh \
+    du/trailing-slash.sh \
+    du/two-args.sh \
+    fmt/goal-option.sh \
+    fmt/long-line.sh \
+    id/uid.sh \
+    id/zero.sh \
+    install/trap.sh \
+    ln/backup-1.sh \
+    ln/hard-backup.sh \
+    ln/hard-to-sym.sh \
+    ln/relative.sh \
+    ln/sf-1.sh \
+    ln/slash-decorated-nonexistent-dest.sh \
+    ln/target-1.sh \
+    ls/abmon-align.sh \
+    ls/block-size.sh \
+    ls/color-clear-to-eol.sh \
+    ls/color-dtype-dir.sh \
+    ls/color-norm.sh \
+    ls/color-term.sh \
+    ls/dangle.sh \
+    ls/dired.sh \
+    ls/file-type.sh \
+    ls/follow-slink.sh \
+    ls/infloop.sh \
+    ls/inode.sh \
+    ls/m-option.sh \
+    ls/multihardlink.sh \
+    ls/no-arg.sh \
+    ls/selinux-segfault.sh \
+    ls/recursive.sh \
+    ls/root-rel-symlink-color.sh \
+    ls/rt-1.sh \
+    ls/slink-acl.sh \
+    ls/stat-dtype.sh \
+    ls/stat-failed.sh \
+    ls/stat-free-symlinks.sh \
+    ls/stat-vs-dirent.sh \
+    ls/symlink-slash.sh \
+    ls/time-style-diag.sh \
+    ls/x-option.sh \
+    cat/cat-proc.sh \
+    chcon/chcon-fail.sh \
+    csplit/csplit-1000.sh \
+    csplit/csplit-heap.sh \
+    csplit/csplit.sh \
+    date/date-sec.sh \
+    env/env-null.sh \
+    misc/false-status.sh \
+    head/head-pos.sh \
+    head/head-write-error.sh \
+    misc/invalid-opt.pl \
+    ls/ls-time.sh \
+    cksum/md5sum-bsd.sh \
+    cksum/md5sum-parallel.sh \
+    misc/mknod.sh \
+    nice/nice-fail.sh \
+    nice/nice.sh \
+    misc/nl.sh \
+    misc/nohup.sh \
+    nproc/nproc-avail.sh \
+    nproc/nproc-positive.sh \
+    od/od-N.sh \
+    od/od-endian.sh \
+    od/od-float.sh \
+    od/od-multiple-t.sh \
+    od/od-x8.sh \
+    misc/pathchk.sh \
+    misc/printenv.sh \
+    printf/printf-hex.sh \
+    printf/printf-surprise.sh \
+    ptx/ptx-overrun.sh \
+    pwd/pwd-option.sh \
+    readlink/readlink-fp-loop.sh \
+    readlink/readlink-root.sh \
+    misc/realpath.sh \
+    runcon/runcon-no-reorder.sh \
+    shred/shred-exact.sh \
+    shred/shred-passes.sh \
+    shred/shred-remove.sh \
+    sort/sort-NaN-infloop.sh \
+    sort/sort-compress.sh \
+    sort/sort-debug-keys.sh \
+    sort/sort-debug-warn.sh \
+    sort/sort-exit-early.sh \
+    sort/sort-merge-fdlimit.sh \
+    sort/sort-month.sh \
+    sort/sort-rand.sh \
+    sort/sort-unique.sh \
+    sort/sort-version.sh \
+    stat/stat-fmt.sh \
+    stat/stat-hyphen.sh \
+    stat/stat-mount.sh \
+    stat/stat-slash.sh \
+    stty/stty-invalid.sh \
+    stty/stty-row-col.sh \
+    cksum/sum-sysv.sh \
+    tac/tac-2-nonseekable.sh \
+    misc/tee.sh \
+    timeout/timeout-group.sh \
+    timeout/timeout.sh \
+    tr/tr-case-class.sh \
+    truncate/truncate-dangling-symlink.sh \
+    truncate/truncate-dir-fail.sh \
+    truncate/truncate-fail-diag.sh \
+    truncate/truncate-fifo.sh \
+    truncate/truncate-no-create-missing.sh \
+    truncate/truncate-parameters.sh \
+    truncate/truncate-relative.sh \
+    uniq/uniq-perf.sh \
+    wc/wc-files0.sh \
+    wc/wc-parallel.sh \
+    mkdir/p-1.sh \
+    mkdir/p-2.sh \
+    mkdir/p-3.sh \
+    mkdir/p-acl.sh \
+    mkdir/p-slashdot.sh \
+    mkdir/p-thru-slink.sh \
+    mkdir/p-v.sh \
+    mkdir/parents.sh \
+    mkdir/perm.sh \
+    mkdir/special-1.sh \
+    mkdir/t-slash.sh \
+    mv/atomic.sh \
+    mv/atomic2.sh \
+    mv/backup-dir.sh \
+    mv/childproof.sh \
+    mv/diag.sh \
+    mv/dir-file.sh \
+    mv/dir2dir.sh \
+    mv/dup-source.sh \
+    mv/force.sh \
+    mv/hard-2.sh \
+    mv/hard-3.sh \
+    mv/hard-4.sh \
+    mv/i-2.sh \
+    mv/i-3.sh \
+    mv/i-4.sh \
+    mv/i-5.sh \
+    mv/i-link-no.sh \
+    mv/into-self-3.sh \
+    mv/into-self-4.sh \
+    mv/into-self.sh \
+    mv/mv-n.sh \
+    mv/no-target-dir.sh \
+    mv/perm-1.sh \
+    mv/symlink-onto-hardlink-to-self.sh \
+    mv/symlink-onto-hardlink.sh \
+    mv/trailing-slash.sh \
+    mv/update.sh \
+    readlink/can-e.sh \
+    readlink/can-f.sh \
+    readlink/can-m.sh \
+    readlink/multi.sh \
+    readlink/rl-1.sh \
+    rm/cycle.sh \
+    rm/d-1.sh \
+    rm/d-2.sh \
+    rm/d-3.sh \
+    rm/dangling-symlink.sh \
+    rm/deep-1.sh \
+    rm/deep-2.sh \
+    rm/dir-no-w.sh \
+    rm/dir-nonrecur.sh \
+    rm/dot-rel.sh \
+    rm/empty-inacc.sh \
+    rm/f-1.sh \
+    rm/fail-eacces.sh \
+    rm/i-1.sh \
+    rm/i-never.sh \
+    rm/i-no-r.sh \
+    rm/ignorable.sh \
+    rm/interactive-always.sh \
+    rm/interactive-once.sh \
+    rm/ir-1.sh \
+    rm/isatty.sh \
+    rm/one-file-system2.sh \
+    rm/r-1.sh \
+    rm/r-2.sh \
+    rm/r-3.sh \
+    rm/r-4.sh \
+    rm/readdir-bug.sh \
+    rm/rm1.sh \
+    rm/rm2.sh \
+    rm/rm3.sh \
+    rm/rm4.sh \
+    rm/rm5.sh \
+    rm/sunos-1.sh \
+    rm/unread2.sh \
+    rm/unread3.sh \
+    rm/v-slash.sh \
+    rmdir/fail-perm.sh \
+    rmdir/ignore.sh \
+    rmdir/t-slash.sh \
+    split/additional-suffix.sh \
+    split/b-chunk.sh \
+    split/filter.sh \
+    split/guard-input.sh \
+    split/l-chunk.sh \
+    split/line-bytes.sh \
+    split/lines.sh \
+    split/numeric.sh \
+    split/r-chunk.sh \
+    split/suffix-auto-length.sh \
+    split/suffix-length.sh \
+    tail/F-vs-rename.sh \
+    tail/flush-initial.sh \
+    tail/follow-name.sh \
+    tail/follow-stdin.sh \
+    tail/inotify-hash-abuse.sh \
+    tail/inotify-hash-abuse2.sh \
+    tail/pipe-f.sh \
+    tail/pipe-f2.sh \
+    tail/proc-ksyms.sh \
+    tail/start-middle.sh \
+    tail/tail-n0f.sh \
+    tail/wait.sh \
+    touch/60-seconds.sh \
+    touch/dangling-symlink.sh \
+    touch/dir-1.sh \
+    touch/empty-file.sh \
+    touch/fail-diag.sh \
+    touch/fifo.sh \
+    touch/no-create-missing.sh \
+    touch/no-rights.sh \
+    touch/not-owner.sh \
+    touch/obsolescent.sh \
+    touch/read-only.sh \
+    touch/relative.sh \
+    touch/trailing-slash.sh \
+    $extra_tests \
+; do
+    echo "$test"
+    chmod a+x "tests/$test"
+    OUT=$(tests/$test 2>&1 9>&1) || [ $? = 77 ] || { fails=$((fails+1)); echo "FAIL:"; echo "$OUT"; }
+done
+
+echo $fails tests failed
+exit $fails
diff -pruN 9.7-3/debian/tests/upstream-gnu 9.7-3ubuntu1/debian/tests/upstream-gnu
--- 9.7-3/debian/tests/upstream-gnu	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/tests/upstream-gnu	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,361 @@
+#!/bin/sh
+# Run a subset of the upstream tests which work in an unbuilt tree against the
+# system installed package; these have been selected with
+#
+#   for t in tests/*/*; do if env LANG= LANGUAGE= LC_ALL=C CONFIG_HEADER=/dev/null $t >/dev/null 2>&1; then echo ${t#tests/}; fi; done
+
+# plus remove all tests depending on test binaries (getlimits, ginstall).
+#set -e
+
+# ensure that we do not stumble over translations
+unset LANG
+unset LANGUAGE
+export LC_ALL=C
+fails=0
+extra_tests=""
+
+case $(basename "$0") in
+    upstream-gnu)
+        # Make sure we don't fail due to stderr output here by redirecting it to stdout
+        apt-get install --allow-remove-essential -y -q coreutils-from-gnu coreutils-from-uutils- 2>&1
+        extra_tests="stat/stat-nanoseconds.sh"
+        ;;
+    upstream-rust)
+        ;;
+    upstream)
+        ;;
+esac
+
+for test in \
+    chgrp/basic.sh \
+    chgrp/default-no-deref.sh \
+    chgrp/deref.sh \
+    chgrp/no-x.sh \
+    chgrp/posix-H.sh \
+    chgrp/recurse.sh \
+    chmod/c-option.sh \
+    chmod/equal-x.sh \
+    chmod/equals.sh \
+    chmod/inaccessible.sh \
+    chmod/no-x.sh \
+    chmod/octal.sh \
+    chmod/setgid.sh \
+    chmod/silent.sh \
+    chmod/thru-dangling.sh \
+    chmod/umask-x.sh \
+    chmod/usage.sh \
+    chown/deref.sh \
+    chown/preserve-root.sh \
+    cp/abuse.sh \
+    cp/attr-existing.sh \
+    cp/backup-1.sh \
+    cp/backup-dir.sh \
+    cp/backup-is-src.sh \
+    cp/cp-HL.sh \
+    cp/cp-deref.sh \
+    cp/cp-i.sh \
+    cp/cp-mv-backup.sh \
+    cp/cp-parents.sh \
+    cp/deref-slink.sh \
+    cp/dir-rm-dest.sh \
+    cp/dir-slash.sh \
+    cp/dir-vs-file.sh \
+    cp/existing-perm-dir.sh \
+    cp/fail-perm.sh \
+    cp/into-self.sh \
+    cp/link-deref.sh \
+    cp/link-no-deref.sh \
+    cp/link-preserve.sh \
+    cp/link-symlink.sh \
+    cp/link.sh \
+    cp/no-deref-link1.sh \
+    cp/no-deref-link2.sh \
+    cp/no-deref-link3.sh \
+    cp/preserve-link.sh \
+    cp/preserve-mode.sh \
+    cp/proc-short-read.sh \
+    cp/proc-zero-len.sh \
+    cp/r-vs-symlink.sh \
+    cp/reflink-perm.sh \
+    cp/same-file.sh \
+    cp/slink-2-slink.sh \
+    cp/sparse-to-pipe.sh \
+    cp/sparse.sh \
+    cp/special-f.sh \
+    cp/src-base-dot.sh \
+    cp/symlink-slash.sh \
+    cp/thru-dangling.sh \
+    dd/ascii.sh \
+    dd/bytes.sh \
+    dd/direct.sh \
+    dd/misc.sh \
+    dd/no-allocate.sh \
+    dd/nocache.sh \
+    dd/not-rewound.sh \
+    dd/reblock.sh \
+    dd/skip-seek2.sh \
+    dd/sparse.sh \
+    dd/stderr.sh \
+    dd/unblock-sync.sh \
+    df/df-P.sh \
+    df/df-output.sh \
+    df/header.sh \
+    df/unreadable.sh \
+    du/8gb.sh \
+    du/basic.sh \
+    du/bigtime.sh \
+    du/deref-args.sh \
+    du/deref.sh \
+    du/exclude.sh \
+    du/files0-from-dir.sh \
+    du/hard-link.sh \
+    du/inacc-dest.sh \
+    du/inacc-dir.sh \
+    du/inodes.sh \
+    du/long-from-unreadable.sh \
+    du/long-sloop.sh \
+    du/max-depth.sh \
+    du/no-deref.sh \
+    du/no-x.sh \
+    du/restore-wd.sh \
+    du/slash.sh \
+    du/threshold.sh \
+    du/trailing-slash.sh \
+    du/two-args.sh \
+    fmt/goal-option.sh \
+    fmt/long-line.sh \
+    id/uid.sh \
+    id/zero.sh \
+    install/trap.sh \
+    ln/backup-1.sh \
+    ln/hard-backup.sh \
+    ln/hard-to-sym.sh \
+    ln/relative.sh \
+    ln/sf-1.sh \
+    ln/slash-decorated-nonexistent-dest.sh \
+    ln/target-1.sh \
+    ls/abmon-align.sh \
+    ls/block-size.sh \
+    ls/color-clear-to-eol.sh \
+    ls/color-dtype-dir.sh \
+    ls/color-norm.sh \
+    ls/color-term.sh \
+    ls/dangle.sh \
+    ls/dired.sh \
+    ls/file-type.sh \
+    ls/follow-slink.sh \
+    ls/infloop.sh \
+    ls/inode.sh \
+    ls/m-option.sh \
+    ls/multihardlink.sh \
+    ls/no-arg.sh \
+    ls/selinux-segfault.sh \
+    ls/recursive.sh \
+    ls/root-rel-symlink-color.sh \
+    ls/rt-1.sh \
+    ls/slink-acl.sh \
+    ls/stat-dtype.sh \
+    ls/stat-failed.sh \
+    ls/stat-free-symlinks.sh \
+    ls/stat-vs-dirent.sh \
+    ls/symlink-slash.sh \
+    ls/time-style-diag.sh \
+    ls/x-option.sh \
+    cat/cat-proc.sh \
+    chcon/chcon-fail.sh \
+    csplit/csplit-1000.sh \
+    csplit/csplit-heap.sh \
+    csplit/csplit.sh \
+    date/date-sec.sh \
+    env/env-null.sh \
+    misc/false-status.sh \
+    head/head-pos.sh \
+    head/head-write-error.sh \
+    misc/invalid-opt.pl \
+    ls/ls-time.sh \
+    cksum/md5sum-bsd.sh \
+    cksum/md5sum-parallel.sh \
+    misc/mknod.sh \
+    nice/nice-fail.sh \
+    nice/nice.sh \
+    misc/nl.sh \
+    misc/nohup.sh \
+    nproc/nproc-avail.sh \
+    nproc/nproc-positive.sh \
+    od/od-N.sh \
+    od/od-endian.sh \
+    od/od-float.sh \
+    od/od-multiple-t.sh \
+    od/od-x8.sh \
+    misc/pathchk.sh \
+    misc/printenv.sh \
+    printf/printf-hex.sh \
+    printf/printf-surprise.sh \
+    ptx/ptx-overrun.sh \
+    pwd/pwd-option.sh \
+    readlink/readlink-fp-loop.sh \
+    readlink/readlink-root.sh \
+    misc/realpath.sh \
+    runcon/runcon-no-reorder.sh \
+    shred/shred-exact.sh \
+    shred/shred-passes.sh \
+    shred/shred-remove.sh \
+    sort/sort-NaN-infloop.sh \
+    sort/sort-compress.sh \
+    sort/sort-debug-keys.sh \
+    sort/sort-debug-warn.sh \
+    sort/sort-exit-early.sh \
+    sort/sort-merge-fdlimit.sh \
+    sort/sort-month.sh \
+    sort/sort-rand.sh \
+    sort/sort-unique.sh \
+    sort/sort-version.sh \
+    stat/stat-fmt.sh \
+    stat/stat-hyphen.sh \
+    stat/stat-mount.sh \
+    stat/stat-slash.sh \
+    stty/stty-invalid.sh \
+    stty/stty-row-col.sh \
+    cksum/sum-sysv.sh \
+    tac/tac-2-nonseekable.sh \
+    misc/tee.sh \
+    timeout/timeout-group.sh \
+    timeout/timeout.sh \
+    tr/tr-case-class.sh \
+    truncate/truncate-dangling-symlink.sh \
+    truncate/truncate-dir-fail.sh \
+    truncate/truncate-fail-diag.sh \
+    truncate/truncate-fifo.sh \
+    truncate/truncate-no-create-missing.sh \
+    truncate/truncate-parameters.sh \
+    truncate/truncate-relative.sh \
+    uniq/uniq-perf.sh \
+    wc/wc-files0.sh \
+    wc/wc-parallel.sh \
+    mkdir/p-1.sh \
+    mkdir/p-2.sh \
+    mkdir/p-3.sh \
+    mkdir/p-acl.sh \
+    mkdir/p-slashdot.sh \
+    mkdir/p-thru-slink.sh \
+    mkdir/p-v.sh \
+    mkdir/parents.sh \
+    mkdir/perm.sh \
+    mkdir/special-1.sh \
+    mkdir/t-slash.sh \
+    mv/atomic.sh \
+    mv/atomic2.sh \
+    mv/backup-dir.sh \
+    mv/childproof.sh \
+    mv/diag.sh \
+    mv/dir-file.sh \
+    mv/dir2dir.sh \
+    mv/dup-source.sh \
+    mv/force.sh \
+    mv/hard-2.sh \
+    mv/hard-3.sh \
+    mv/hard-4.sh \
+    mv/i-2.sh \
+    mv/i-3.sh \
+    mv/i-4.sh \
+    mv/i-5.sh \
+    mv/i-link-no.sh \
+    mv/into-self-3.sh \
+    mv/into-self-4.sh \
+    mv/into-self.sh \
+    mv/mv-n.sh \
+    mv/no-target-dir.sh \
+    mv/perm-1.sh \
+    mv/symlink-onto-hardlink-to-self.sh \
+    mv/symlink-onto-hardlink.sh \
+    mv/trailing-slash.sh \
+    mv/update.sh \
+    readlink/can-e.sh \
+    readlink/can-f.sh \
+    readlink/can-m.sh \
+    readlink/multi.sh \
+    readlink/rl-1.sh \
+    rm/cycle.sh \
+    rm/d-1.sh \
+    rm/d-2.sh \
+    rm/d-3.sh \
+    rm/dangling-symlink.sh \
+    rm/deep-1.sh \
+    rm/deep-2.sh \
+    rm/dir-no-w.sh \
+    rm/dir-nonrecur.sh \
+    rm/dot-rel.sh \
+    rm/empty-inacc.sh \
+    rm/f-1.sh \
+    rm/fail-eacces.sh \
+    rm/i-1.sh \
+    rm/i-never.sh \
+    rm/i-no-r.sh \
+    rm/ignorable.sh \
+    rm/interactive-always.sh \
+    rm/interactive-once.sh \
+    rm/ir-1.sh \
+    rm/isatty.sh \
+    rm/one-file-system2.sh \
+    rm/r-1.sh \
+    rm/r-2.sh \
+    rm/r-3.sh \
+    rm/r-4.sh \
+    rm/readdir-bug.sh \
+    rm/rm1.sh \
+    rm/rm2.sh \
+    rm/rm3.sh \
+    rm/rm4.sh \
+    rm/rm5.sh \
+    rm/sunos-1.sh \
+    rm/unread2.sh \
+    rm/unread3.sh \
+    rm/v-slash.sh \
+    rmdir/fail-perm.sh \
+    rmdir/ignore.sh \
+    rmdir/t-slash.sh \
+    split/additional-suffix.sh \
+    split/b-chunk.sh \
+    split/filter.sh \
+    split/guard-input.sh \
+    split/l-chunk.sh \
+    split/line-bytes.sh \
+    split/lines.sh \
+    split/numeric.sh \
+    split/r-chunk.sh \
+    split/suffix-auto-length.sh \
+    split/suffix-length.sh \
+    tail/F-vs-rename.sh \
+    tail/flush-initial.sh \
+    tail/follow-name.sh \
+    tail/follow-stdin.sh \
+    tail/inotify-hash-abuse.sh \
+    tail/inotify-hash-abuse2.sh \
+    tail/pipe-f.sh \
+    tail/pipe-f2.sh \
+    tail/proc-ksyms.sh \
+    tail/start-middle.sh \
+    tail/tail-n0f.sh \
+    tail/wait.sh \
+    touch/60-seconds.sh \
+    touch/dangling-symlink.sh \
+    touch/dir-1.sh \
+    touch/empty-file.sh \
+    touch/fail-diag.sh \
+    touch/fifo.sh \
+    touch/no-create-missing.sh \
+    touch/no-rights.sh \
+    touch/not-owner.sh \
+    touch/obsolescent.sh \
+    touch/read-only.sh \
+    touch/relative.sh \
+    touch/trailing-slash.sh \
+    $extra_tests \
+; do
+    echo "$test"
+    chmod a+x "tests/$test"
+    OUT=$(tests/$test 2>&1 9>&1) || [ $? = 77 ] || { fails=$((fails+1)); echo "FAIL:"; echo "$OUT"; }
+done
+
+echo $fails tests failed
+exit $fails
diff -pruN 9.7-3/debian/tests/upstream-rust 9.7-3ubuntu1/debian/tests/upstream-rust
--- 9.7-3/debian/tests/upstream-rust	1970-01-01 00:00:00.000000000 +0000
+++ 9.7-3ubuntu1/debian/tests/upstream-rust	2025-10-24 07:10:01.000000000 +0000
@@ -0,0 +1,361 @@
+#!/bin/sh
+# Run a subset of the upstream tests which work in an unbuilt tree against the
+# system installed package; these have been selected with
+#
+#   for t in tests/*/*; do if env LANG= LANGUAGE= LC_ALL=C CONFIG_HEADER=/dev/null $t >/dev/null 2>&1; then echo ${t#tests/}; fi; done
+
+# plus remove all tests depending on test binaries (getlimits, ginstall).
+#set -e
+
+# ensure that we do not stumble over translations
+unset LANG
+unset LANGUAGE
+export LC_ALL=C
+fails=0
+extra_tests=""
+
+case $(basename "$0") in
+    upstream-gnu)
+        # Make sure we don't fail due to stderr output here by redirecting it to stdout
+        apt-get install --allow-remove-essential -y -q coreutils-from-gnu coreutils-from-uutils- 2>&1
+        extra_tests="stat/stat-nanoseconds.sh"
+        ;;
+    upstream-rust)
+        ;;
+    upstream)
+        ;;
+esac
+
+for test in \
+    chgrp/basic.sh \
+    chgrp/default-no-deref.sh \
+    chgrp/deref.sh \
+    chgrp/no-x.sh \
+    chgrp/posix-H.sh \
+    chgrp/recurse.sh \
+    chmod/c-option.sh \
+    chmod/equal-x.sh \
+    chmod/equals.sh \
+    chmod/inaccessible.sh \
+    chmod/no-x.sh \
+    chmod/octal.sh \
+    chmod/setgid.sh \
+    chmod/silent.sh \
+    chmod/thru-dangling.sh \
+    chmod/umask-x.sh \
+    chmod/usage.sh \
+    chown/deref.sh \
+    chown/preserve-root.sh \
+    cp/abuse.sh \
+    cp/attr-existing.sh \
+    cp/backup-1.sh \
+    cp/backup-dir.sh \
+    cp/backup-is-src.sh \
+    cp/cp-HL.sh \
+    cp/cp-deref.sh \
+    cp/cp-i.sh \
+    cp/cp-mv-backup.sh \
+    cp/cp-parents.sh \
+    cp/deref-slink.sh \
+    cp/dir-rm-dest.sh \
+    cp/dir-slash.sh \
+    cp/dir-vs-file.sh \
+    cp/existing-perm-dir.sh \
+    cp/fail-perm.sh \
+    cp/into-self.sh \
+    cp/link-deref.sh \
+    cp/link-no-deref.sh \
+    cp/link-preserve.sh \
+    cp/link-symlink.sh \
+    cp/link.sh \
+    cp/no-deref-link1.sh \
+    cp/no-deref-link2.sh \
+    cp/no-deref-link3.sh \
+    cp/preserve-link.sh \
+    cp/preserve-mode.sh \
+    cp/proc-short-read.sh \
+    cp/proc-zero-len.sh \
+    cp/r-vs-symlink.sh \
+    cp/reflink-perm.sh \
+    cp/same-file.sh \
+    cp/slink-2-slink.sh \
+    cp/sparse-to-pipe.sh \
+    cp/sparse.sh \
+    cp/special-f.sh \
+    cp/src-base-dot.sh \
+    cp/symlink-slash.sh \
+    cp/thru-dangling.sh \
+    dd/ascii.sh \
+    dd/bytes.sh \
+    dd/direct.sh \
+    dd/misc.sh \
+    dd/no-allocate.sh \
+    dd/nocache.sh \
+    dd/not-rewound.sh \
+    dd/reblock.sh \
+    dd/skip-seek2.sh \
+    dd/sparse.sh \
+    dd/stderr.sh \
+    dd/unblock-sync.sh \
+    df/df-P.sh \
+    df/df-output.sh \
+    df/header.sh \
+    df/unreadable.sh \
+    du/8gb.sh \
+    du/basic.sh \
+    du/bigtime.sh \
+    du/deref-args.sh \
+    du/deref.sh \
+    du/exclude.sh \
+    du/files0-from-dir.sh \
+    du/hard-link.sh \
+    du/inacc-dest.sh \
+    du/inacc-dir.sh \
+    du/inodes.sh \
+    du/long-from-unreadable.sh \
+    du/long-sloop.sh \
+    du/max-depth.sh \
+    du/no-deref.sh \
+    du/no-x.sh \
+    du/restore-wd.sh \
+    du/slash.sh \
+    du/threshold.sh \
+    du/trailing-slash.sh \
+    du/two-args.sh \
+    fmt/goal-option.sh \
+    fmt/long-line.sh \
+    id/uid.sh \
+    id/zero.sh \
+    install/trap.sh \
+    ln/backup-1.sh \
+    ln/hard-backup.sh \
+    ln/hard-to-sym.sh \
+    ln/relative.sh \
+    ln/sf-1.sh \
+    ln/slash-decorated-nonexistent-dest.sh \
+    ln/target-1.sh \
+    ls/abmon-align.sh \
+    ls/block-size.sh \
+    ls/color-clear-to-eol.sh \
+    ls/color-dtype-dir.sh \
+    ls/color-norm.sh \
+    ls/color-term.sh \
+    ls/dangle.sh \
+    ls/dired.sh \
+    ls/file-type.sh \
+    ls/follow-slink.sh \
+    ls/infloop.sh \
+    ls/inode.sh \
+    ls/m-option.sh \
+    ls/multihardlink.sh \
+    ls/no-arg.sh \
+    ls/selinux-segfault.sh \
+    ls/recursive.sh \
+    ls/root-rel-symlink-color.sh \
+    ls/rt-1.sh \
+    ls/slink-acl.sh \
+    ls/stat-dtype.sh \
+    ls/stat-failed.sh \
+    ls/stat-free-symlinks.sh \
+    ls/stat-vs-dirent.sh \
+    ls/symlink-slash.sh \
+    ls/time-style-diag.sh \
+    ls/x-option.sh \
+    cat/cat-proc.sh \
+    chcon/chcon-fail.sh \
+    csplit/csplit-1000.sh \
+    csplit/csplit-heap.sh \
+    csplit/csplit.sh \
+    date/date-sec.sh \
+    env/env-null.sh \
+    misc/false-status.sh \
+    head/head-pos.sh \
+    head/head-write-error.sh \
+    misc/invalid-opt.pl \
+    ls/ls-time.sh \
+    cksum/md5sum-bsd.sh \
+    cksum/md5sum-parallel.sh \
+    misc/mknod.sh \
+    nice/nice-fail.sh \
+    nice/nice.sh \
+    misc/nl.sh \
+    misc/nohup.sh \
+    nproc/nproc-avail.sh \
+    nproc/nproc-positive.sh \
+    od/od-N.sh \
+    od/od-endian.sh \
+    od/od-float.sh \
+    od/od-multiple-t.sh \
+    od/od-x8.sh \
+    misc/pathchk.sh \
+    misc/printenv.sh \
+    printf/printf-hex.sh \
+    printf/printf-surprise.sh \
+    ptx/ptx-overrun.sh \
+    pwd/pwd-option.sh \
+    readlink/readlink-fp-loop.sh \
+    readlink/readlink-root.sh \
+    misc/realpath.sh \
+    runcon/runcon-no-reorder.sh \
+    shred/shred-exact.sh \
+    shred/shred-passes.sh \
+    shred/shred-remove.sh \
+    sort/sort-NaN-infloop.sh \
+    sort/sort-compress.sh \
+    sort/sort-debug-keys.sh \
+    sort/sort-debug-warn.sh \
+    sort/sort-exit-early.sh \
+    sort/sort-merge-fdlimit.sh \
+    sort/sort-month.sh \
+    sort/sort-rand.sh \
+    sort/sort-unique.sh \
+    sort/sort-version.sh \
+    stat/stat-fmt.sh \
+    stat/stat-hyphen.sh \
+    stat/stat-mount.sh \
+    stat/stat-slash.sh \
+    stty/stty-invalid.sh \
+    stty/stty-row-col.sh \
+    cksum/sum-sysv.sh \
+    tac/tac-2-nonseekable.sh \
+    misc/tee.sh \
+    timeout/timeout-group.sh \
+    timeout/timeout.sh \
+    tr/tr-case-class.sh \
+    truncate/truncate-dangling-symlink.sh \
+    truncate/truncate-dir-fail.sh \
+    truncate/truncate-fail-diag.sh \
+    truncate/truncate-fifo.sh \
+    truncate/truncate-no-create-missing.sh \
+    truncate/truncate-parameters.sh \
+    truncate/truncate-relative.sh \
+    uniq/uniq-perf.sh \
+    wc/wc-files0.sh \
+    wc/wc-parallel.sh \
+    mkdir/p-1.sh \
+    mkdir/p-2.sh \
+    mkdir/p-3.sh \
+    mkdir/p-acl.sh \
+    mkdir/p-slashdot.sh \
+    mkdir/p-thru-slink.sh \
+    mkdir/p-v.sh \
+    mkdir/parents.sh \
+    mkdir/perm.sh \
+    mkdir/special-1.sh \
+    mkdir/t-slash.sh \
+    mv/atomic.sh \
+    mv/atomic2.sh \
+    mv/backup-dir.sh \
+    mv/childproof.sh \
+    mv/diag.sh \
+    mv/dir-file.sh \
+    mv/dir2dir.sh \
+    mv/dup-source.sh \
+    mv/force.sh \
+    mv/hard-2.sh \
+    mv/hard-3.sh \
+    mv/hard-4.sh \
+    mv/i-2.sh \
+    mv/i-3.sh \
+    mv/i-4.sh \
+    mv/i-5.sh \
+    mv/i-link-no.sh \
+    mv/into-self-3.sh \
+    mv/into-self-4.sh \
+    mv/into-self.sh \
+    mv/mv-n.sh \
+    mv/no-target-dir.sh \
+    mv/perm-1.sh \
+    mv/symlink-onto-hardlink-to-self.sh \
+    mv/symlink-onto-hardlink.sh \
+    mv/trailing-slash.sh \
+    mv/update.sh \
+    readlink/can-e.sh \
+    readlink/can-f.sh \
+    readlink/can-m.sh \
+    readlink/multi.sh \
+    readlink/rl-1.sh \
+    rm/cycle.sh \
+    rm/d-1.sh \
+    rm/d-2.sh \
+    rm/d-3.sh \
+    rm/dangling-symlink.sh \
+    rm/deep-1.sh \
+    rm/deep-2.sh \
+    rm/dir-no-w.sh \
+    rm/dir-nonrecur.sh \
+    rm/dot-rel.sh \
+    rm/empty-inacc.sh \
+    rm/f-1.sh \
+    rm/fail-eacces.sh \
+    rm/i-1.sh \
+    rm/i-never.sh \
+    rm/i-no-r.sh \
+    rm/ignorable.sh \
+    rm/interactive-always.sh \
+    rm/interactive-once.sh \
+    rm/ir-1.sh \
+    rm/isatty.sh \
+    rm/one-file-system2.sh \
+    rm/r-1.sh \
+    rm/r-2.sh \
+    rm/r-3.sh \
+    rm/r-4.sh \
+    rm/readdir-bug.sh \
+    rm/rm1.sh \
+    rm/rm2.sh \
+    rm/rm3.sh \
+    rm/rm4.sh \
+    rm/rm5.sh \
+    rm/sunos-1.sh \
+    rm/unread2.sh \
+    rm/unread3.sh \
+    rm/v-slash.sh \
+    rmdir/fail-perm.sh \
+    rmdir/ignore.sh \
+    rmdir/t-slash.sh \
+    split/additional-suffix.sh \
+    split/b-chunk.sh \
+    split/filter.sh \
+    split/guard-input.sh \
+    split/l-chunk.sh \
+    split/line-bytes.sh \
+    split/lines.sh \
+    split/numeric.sh \
+    split/r-chunk.sh \
+    split/suffix-auto-length.sh \
+    split/suffix-length.sh \
+    tail/F-vs-rename.sh \
+    tail/flush-initial.sh \
+    tail/follow-name.sh \
+    tail/follow-stdin.sh \
+    tail/inotify-hash-abuse.sh \
+    tail/inotify-hash-abuse2.sh \
+    tail/pipe-f.sh \
+    tail/pipe-f2.sh \
+    tail/proc-ksyms.sh \
+    tail/start-middle.sh \
+    tail/tail-n0f.sh \
+    tail/wait.sh \
+    touch/60-seconds.sh \
+    touch/dangling-symlink.sh \
+    touch/dir-1.sh \
+    touch/empty-file.sh \
+    touch/fail-diag.sh \
+    touch/fifo.sh \
+    touch/no-create-missing.sh \
+    touch/no-rights.sh \
+    touch/not-owner.sh \
+    touch/obsolescent.sh \
+    touch/read-only.sh \
+    touch/relative.sh \
+    touch/trailing-slash.sh \
+    $extra_tests \
+; do
+    echo "$test"
+    chmod a+x "tests/$test"
+    OUT=$(tests/$test 2>&1 9>&1) || [ $? = 77 ] || { fails=$((fails+1)); echo "FAIL:"; echo "$OUT"; }
+done
+
+echo $fails tests failed
+exit $fails
