diff options
Diffstat (limited to '')
-rw-r--r-- | debhelper-compat-upgrade-checklist.pod | 75 |
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 |