diff options
-rw-r--r-- | debhelper.pod | 63 | ||||
-rw-r--r-- | debian/changelog | 7 | ||||
-rwxr-xr-x | dh_clean | 6 | ||||
-rwxr-xr-x | dh_installinit | 4 | ||||
-rw-r--r-- | doc/PROGRAMMING | 4 | ||||
-rw-r--r-- | lib/Debian/Debhelper/Dh_Getopt.pm | 2 | ||||
-rw-r--r-- | lib/Debian/Debhelper/Dh_Lib.pm | 11 |
7 files changed, 57 insertions, 40 deletions
diff --git a/debhelper.pod b/debhelper.pod index e9ba2452..e956f18c 100644 --- a/debhelper.pod +++ b/debhelper.pod @@ -595,15 +595,6 @@ B<dh_systemd_start> instead. =item - -The B<-s> (B<--same-arch>) option is removed. Please use B<-a> (B<--arch>) instead. - -=item - - -Invoking B<dh_clean -k> now causes an error instead of a deprecation -warning. - -=item - - B<dh_installdirs> no longer creates debian/I<package> directories unless explicitly requested (or it has to create a subdirectory in it). @@ -624,11 +615,6 @@ which can also see the files installed by other helpers. =item - -The B<--no-restart-on-upgrade> option in B<dh_installinit> has been removed. -Please use the new name B<--no-stop-on-upgrade> - -=item - - The B<autoconf> buildsystem now passes B<--runstatedir=/run> to F<./configure>. @@ -693,18 +679,6 @@ retroactively from existing compat levels as well. =item - -There was a bug in the B<doit> (and similar) functions from -L<Debian::Debhelper::Dh_Lib> that made them spawn a shell in one -particular circumstance. This bug is now removed and will cause -helpers that rely on the bug to fail with an error. - -In compatibility 11, there is still a detection for this case to -provide a useful error message. This detection will be removed in -compatibility 12, where the string will be interpreted as a literal -command and fail with a "command not found" error. - -=item - - The B<dh_makeshlibs> helper will now exit with an error if objdump returns a non-zero exit from analysing a given file. @@ -732,6 +706,43 @@ This change may cause the tools to process more files than previously. =back +=item v12 + +This compatibility level is still open for development; use with caution. + +Changes from v11 are: + +=over 8 + + +=item - + +The B<-s> (B<--same-arch>) option is removed. Please use B<-a> (B<--arch>) instead. + +=item - + +Invoking B<dh_clean -k> now causes an error instead of a deprecation +warning. + +=item - + +The B<--no-restart-on-upgrade> option in B<dh_installinit> has been removed. +Please use the new name B<--no-stop-on-upgrade> + +=item - + +There was a bug in the B<doit> (and similar) functions from +L<Debian::Debhelper::Dh_Lib> that made them spawn a shell in one +particular circumstance. This bug is now removed and will cause +helpers that rely on the bug to fail with an error. + +In compatibility 11, there is still a detection for this case to +provide a useful error message. This detection will be removed in +compatibility 12, where the string will be interpreted as a literal +command and fail with a "command not found" error. + +=back + =back =head2 Participating in the open beta testing of new compat levels diff --git a/debian/changelog b/debian/changelog index 1a643631..a392250b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,13 @@ debhelper (10.9.1) UNRELEASED; urgency=medium --doc-main-package are listed in debian/control. * dh_installexamples: Ditto. * dh_systemd_start: Regex escape two paths used in a regex. + * Dh_Lib: Open compat 12. + * dh_clean: Defer making -k an error until compat 12. + * Dh_Getopt: Defer making -s an error until compat 12. + * dh_installinit: Defer making --no-restart-on-upgrade an error + until compat 12. + * Dh_Lib: Defer making the "shell-spawning bug" in doit an error + until compat 12. [ Dmitry Shachnev ] * qmake.pm: Add basic cross-building support. (Closes: #877357) @@ -52,7 +52,7 @@ slash. Any content in these directories will be removed as well. This is deprecated, use L<dh_prep(1)> instead. -The option is removed in compat 11. +The option is removed in compat 12. =item B<-d>, B<--dirs-only> @@ -83,8 +83,8 @@ inhibit_log(); if ($dh{K_FLAG}) { deprecated_functionality('dh_clean -k is deprecated; use dh_prep instead', - 11, - 'The -k option is not supported in compat 11; use dh_prep instead'); + 12, + 'The -k option is not supported in compat 12; use dh_prep instead'); } # Remove the debhelper stamp file diff --git a/dh_installinit b/dh_installinit index 02282e0d..e2fd53d9 100755 --- a/dh_installinit +++ b/dh_installinit @@ -120,7 +120,7 @@ the service to be restarted but be stopped during the upgrade, then please use B<--no-restart-after-upgrade> (note the "after-upgrade"). Note that the B<--no-restart-on-upgrade> alias is deprecated and will -be removed in compat 11. This is to avoid confusion with the +be removed in compat 12. This is to avoid confusion with the B<--no-restart-after-upgrade> option. The B<--no-stop-on-upgrade> variant was introduced in debhelper 10.2 (included in Debian stretch). @@ -191,7 +191,7 @@ init(options => { "no-restart-on-upgrade" => sub { $dh{R_FLAG} = 1; deprecated_functionality("--no-restart-on-upgrade has been renamed to --no-stop-on-upgrade", - 11); + 12); }, "no-start" => \$dh{NO_START}, "R|restart-after-upgrade!" => \$dh{RESTART_AFTER_UPGRADE}, diff --git a/doc/PROGRAMMING b/doc/PROGRAMMING index 5f3a4629..42ad1ab3 100644 --- a/doc/PROGRAMMING +++ b/doc/PROGRAMMING @@ -171,8 +171,8 @@ doit([$options, ]@command) This will *not* invoke a shell, so meta characters will not have any special meaning. Use complex_doit for that. - NB: In compat 10 and below, there was a bug that would make doit fork a shell - in one special case. This is deprecated and will be removed in compat 11. + NB: In compat 11 and below, there was a bug that would make doit fork a shell + in one special case. This is deprecated and will be removed in compat 12. The detection code for this can be disabled by passing an empty hashref for as $options. This will make doit unconditionally avoid forking a shell. print_and_doit([$options, ]@command) diff --git a/lib/Debian/Debhelper/Dh_Getopt.pm b/lib/Debian/Debhelper/Dh_Getopt.pm index 8b978d98..3d0313e7 100644 --- a/lib/Debian/Debhelper/Dh_Getopt.pm +++ b/lib/Debian/Debhelper/Dh_Getopt.pm @@ -35,7 +35,7 @@ sub AddPackage { my($option,$value)=@_; $dh{DOARCH}=1; if ($option eq 's' or $option eq 'same-arch') { deprecated_functionality('-s/--same-arch is deprecated; please use -a/--arch instead', - 11, + 12, '-s/--same-arch has been removed; please use -a/--arch instead' ); } diff --git a/lib/Debian/Debhelper/Dh_Lib.pm b/lib/Debian/Debhelper/Dh_Lib.pm index 93c52068..9c5ca656 100644 --- a/lib/Debian/Debhelper/Dh_Lib.pm +++ b/lib/Debian/Debhelper/Dh_Lib.pm @@ -18,7 +18,7 @@ use constant { # debian-devel@l.d.o before bumping this. 'BETA_TESTER_COMPAT' => 10, # Highest compat level permitted - 'MAX_COMPAT_LEVEL' => 11, + 'MAX_COMPAT_LEVEL' => 12, # Magic value for xargs 'XARGS_INSERT_PARAMS_HERE' => \'<INSERT-HERE>', #'# Hi emacs. # Magic value for debhelper tools to request "current version" @@ -311,11 +311,10 @@ sub print_and_doit_noerror { sub _doit { my (@cmd) = @_; my $options = ref($cmd[0]) ? shift(@cmd) : undef; - # In compat <= 10, we warn, compat 11 we detect and error, in - # compat 12 we assume people know what they are doing. - if (not defined($options) and @cmd == 1 and compat(11) and $cmd[0] =~ m/[\s<&>|;]/) { - deprecated_functionality('doit() + doit_*() calls will no longer spawn a shell in compat 11 for single string arguments (please use complex_doit instead)', - 11); + # In compat <= 11, we warn, in compat 12 we assume people know what they are doing. + if (not defined($options) and @cmd == 1 and compat(12) and $cmd[0] =~ m/[\s<&>|;]/) { + deprecated_functionality('doit() + doit_*() calls will no longer spawn a shell in compat 12 for single string arguments (please use complex_doit instead)', + 12); return 1 if $dh{NO_ACT}; return system(@cmd) == 0; } |