summaryrefslogtreecommitdiffstats
path: root/debhelper-compat-upgrade-checklist.pod
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debhelper-compat-upgrade-checklist.pod75
1 files changed, 64 insertions, 11 deletions
diff --git a/debhelper-compat-upgrade-checklist.pod b/debhelper-compat-upgrade-checklist.pod
index 9a49dc3..6f58834 100644
--- a/debhelper-compat-upgrade-checklist.pod
+++ b/debhelper-compat-upgrade-checklist.pod
@@ -32,17 +32,15 @@ Changes from v14 are:
=item -
-The B<dh_auto_install> tool no longer defaults to B<< --destdir=debian/I<package> >>
-for source packages only producing a single binary. If this behaviour is wanted,
-the package should explicitly activate the B<single-binary> dh addon (e.g., by adding
-B<dh-sequence-single-binary> to B<Build-Depends>) or pass B<--destdir> to
-B<dh_auto_install>.
+The B<single-binary> add-on for B<dh> is no longer implicitly activated by
+source packages that have a single B<Package> stanza in F<debian/control>. If
+the package needs the short-cuts for single-binary packages, it must explicitly
+activate the B<single-binary> add-in.
-The rationale for this change is to avoid "surprises" when adding a second binary package
-later. Previously, debhelper would silently change behaviour often resulting in empty
-binary packages being uploaded to the archive by mistake. With the new behaviour,
-the B<single-binary> addon will detect the mismatch and warn the maintainer of what is
-about to happen.
+This can be done via a B<Build-Depends> on B<dh-sequence-single-binary>.
+
+Any B<--without single-binary> passed to B<dh> to avoid the warning in compat 14
+can now be removed to simplify F<debian/rules> without triggering the warning.
=item -
@@ -93,6 +91,30 @@ Packages using the B<dh> sequencer should be aware the following changes:
=item -
+The order and placement has changed for B<dh_strip_nondeterminism>,
+B<dh_compress>, and B<dh_fixperm>. Previously, these three commands
+were run in the listed order between B<dh_installxfonts> and
+B<dh_missing>.
+
+Their new placement is after B<dh_missing> (arch:all) or
+B<dh_shlibdeps> (arch:any) and before B<dh_installdeb>. Additionally,
+their new order is B<dh_fixperms>, B<dh_strip_nondeterminism>, and
+then B<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, B<dh_strip_nondeterminism> and B<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 B<dh_fixperms>, which may expose bugs in the form
+of incorrect mode or ownership in the resulting deb.
+
+Please file any such bugs against the relevant tool. Feel free to include the
+B<debhelper> maintainers in CC.
+
+=item -
+
The tool B<dh_installsysusers> is now included in the default sequence. This
helper tool will process systemd sysusers files.
@@ -117,8 +139,18 @@ B<dh_installinitramfs> in the default B<dh> sequence.
I<< This item only applies to source packages that have exactly one B<Package> stanza in F<debian/control>. >>
+The B<dh_auto_install> command now unconditionally uses B<--destdir=debian/tmp> by default. The special-case
+for source packages building a single binary package is now moved to B<single-binary> B<dh> addon. Note, this
+add-on is activated by default in compat 14 but not in compat 15 (see next bullet item).
+
+=item -
+
+I<< This item only applies to source packages that have exactly one B<Package> stanza in F<debian/control>. >>
+
The B<dh> sequencer will warn if the B<single-binary> addon is implicitly activated to
-warn maintainers of the pending compat 15 change in B<dh_auto_install>.
+warn maintainers of the pending compat 15 change in B<dh_auto_install>. The implicit
+activation is a transitional feature to reduce the changes of risks with this change.
+In compat 15, the implicit activation will no longer trigger.
Maintainers are urged to either explicitly activate the B<single-binary> addon to
preserve the existing behaviour (e.g., by adding B<dh-sequence-single-binary> to
@@ -220,6 +252,12 @@ will not have to do anything for this migration.
=item -
+The debhelper configuration files are subject to the following changes:
+
+=over 4
+
+=item -
+
It now triggers a warning to use package-less versions of debhelper configuration
files when there are 2 or more binary packages listed in F<debian/control> in
most cases. Legacy files should be renamed to F<< debian/I<package>.foo >>
@@ -248,6 +286,21 @@ In compat 15 (or later), this is changed to an error.
=item -
+The default look up rules for B<Dh_Lib> based tools now assumes that configuration
+files are no longer named (B<--name>) nor support architecture restrictions by default.
+If you work with a third-party debhelper-like tool and need support for either of these
+features, please file a bug against the tool asking it to declare its configuration
+file with the relevant options in its B<pkgfile> call.
+
+Note that B<debhelper> itself tweaked its rules for most of its tools as well based on
+analysis of usage via B<codesearch.debian.org>. Should you be relying on a feature like
+architecture restrictions for a given config file that is no longer supported, please
+file a feature request for the use-case and it might be restored.
+
+=back
+
+=item -
+
Packages using the B<cmake> build system should be aware of the following changes:
=over 4