diff options
| author | Niels Thykier <niels@thykier.net> | 2018-08-04 17:01:35 +0000 |
|---|---|---|
| committer | Niels Thykier <niels@thykier.net> | 2018-08-04 17:21:58 +0000 |
| commit | 48b9bb654d19df85f913eb644e9748f128e05be6 (patch) | |
| tree | 9f89ef6973cb86ae0812cba31373e6e9467c8a50 /lib | |
| parent | 7baf4b986eb04a5c949bfe1588e0dd2181bcf737 (diff) | |
| download | debhelper-48b9bb654d19df85f913eb644e9748f128e05be6.tar.gz | |
dh: Support autoloading sequences via Build-Depends
Signed-off-by: Niels Thykier <niels@thykier.net>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Debian/Debhelper/Dh_Lib.pm | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/Debian/Debhelper/Dh_Lib.pm b/lib/Debian/Debhelper/Dh_Lib.pm index b07358d1..8d9f3476 100644 --- a/lib/Debian/Debhelper/Dh_Lib.pm +++ b/lib/Debian/Debhelper/Dh_Lib.pm @@ -1524,13 +1524,14 @@ sub is_cross_compiling { # As a side effect, populates %package_arches and %package_types # with the types of all packages (not only those returned). my (%package_types, %package_arches, %package_multiarches, %packages_by_type, - %package_sections, $sourcepackage, %package_cross_type); + %package_sections, $sourcepackage, %package_cross_type, %dh_bd_sequences); # Resets the arrays; used mostly for testing sub resetpackages { undef $sourcepackage; %package_types = %package_arches = %package_multiarches = %packages_by_type = %package_sections = %package_cross_type = (); + %dh_bd_sequences = (); } # Returns source package name @@ -1656,6 +1657,16 @@ sub getpackages { warning(" compat level into the file debian/compat. (E.g. \"echo ${clevel} > debian/compat\")"); error("Could not parse desired debhelper compat level from relation: $dep"); } + # Build-Depends on dh-sequence-<foo> OR dh-sequence-<foo> (<op> <version>) + if ($dep =~ m/^dh-sequence-(${PKGNAME_REGEX})\s*(?:[(]\s*(?:[<>]?=|<<|>>)\s*(${PKGVERSION_REGEX})\s*[)])?$/) { + my $sequence = $1; + if ($field ne 'build-depends') { + warning("Ignoring dh sequence add-on request for sequenece ${sequence} via ${field}: Please move it to the Build-Depends field"); + warning("The relation that triggered this warning was: ${dep} (from the ${field} field)"); + next; + } + $dh_bd_sequences{$sequence} = 1; + } } } $compat_from_bd = $final_level // -1; @@ -1942,6 +1953,14 @@ sub is_udeb { } } +# Only useful for dh(1) +sub bd_dh_sequences { + # Use $sourcepackage as check because %dh_bd_sequence can be empty + # after running getpackages(). + getpackages() if not defined($sourcepackage); + return sort(keys(%dh_bd_sequences)); +} + sub _concat_slurp_script_files { my (@files) = @_; my $res = ''; |
