Control: tags -1 + patch

Hi Ted


On Fri, 12 Dec 2025 14:52:17 +0100 [email protected] wrote:
Source: e2fsprogs
Version: 1.47.2-3
Severity: normal
User: [email protected]
Usertags: dh_movetousr_removal

Hi,

your package e2fsprogs either Build-Depends on dh-sequence-movetousr
or uses dh_movetousr conditionally to move files from aliased
locations like /sbin, /bin or /lib to the canonical location in /usr.

Eventually, we would like to get rid of this debhelper addon.
Packages should use the canonical paths without any postprocessing.

This means, files are installed directly into /usr.

Please note, that such a change must not be backported to bookworm or
older. If you intend to provide such backports, these changes must be
reverted for those releases. If this means an undue burden on your
workflow our recommendation is to postpone this cleanup.

The motivation for this bug report is, to inform maintainers, that
installing files into the canonical location explicitly, is now the
preferred approach and dh_movetousr is now a deprecated tool.

The goal is, to have dh_movetousr removed after forky is released. We
can revise this plan, if needed. Please keep this timeline in mind
and let us know if this doesn't work for you.

For more information see [1].

If you have further questions, there is an IRC channel named
#debian-usrmerge on OFTC.

Regards,

Michael

[1] https://lists.debian.org/debian-devel/2025/11/msg00245.html



Attached is a build-tested patch that avoids the usage of dh_movetousr.

Do you regularly backport e2fsprogs to versions older than stable?
If so, for which versions: stable, LTS, ELTS?

For LTS and ELTS you would have to revert this patch again. If that is too much hassle, feel free to ignore this patch for now.

Regards,
Michael

diff -Nru e2fsprogs-1.47.4/debian/changelog e2fsprogs-1.47.4/debian/changelog
--- e2fsprogs-1.47.4/debian/changelog   2026-03-06 17:16:31.000000000 +0100
+++ e2fsprogs-1.47.4/debian/changelog   2026-07-05 18:50:09.000000000 +0200
@@ -1,3 +1,11 @@
+e2fsprogs (1.47.4-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Avoid usage of dh_movetousr and install files directly into /usr
+    (Closes: #1122799)
+
+ -- Michael Biebl <[email protected]>  Sun, 05 Jul 2026 18:50:09 +0200
+
 e2fsprogs (1.47.4-1) unstable; urgency=medium
 
   * New upstream version
diff -Nru e2fsprogs-1.47.4/debian/control e2fsprogs-1.47.4/debian/control
--- e2fsprogs-1.47.4/debian/control     2026-03-06 17:16:31.000000000 +0100
+++ e2fsprogs-1.47.4/debian/control     2026-07-05 18:50:09.000000000 +0200
@@ -2,7 +2,7 @@
 Section: admin
 Priority: important
 Maintainer: Theodore Y. Ts'o <[email protected]>
-Build-Depends: dpkg-dev (>= 1.22.5), gettext, texinfo, pkgconf, libarchive-dev 
<!nocheck>, libfuse3-dev [linux-any] <!pkg.e2fsprogs.no-fuse2fs>, 
debhelper-compat (= 12), dh-exec, libblkid-dev, uuid-dev, m4, udev [linux-any], 
systemd [linux-any], systemd-dev [linux-any], cron [linux-any], 
dh-sequence-movetousr
+Build-Depends: dpkg-dev (>= 1.22.5), gettext, texinfo, pkgconf, libarchive-dev 
<!nocheck>, libfuse3-dev [linux-any] <!pkg.e2fsprogs.no-fuse2fs>, 
debhelper-compat (= 12), dh-exec, libblkid-dev, uuid-dev, m4, udev [linux-any], 
systemd [linux-any], systemd-dev [linux-any], cron [linux-any]
 Rules-Requires-Root: no
 Standards-Version: 4.7.2
 Homepage: http://e2fsprogs.sourceforge.net
diff -Nru e2fsprogs-1.47.4/debian/e2fsck-static.install 
e2fsprogs-1.47.4/debian/e2fsck-static.install
--- e2fsprogs-1.47.4/debian/e2fsck-static.install       2026-03-06 
17:16:31.000000000 +0100
+++ e2fsprogs-1.47.4/debian/e2fsck-static.install       2026-07-05 
18:50:09.000000000 +0200
@@ -1,2 +1,2 @@
-/sbin/e2fsck.static
+/usr/sbin/e2fsck.static
 /usr/share/man/man8/e2fsck.static*
diff -Nru e2fsprogs-1.47.4/debian/e2fsprogs.install 
e2fsprogs-1.47.4/debian/e2fsprogs.install
--- e2fsprogs-1.47.4/debian/e2fsprogs.install   2026-03-06 17:16:31.000000000 
+0100
+++ e2fsprogs-1.47.4/debian/e2fsprogs.install   2026-07-05 18:50:09.000000000 
+0200
@@ -1,19 +1,19 @@
 #!/usr/bin/dh-exec
-sbin/badblocks
-sbin/debugfs
-sbin/dumpe2fs
-sbin/e2fsck
-sbin/e2image
-sbin/e2label
-sbin/e2mmpstatus
-[linux-any] sbin/e2scrub
-[linux-any] sbin/e2scrub_all
-sbin/e2undo
-sbin/fsck.ext?
-sbin/mke2fs
-sbin/mkfs.ext?
-sbin/resize2fs
-sbin/tune2fs
+usr/sbin/badblocks
+usr/sbin/debugfs
+usr/sbin/dumpe2fs
+usr/sbin/e2fsck
+usr/sbin/e2image
+usr/sbin/e2label
+usr/sbin/e2mmpstatus
+[linux-any] usr/sbin/e2scrub
+[linux-any] usr/sbin/e2scrub_all
+usr/sbin/e2undo
+usr/sbin/fsck.ext?
+usr/sbin/mke2fs
+usr/sbin/mkfs.ext?
+usr/sbin/resize2fs
+usr/sbin/tune2fs
 usr/bin/chattr
 usr/bin/lsattr
 [linux-any] usr/libexec/e2fsprogs/e2scrub_all_cron
diff -Nru e2fsprogs-1.47.4/debian/e2fsprogs-udeb.install 
e2fsprogs-1.47.4/debian/e2fsprogs-udeb.install
--- e2fsprogs-1.47.4/debian/e2fsprogs-udeb.install      2026-03-06 
17:16:31.000000000 +0100
+++ e2fsprogs-1.47.4/debian/e2fsprogs-udeb.install      2026-07-05 
18:50:09.000000000 +0200
@@ -1,11 +1,11 @@
 etc/mke2fs.conf
-lib/*/lib*.so.*
-sbin/badblocks
-sbin/e2fsck
-sbin/mke2fs
-sbin/resize2fs
-sbin/tune2fs
-sbin/e2label
-sbin/e2mmpstatus
-sbin/fsck.ext?
-sbin/mkfs.ext?
+usr/lib/*/lib*.so.*
+usr/sbin/badblocks
+usr/sbin/e2fsck
+usr/sbin/mke2fs
+usr/sbin/resize2fs
+usr/sbin/tune2fs
+usr/sbin/e2label
+usr/sbin/e2mmpstatus
+usr/sbin/fsck.ext?
+usr/sbin/mkfs.ext?
diff -Nru e2fsprogs-1.47.4/debian/.gitignore e2fsprogs-1.47.4/debian/.gitignore
--- e2fsprogs-1.47.4/debian/.gitignore  2026-03-06 17:16:31.000000000 +0100
+++ e2fsprogs-1.47.4/debian/.gitignore  1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-!patches
diff -Nru e2fsprogs-1.47.4/debian/libblkid1.install 
e2fsprogs-1.47.4/debian/libblkid1.install
--- e2fsprogs-1.47.4/debian/libblkid1.install   2026-03-06 17:16:31.000000000 
+0100
+++ e2fsprogs-1.47.4/debian/libblkid1.install   2026-07-05 18:50:09.000000000 
+0200
@@ -1 +1 @@
-lib/*/libblkid*.so.*
+usr/lib/*/libblkid*.so.*
diff -Nru e2fsprogs-1.47.4/debian/libcom-err2.install 
e2fsprogs-1.47.4/debian/libcom-err2.install
--- e2fsprogs-1.47.4/debian/libcom-err2.install 2026-03-06 17:16:31.000000000 
+0100
+++ e2fsprogs-1.47.4/debian/libcom-err2.install 2026-07-05 18:50:09.000000000 
+0200
@@ -1 +1 @@
-lib/*/libcom_err*.so.*
+usr/lib/*/libcom_err*.so.*
diff -Nru e2fsprogs-1.47.4/debian/libext2fs2t64.install 
e2fsprogs-1.47.4/debian/libext2fs2t64.install
--- e2fsprogs-1.47.4/debian/libext2fs2t64.install       2026-03-06 
17:16:31.000000000 +0100
+++ e2fsprogs-1.47.4/debian/libext2fs2t64.install       2026-07-05 
18:50:09.000000000 +0200
@@ -1,2 +1,2 @@
-lib/*/libext2fs*.so.*
-lib/*/libe2p*.so.*
+usr/lib/*/libext2fs*.so.*
+usr/lib/*/libe2p*.so.*
diff -Nru e2fsprogs-1.47.4/debian/libss2.install 
e2fsprogs-1.47.4/debian/libss2.install
--- e2fsprogs-1.47.4/debian/libss2.install      2026-03-06 17:16:31.000000000 
+0100
+++ e2fsprogs-1.47.4/debian/libss2.install      2026-07-05 18:50:09.000000000 
+0200
@@ -1 +1 @@
-lib/*/libss*.so.*
+usr/lib/*/libss*.so.*
diff -Nru e2fsprogs-1.47.4/debian/libuuid1.install 
e2fsprogs-1.47.4/debian/libuuid1.install
--- e2fsprogs-1.47.4/debian/libuuid1.install    2026-03-06 17:16:31.000000000 
+0100
+++ e2fsprogs-1.47.4/debian/libuuid1.install    2026-07-05 18:50:09.000000000 
+0200
@@ -1 +1 @@
-lib/*/libuuid*.so.*
+usr/lib/*/libuuid*.so.*
diff -Nru e2fsprogs-1.47.4/debian/logsave.install 
e2fsprogs-1.47.4/debian/logsave.install
--- e2fsprogs-1.47.4/debian/logsave.install     2026-03-06 17:16:31.000000000 
+0100
+++ e2fsprogs-1.47.4/debian/logsave.install     2026-07-05 18:50:09.000000000 
+0200
@@ -1,2 +1,2 @@
-sbin/logsave
+usr/sbin/logsave
 usr/share/man/man8/logsave.8
diff -Nru e2fsprogs-1.47.4/debian/rules e2fsprogs-1.47.4/debian/rules
--- e2fsprogs-1.47.4/debian/rules       2026-03-06 17:16:31.000000000 +0100
+++ e2fsprogs-1.47.4/debian/rules       2026-07-05 18:50:09.000000000 +0200
@@ -55,6 +55,7 @@
        --disable-fsck --disable-libblkid --disable-libuuid --disable-uuidd \
        --infodir=/usr/share/info  --enable-symlink-install \
        --with-multiarch=$(DEB_HOST_MULTIARCH) \
+       --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib \
        $(BACKTRACE_CONF_FLAGS) ${EXTRA_CONF_FLAGS}
 
 ifneq ($(SKIP_FUSE2FS),)
@@ -107,7 +108,7 @@
        rm -rf ${stdbuilddir}
 
 override_dh_auto_install:
-       mkdir -p ${tmpdir}/sbin
+       mkdir -p ${tmpdir}/usr/sbin
        $(MAKE) -C ${stdbuilddir} V=1 install DESTDIR=${tmpdir} \
                INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
   # static libs and .h files
@@ -115,7 +116,7 @@
 
 ifeq (,$(filter pkg.e2fsprogs.no-static,$(DEB_BUILD_PROFILES)))
   # statically-linked fsck
-       ${INSTALL_PROGRAM} ${stdbuilddir}/e2fsck/e2fsck.static ${tmpdir}/sbin
+       ${INSTALL_PROGRAM} ${stdbuilddir}/e2fsck/e2fsck.static 
${tmpdir}/usr/sbin
        (cd debian/tmp/usr/share/man/man8 ; cp e2fsck.8 e2fsck.static.8)
 endif
 

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to