#1072698 debhelper: Mark 14 as stable?

#1072698#5
Date:
2024-06-06 16:38:38 UTC
From:
To:
Do you intend to mark debhelper 14 as stable in time for the next
major Debian stable release (Debian 13 "Trixie")?

There are interesting features and improvements in compat 14 that I
would like to use in my packages but I hesitate because as long as 14
is open for development, there is a risk that changes could cause
packages to fail to build.

Thank you,
Jeremy Bícha

#1072698#10
Date:
2024-06-06 17:03:40 UTC
From:
To:
Jeremy Bícha:

Depends on whether there are more things that need changing, whether I
feel the existing changes have been tested sufficiently, and that the
Debian tooling is ready for it (such as lintian and lintian-brush).

As an example, until #1067653 is fixed, then lintian will give
contradicting advice to one of the compat 14 changes, which I consider
"not very nice". Especially not if lintian-brush will then "auto-fix" it
favor of lintian's world view.

If you want compat 14 sooner, consider:

  1) testing compat 14 works as intended on a subset of your packages if
     you have any where a bit of instability is an acceptable risk (or
     do it in experimental only)
  2) try out how other tools such as lintian and lintian-brush react and
     report any issues there.

Best regards,
Niels

#1072698#15
Date:
2024-06-06 17:03:40 UTC
From:
To:
Jeremy Bícha:

Depends on whether there are more things that need changing, whether I
feel the existing changes have been tested sufficiently, and that the
Debian tooling is ready for it (such as lintian and lintian-brush).

As an example, until #1067653 is fixed, then lintian will give
contradicting advice to one of the compat 14 changes, which I consider
"not very nice". Especially not if lintian-brush will then "auto-fix" it
favor of lintian's world view.

If you want compat 14 sooner, consider:

  1) testing compat 14 works as intended on a subset of your packages if
     you have any where a bit of instability is an acceptable risk (or
     do it in experimental only)
  2) try out how other tools such as lintian and lintian-brush react and
     report any issues there.

Best regards,
Niels

#1072698#26
Date:
2024-06-07 11:40:31 UTC
From:
To:
Niels Thykier:

I have added known bugs as blockers for this one (thanks for filing the
one for lintian-brush).  Please consider adding any other that you file
or find. :)

Best regards,
Niels

#1072698#31
Date:
2024-06-22 10:43:41 UTC
From:
To:
Jeremy Bícha:

# What is happening

Thinking a bit more about it, this bug can also easily serve a notice
point for people who have started to use compat 14.

I am doing a **one time** CC for all human (co-)maintainers of packages
that uses compat 14 (according to trends.d.n, which is a few months out
of date). Please subscribe to this bug if you want further notices about
compat 14 changes or known issues and are not already subscribed by
alternative means such as git commit level notifications.
    Future updates will be to 1072698@bugs.debian.org without any CC'es
to enable you to control if you want these updates. This implies that
the submitter will not get these updates either by default due to the
BTS forwarding rule (the bug had a different purpose originally, so I
figured it was a reasonable trade off).

I did not add package lists such as the RPM packaging team to the CC,
since I assume it would be a bad signal/noise ratio for the packaging
teams subscribers in general. If you as a member of the packaging
team(s) in question know the this update (or subscribing) will be
relevant to the team, feel free to forward/subscribe the team. I did not
feel I could make such a call and therefore omitted packaging teams.

# Contributing

If you are aware of any known issues with compat 14, please consider
reporting them here to notify subscribers. This can be as simple as
adding a blocker to this bug, if some tool is not coping entirely well
with compat 14+.

There are some existing known bugs for lintian and lintian-brush, such
as #1072741, #1067653, #1072700.

Any feedback here is much appreciated as it helps me understand where
adopters might run into issues.

# Updates to compat 14

I am not sure when your respective packages were migrated to compat 14.
In this email, I am using debhelper/13.15 as my "cut off" for updates.
If you migrated before debhelper/13.15 (22nd of March, 2024), there
might be more compat 14 changes relevant for you.

## Changes already in sid (`d/compat` is going away!)

If you have not been following the development, there is one item (the
`debian/compat` one) that will definitely break your package "soon". The
other items may or may not be relevant to you depending on what features
your package uses.

  * ACTION REQUIRED if you migrated using `debian/compat`:
    `debian/compat` is being removed. Please replace it with
    `X-DH-Compat: 14` in the source stanza of `debian/control`
    (debhelper/13.15, March 2024). This will be a hard requirement by the
    time `debhelper/14` is released and possibly before.

    - Known issues: lintian/lintian-brush might not recognize this yet.
      (See #1072741)

    - Remember to bump the version requirement to debhelper >= (13.15~)
      when you migrate, since earlier versions of `debhelper` does not
      know about `X-DH-Compat`.

  * The `cmake` build system now passes `ASFLAGS` (`dpkg-buildflags`) to
    `cmake` as `ASMFLAGS` when `ASMFLAGS` is unset
    (debhelper/13.15, March 2024)


  * The `meson` build system now uses `--auto-features=enabled`
   (debhelper/13.15, March 2024)


  * Relationship substvars are now applied automatically.

    - Known issues: lintian/lintian-brush might not recognize this yet.
      (see #1067653 + #1072700)


  * The `dh_shlibdeps` now tracks `Essential: yes` and uses
    `${shlibs:Pre-Depends}` for those packages. Don't think I saw an
    `Essential: yes` package, but mentioning for completeness.


  * Warning about packaging file patterns no longer allowed in compat 15.
    The current idea is to keep all of these changes as a warning for
    compat 14 and let the error come at compat 15.

    This includes usage of `debian/install` with a source package
    building multiple binaries (use `debian/mainpkg.install` instead) and
    use of `debian/foo.service` when there is no `foo` package being
    built (use `debian/pkg.foo.service` if you are using --name). These
    changes are from debhelper/13.15 and debhelper/13.16 (March and June
    2024).

    - Expect more changes in this area. These changes are related to
      avoiding bugs when going from single binary to multiple binary
      packages plus improving static analysis support. As an example,
      `debputy lsp server`/`debputy lint` with `debhelper/13.16` is now
      considerably better at detecting misnamed packaging files like
      `debian/foo.intsall` (typo intended).

Please see `man 7 debhelper-compat-upgrade-checklist` for the full details.

## Changes to compat 14 in git pending upload

  * The order and placement has changed for dh_strip_nondeterminism,
    dh_compress, and dh_fixperm. Previously, these three commands
    were run in the listed order between dh_installxfonts and
    dh_missing.

    Their new placement is after dh_missing (arch:all) or
    dh_shlibdeps (arch:any) and before dh_installdeb. Additionally,
    their new order is dh_fixperms, dh_strip_nondeterminism, and
    then dh_compress.

    This change may require updates to third-party add-ons that use
    either of these three commands as anchor or to hook targets for any
    of these commands that made assumptions about the command order.

    Additionally, dh_strip_nondeterminism and dh_compress plus any
    commands added by third-party add-ons using these as anchors will no
    longer be able to rely on the mode/ownership normalization by
    dh_fixperms, which may expose bugs n the form of incorrect mode or
    ownership in the resulting deb.

    Please file any such bugs against the relevant tool and add a
    blocking on this bug (#1072698)

    - This change is to make `Rules-Requires-Root: no` more reliable
      (LP#1928381) plus to resolve the bugs #981783 and #982457.  If
      you are not using any third-party add-ons, then I do not expect
      any issues.

That is it for this time. As mentioned, consider subscribing in case you
want future updates (again, the CC is a one-time). Additionally, please
review the list for anything that might affect your package(s) and when
you file bugs about other tools, please add those bugs as blockers to
this bug.

Best regards,
Niels

#1072698#38
Date:
2024-08-13 13:20:36 UTC
From:
To:
Hi

Version 13.17 of debhelper has just been updated to unstable with the
following compat 14 related changes:

   * Reorder default sequence around dh_fixperms and nearby tools in
     compat 14. (Closes: #981783, #982457). This should also avoid
     future issues like LP#1928381 where Ubuntu's modifications to
     `dh_strip` cause differences not visible in Debian.

     - Most importantly, `dh_fixperms`, `dh_compress`, and
       `dh_strip_nondeterminism` are now run later and in a different
       order with `dh_fixperms` now running before the other two.
       This may expose bugs in `dh_compress`, `dh_strip_nondeterminism`,
       or third-party tools added (now) after `dh_fixperms` because they
       used one of the other commands as "anchor" point. This will mostly
       be visible in the form of ownership or mode and will require you
       to file bugs against the relevant tools. (Feel free to CC me on
       bugs to third-party packages and add them as blockers for this
       bug)

  * The `Dh_Lib.pm` function `pkgfile` (used to detect files like
    "debian/foo.install") no longer allows `named` and architecture
    restricted files by default in compat 14. Instead, tools have to
    explicitly declare that they support multiple files via `--name`
    or/and architecture restricted files (like `debian/symbols.amd64`).

    This is only about `debian/foo.named.install` no longer being
    accepted as a valid source file for `dh_install -pfoo --name named`
    (etc.). Note that `--name` (the parameter) is still accepted by most
    helpers by default and may still change the destination name in some
    cases.

    All of `debhelper`'s commands should have been updated correctly. If
    not, please do not hesitate to file bugs.

    Third-party tools may need updating here as well though I expect to
    be rare, since few helpers need these features. If it happens, they
    will need a versioned dependency on `debhelper/13.17` (or a runtime
    check) and a slightly altered call to `pkgfile` to (re-)enable these
    special cases.

  * The `dh_auto_install --destdir debian/tmp` change has now become a
    `compat 14` rather than a `compat 15` change at request in #1074322.
    At the time of analysis, only two packages were affected and were
    maintained by the reported, who was ok with the change (everyone else
    added an explicit `--destdir` with a compat 14 change and should
    therefore be unaffected by this change). Please see #1074322 for the
    rationale.

Please let me know if you run into issues with any of these changes or
the changes have unexpected side-effects. As always, please file bugs
and add them as blockers of this bug. :)

Best regards,
Niels

#1072698#43
Date:
2024-12-16 12:28:42 UTC
From:
To:
Hi

Version 13.21 of debhelper has just been uploaded to unstable with some
compat 14 related changes.

The changes should generally not have any negative consequences for you
unless you have files that must **not** have the "user write bit" and
`dh_fixperms` does not know it should remove that bit. This is
exceedingly unlikely since the default permissions are 0644/0755 and the
major exceptions like `*.ali` and `etc/sudoers.d` is covered by
`dh_fixperms`. Nevertheless, this is the "subscribe for updates" bug and
it is an update, so here goes:

Thanks to Andrea Pappacoda <andrea@pappacoda.it> for reporting the bug
in #1082724.

Best regards,
Niels

#1072698#50
Date:
2025-08-10 16:33:48 UTC
From:
To:
Hi,

Version 13.25 of debhelper was uploaded and it no longer run dh_dwz by
default in compat 14.

  * If a package has a hook target for dh_dwz, those will no longer be
    run by default. If the hook target is only there to skip dh_dwz,
    then the hook target can now be removed.

    You can use `debputy lint` to detect if a package is affected.

  * If dh_dwz is desireable, add `dh-sequence-dwz` to Build-Depends-Arch

In most cases, dh_dwz only causes minor size benefits to the installed
size of -dbgsym packages.

Best regards,
Niels

#1072698#61
Date:
2026-01-10 10:10:41 UTC
From:
To:
Es gibt eine Familienspende in Höhe von 1.850.000,00 USD von Cheng Charlie
Saephan. Bitte antworten Sie für weitere Informationen. Denken Sie daran,
Ihrer Familie und den Bedürftigen in Ihrer Umgebung Gutes zu tun.

Dies ist bereits der zweite Versuch, Sie zu erreichen. Bitte antworten Sie
für weitere Details.

#1072698#66
Date:
2026-01-10 10:10:41 UTC
From:
To:
Es gibt eine Familienspende in Höhe von 1.850.000,00 USD von Cheng Charlie
Saephan. Bitte antworten Sie für weitere Informationen. Denken Sie daran,
Ihrer Familie und den Bedürftigen in Ihrer Umgebung Gutes zu tun.

Dies ist bereits der zweite Versuch, Sie zu erreichen. Bitte antworten Sie
für weitere Details.

#1072698#83
Date:
2026-06-07 12:04:48 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
debhelper, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1072698@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Niels Thykier <niels@thykier.net> (supplier of updated debhelper package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 07 Jun 2026 11:44:59 +0000
Source: debhelper
Architecture: source
Version: 13.32
Distribution: unstable
Urgency: medium
Maintainer: Debhelper Maintainers <debhelper@packages.debian.org>
Changed-By: Niels Thykier <niels@thykier.net>
Closes: 1072698 1132737 1133692 1134898 1136120 1138620
Changes:
 debhelper (13.32) unstable; urgency=medium
 .
   [ Johannes Schauer Marin Rodrigues ]
   * autoscripts: enable update-rc.d and deb-systemd-helper with $DPKG_ROOT
   * autoscripts/postrm-systemd{,-user}: stop testing for deb-systemd-helper
   * autoscripts/postinst-systemd-restart: do not do a daemon-reload when DPKG_ROOT
     is non-empty.
     Thanks to Helmut Grohne <helmut@subdivi.de>
   * dh_installtmpfiles: reproducible tmpfiles order for postrm scripts
 .
   [ Miao Wang ]
   * filedoublearray: do not resolve symlink when converting to absolute paths
 .
   [ Niels Thykier ]
   * dh_clean: remove obsolete `compat` check
   * dh_installtmpfiles: Remove note that `tmpfiles.d` is for `systemd`-only
     (Closes: 1134898)
   * dh_installdocs: Remove mention of where doc-base files are installed.
     Thanks to Jay Burstin <jayburstinau@gmail.com> (Closes: #1138620)
   * Dh_Lib.pm: Fix a (consistent) typo in a var name and fix some state resetting
   * upgrade-checklist: Avoid implying `X-DH-Compat` is the new default.
     (Closes: #1072698)
 .
   [ Dorle Osterode ]
   * Fix doubling of word in man page
   * Fix meaning of "ahead of time"
 .
   [ Nilesh Patra ]
   * Fix header for `dh_computeautosubstvars`
   * dh_computeautosubstvars: process next package instead of returning in parallel
     build
   * Do not compute `Commands` for `udeb` (Closes: #1136120)
 .
   [ Charles Plessy ]
   * Do not compress R data files.
 .
   [ Helmut Grohne ]
   * autoconf: export standard build tools
   * Add function get_build_tools to Dh_Lib.
 .
   [ Américo Monteiro ]
   * Update on Portuguese translation of the man pages (Closes: #1132737)
 .
   [ Luca Boccassi ]
   * dh_installsystemd: Remove note that `tmpfiles.d` is for `systemd`-only
   * dh_installtmpfiles: add dependency on tmpfiles implementation
 .
   [ Sandro Knauß ]
   * Document dh_qmldeps changes with v14.  (Closes: #1133692)
Checksums-Sha1:
 91877e6ef48ec3fde084de647527ccc08c361c9d 2049 debhelper_13.32.dsc
 5694182415ff7d2c0fbee2787b8d3ed7af90bdec 642020 debhelper_13.32.tar.xz
 c08211931b97977dbf62dd75277592907b0964aa 1613596 debhelper_13.32.git.tar.xz
 c97aaf52f19c91676dfeef0b9d09a73b1f6ae727 17488 debhelper_13.32_source.buildinfo
Checksums-Sha256:
 4478b34275bb154200718b2b0711f90b2358fca97619cec745a5a5c3f5b09d30 2049 debhelper_13.32.dsc
 18ff049f5361784a3bb3e67be87afe4773fb0c5382103a8004cb309d52eed384 642020 debhelper_13.32.tar.xz
 f67d9b8d09bdb2ae5c67152632f46e979f6b30a910a8fead9e19cacfa9a6b069 1613596 debhelper_13.32.git.tar.xz
 0d1c257b8b9c8417b151a477df7163a7975957d5b4a7285b3db7e2431f3f06d9 17488 debhelper_13.32_source.buildinfo
Files:
 9236db34b23c1d9cd939a39955a7b62b 2049 devel optional debhelper_13.32.dsc
 b77ae4d0c0d74bffa49434c9a3341d58 642020 devel optional debhelper_13.32.tar.xz
 a13c5ae58cf00f762d49b7df18bdffc3 1613596 devel None debhelper_13.32.git.tar.xz
 0f4f24f490dfe730942b9e64d001a816 17488 devel optional debhelper_13.32_source.buildinfo
Git-Tag-Info: tag=6247fafde80bac480b2970f6ae3537a620952514 fp=f5e7199aef5e5c67e555873f740d68888365d289
Git-Tag-Tagger: Niels Thykier <niels@thykier.net>
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmolWscACgkQYG0ITkaD
wHlJgxAA659g4UDv+UOwiICASSsCRUBsdd1Kr0tV4HK9gwdlS+xQAKt4/IYQ425a
hJWUTS+a+5bw+iiHGs4Czd9Wnsl9vu6tjfC9Duh3+pIjFtV4tLIznOJmK9D9038U
2Truinrrr6FWDsQGg/mmSiSX4yVO6IXaTY6G4BOltRorBErteBobnvK33wSrSYxG
9c+CSrKV/XQ34P5oMtu1liD0bnKYV5bU0djCFFZP5vCa3nIlk4ZwhsAEiy6shsMh
0SdDdksuffQyn/YZMQN4PjxXkGvtw0RrIZaEGqd+kJHk5w/C0XNZtVC4cC8fn+mQ
U7YrUWJq3zY7SKg1RzNTwbDAjzh061veJPwHjRgdOIIxcJDBqELCIX6Kt6QsQA02
JQfn99iW2H7bkvFfGDeQM8LuC8tHufHqMrrP/96G8Qm4CLuGQQJcFWhk/uKtIsxk
WIvmx1LbxEkCXXiiTZHa8jKzxyD4zjLPMOfv/YEPG92sRguQ5hYOyMNNWMuMHULu
RfRXdey8RHWUkhKa3rWu44MuM7EVrCoSiRilZ1ORCpfVMWN8lSjhsbU20o3uNJRF
QhoJh9kI9oRNJe+5cNaqswVIMKmH8w+5pRXfsoXU5aS1oXT1UrVCNSkeT7IhX0qi
DnhqL6tfxlxuvi6oeCK5jd8IzGvPF4cykcO1l/+3+nwDAumXb6U=
=10Pz
-----END PGP SIGNATURE-----

#1072698#94
Date:
2026-06-14 09:43:06 UTC
From:
To:
Source: debhelper
Source-Version: 14.0

Compat 14 of debhelper is now stable (upload incoming).

Best regards,
Niels