diff options
author | Guillem Jover <guillem@debian.org> | 2014-10-02 00:51:49 +0200 |
---|---|---|
committer | Guillem Jover <guillem@debian.org> | 2014-10-06 00:48:13 +0200 |
commit | 1eb338d799a3887f82a5181bfc667ba6c6892364 (patch) | |
tree | 6024acf64320c4b60ea634e1eb4be06cee7acb95 /scripts | |
parent | 13ae3fa02e85ec76cafad83e033365f43e6debe7 (diff) | |
download | dpkg-1eb338d799a3887f82a5181bfc667ba6c6892364.tar.gz |
Dpkg::BuildProfiles: Add new parse_build_profile()
Use it everywhere instead of inline code.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Dpkg/BuildProfiles.pm | 14 | ||||
-rw-r--r-- | scripts/Dpkg/Deps.pm | 3 | ||||
-rw-r--r-- | scripts/t/Dpkg_BuildProfiles.t | 9 |
3 files changed, 22 insertions, 4 deletions
diff --git a/scripts/Dpkg/BuildProfiles.pm b/scripts/Dpkg/BuildProfiles.pm index 98c86d364..9585da0d0 100644 --- a/scripts/Dpkg/BuildProfiles.pm +++ b/scripts/Dpkg/BuildProfiles.pm @@ -19,7 +19,7 @@ use strict; use warnings; our $VERSION = '0.01'; -our @EXPORT_OK = qw(get_build_profiles set_build_profiles); +our @EXPORT_OK = qw(get_build_profiles set_build_profiles parse_build_profiles); use Exporter qw(import); @@ -75,6 +75,18 @@ sub set_build_profiles { Dpkg::BuildEnv::set('DEB_BUILD_PROFILES', join ' ', @profiles); } +=item my @profiles = parse_build_profiles($string) + +Parses a build profiles specification, into an array. + +=cut + +sub parse_build_profiles { + my $string = shift; + + return map { lc } split /\s+/, $string; +} + =back =cut diff --git a/scripts/Dpkg/Deps.pm b/scripts/Dpkg/Deps.pm index b0e5ca6f4..72acc92cc 100644 --- a/scripts/Dpkg/Deps.pm +++ b/scripts/Dpkg/Deps.pm @@ -541,6 +541,7 @@ use warnings; use Carp; use Dpkg::Arch qw(debarch_is); +use Dpkg::BuildProfiles qw(parse_build_profiles); use Dpkg::Version; use Dpkg::ErrorHandling; use Dpkg::Gettext; @@ -618,7 +619,7 @@ sub parse_string { $self->{arches} = [ split(/\s+/, $5) ]; } if (defined($6)) { - $self->{restrictions} = [ map { lc } split /\s+/, $6 ]; + $self->{restrictions} = [ parse_build_profiles($6) ]; } } diff --git a/scripts/t/Dpkg_BuildProfiles.t b/scripts/t/Dpkg_BuildProfiles.t index bf7396a09..82663dc6f 100644 --- a/scripts/t/Dpkg_BuildProfiles.t +++ b/scripts/t/Dpkg_BuildProfiles.t @@ -16,12 +16,17 @@ use strict; use warnings; -use Test::More tests => 1; +use Test::More tests => 2; BEGIN { - use_ok('Dpkg::BuildProfiles'); + use_ok('Dpkg::BuildProfiles', qw(parse_build_profiles)); } # TODO: Add actual test cases. +my @build_profiles = qw(nocheck nodoc stage1); + +is(parse_build_profiles('nocheck nodoc stage1'), @build_profiles, + 'parse build profiles'); + 1; |