[debhelper-devel] [debhelper] 01/02: Dh_Lib: Support a virtual "beta-tester" compat level

Niels Thykier nthykier at moszumanska.debian.org
Sat Aug 20 19:34:38 UTC 2016


This is an automated email from the git hooks/post-receive script.

nthykier pushed a commit to branch master
in repository debhelper.

commit 0278bf605f9703d9b075fa5484a3e41f2167ea09
Author: Niels Thykier <niels at thykier.net>
Date:   Sun Aug 14 10:28:38 2016 +0000

    Dh_Lib: Support a virtual "beta-tester" compat level
    
    For people, who want to opt-in to beta-testing.
    
    Signed-off-by: Niels Thykier <niels at thykier.net>
---
 Debian/Debhelper/Dh_Lib.pm | 17 +++++++++++++-
 debhelper.pod              | 56 ++++++++++++++++++++++++++++++++++++++++++++++
 debian/changelog           |  5 ++++-
 debian/compat              |  2 +-
 4 files changed, 77 insertions(+), 3 deletions(-)

diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index 336f719..d1d381c 100644
--- a/Debian/Debhelper/Dh_Lib.pm
+++ b/Debian/Debhelper/Dh_Lib.pm
@@ -14,10 +14,23 @@ use constant {
 	# Lowest compat level that does *not* cause deprecation
 	# warnings
 	'LOWEST_NON_DEPRECATED_COMPAT_LEVEL' => 5,
+	# Highest "open-beta" compat level.  Remember to notify
+	# debian-devel at l.d.o before bumping this.
+	'BETA_TESTER_COMPAT' => 10,
 	# Highest compat level permitted
 	'MAX_COMPAT_LEVEL' => 11,
 };
 
+my %NAMED_COMPAT_LEVELS = (
+	# The bleeding-edge compat level is deliberately not documented.
+	# You are welcome to use it, but please subscribe to the git
+	# commit mails if you do.  There is no heads up on changes for
+	# bleeding-edge testers as it is mainly intended for debhelper
+	# developers.
+	'bleeding-edge-tester' => MAX_COMPAT_LEVEL,
+	'beta-tester'          => BETA_TESTER_COMPAT,
+);
+
 use Exporter qw(import);
 use vars qw(@EXPORT %dh);
 @EXPORT=qw(&init &doit &doit_noerror &complex_doit &verbose_print &error
@@ -423,7 +436,9 @@ sub dirname {
 					$c=$l;
 					$c =~ s/^\s*+//;
 					$c =~ s/\s*+$//;
-					if ($c !~ m/^\d+$/) {
+					if (exists($NAMED_COMPAT_LEVELS{$c})) {
+						$c = $NAMED_COMPAT_LEVELS{$c};
+					} elsif ($c !~ m/^\d+$/) {
 						error("debian/compat must contain a postive number (found: \"$c\")");
 					}
 				}
diff --git a/debhelper.pod b/debhelper.pod
index 1f95082..3aa8dc7 100644
--- a/debhelper.pod
+++ b/debhelper.pod
@@ -599,6 +599,62 @@ Please remember to check/update your doc-base files.
 
 =back
 
+=head2 Participating in the open beta testing of new compat levels
+
+It is possible to opt-in to the open beta testing of new compat
+levels.  This is done by setting the compat level to the string
+"beta-tester".
+
+Packages using this compat level will automatically be upgraded to the
+highest compatibility level in open beta.  In periods without any open
+beta versions, the compat level will be the highest stable
+compatibility level.
+
+Please consider the following before opting in:
+
+=over 4
+
+=item *
+
+The automatic upgrade in compatibility level may cause the package (or
+a feature in it) to stop functioning.
+
+=item *
+
+Compatibility levels in open beta are still subject to change.  We
+will try to keep the changes to a minimal once the beta starts.
+However, there are no guarantees that the compat will not change
+during the beta.
+
+=item *
+
+We will notify you via debian-devel at lists.debian.org before we start a
+new open beta compat level.  However, once the beta starts we expect
+that you keep yourself up to date on changes to debhelper.
+
+=item *
+
+The "beta-tester" compatibility version in unstable and testing will
+often be different than the one in stable-backports.  Accordingly, it
+is not recommended for packages being backported regularly.
+
+=item *
+
+You can always opt-out of the beta by resetting the compatibility
+level of your package to a stable version.
+
+=back
+
+Should you still be interested in the open beta testing, please run:
+
+  % echo beta-tester > debian/compat
+
+You will also need to ensure that debian/control as:
+
+  Build-Depends: debhelper (>= 9.20160815~)
+
+To ensure that debhelper knows about the "beta-tester" compat level.
+
 =head1 NOTES
 
 =head2 Multiple binary package support
diff --git a/debian/changelog b/debian/changelog
index 1b8bc70..613a138 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,9 @@
 debhelper (9.20160814+unreleased) UNRELEASED; urgency=medium
 
-  * Nothing yet...
+  * Dh_Lib.pm: Support a new named "beta-tester" compat level.
+    If you want to participate in beta testing of new compat
+    levels, please review "man 7 debhelper" for more
+    information.
 
  -- Niels Thykier <niels at thykier.net>  Sun, 14 Aug 2016 09:30:15 +0000
 
diff --git a/debian/compat b/debian/compat
index b4de394..1f3ada6 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-11
+bleeding-edge-tester

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debhelper/debhelper.git




More information about the debhelper-devel mailing list