summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2014-10-02 00:51:49 +0200
committerGuillem Jover <guillem@debian.org>2014-10-06 00:48:13 +0200
commit1eb338d799a3887f82a5181bfc667ba6c6892364 (patch)
tree6024acf64320c4b60ea634e1eb4be06cee7acb95 /scripts
parent13ae3fa02e85ec76cafad83e033365f43e6debe7 (diff)
downloaddpkg-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.pm14
-rw-r--r--scripts/Dpkg/Deps.pm3
-rw-r--r--scripts/t/Dpkg_BuildProfiles.t9
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;