aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Whitcroft <apw@canonical.com>2011-12-15 11:28:51 +0000
committerLinaro CI <john.rigby@linaro.org>2012-02-07 22:53:53 +0000
commit88a2334edfba44071fbd8c446750257ab8cbb9f4 (patch)
treeddf321c8b1699ca834a17ca45e0ba18f9035b1ba
parenta16bb6ab35dcb0d5043577d89e20533e1893633d (diff)
UBUNTU: enforcer -- allow arch and flavour predicates to take lists
Expand the arch and flavour predicates to take multiple options matching when any one is correct. Signed-off-by: Andy Whitcroft <apw@canonical.com>
-rwxr-xr-xdebian/scripts/config-check28
1 files changed, 20 insertions, 8 deletions
diff --git a/debian/scripts/config-check b/debian/scripts/config-check
index 47166f49681..7946e4a9c95 100755
--- a/debian/scripts/config-check
+++ b/debian/scripts/config-check
@@ -63,15 +63,22 @@ sub pred_first {
sub pred_do {
my ($pred) = @_;
my (@a) = split(' ', $pred);
+ my $possible;
if ($a[0] eq 'arch') {
- die "$P: $pred: malformed -- $pred <arch>\n" if ($#a != 1);
- #print " *** ARCH<$arch ?? $a[1]>\n";
- return ($arch eq $a[1])
+ die "$P: $pred: malformed -- $pred <arch>\n" if ($#a < 1);
+ for $possible (@a[1..$#a]) {
+ #print " *** ARCH<$flavour ?? $possible>\n";
+ return 1 if ($arch eq $possible);
+ }
+ return 0;
} elsif ($a[0] eq 'flavour') {
- die "$P: $pred: malformed -- $pred <flavour>\n" if ($#a != 1);
- #print " *** FLAVOUR<$flavour ?? $a[1]>\n";
- return ($flavour eq $a[1])
+ die "$P: $pred: malformed -- $pred <flavour>\n" if ($#a < 1);
+ for $possible (@a[1..$#a]) {
+ #print " *** FLAVOUR<$flavour ?? $a[1]>\n";
+ return 1 if ($flavour eq $possible);
+ }
+ return 0;
} elsif ($a[0] eq 'value') {
die "$P: $pred: malformed -- $pred <name> <val>\n" if ($#a != 2);
#print " *** CHECK<$a[1] $a[2] ?? " . $values{$a[1]} . ">\n";
@@ -199,13 +206,18 @@ if ($test >= 0) {
pred_test('nosuchcommand', undef, $eunkn);
pred_test('arch', undef, $epred);
- pred_test('arch MYARCH MYARCH', undef, $epred);
pred_test('arch MYARCH', 1, undef);
+ pred_test('arch MYARCH NOTMYARCH', 1, undef);
+ pred_test('arch NOTMYARCH MYARCH', 1, undef);
+ pred_test('arch NOTMYARCH NOTMYARCH MYARCH', 1, undef);
+ pred_test('arch NOTMYARCH MYARCH NOTMYARCH', 1, undef);
pred_test('arch NOTMYARCH', 0, undef);
pred_test('flavour', undef, $epred);
- pred_test('flavour MYFLAVOUR myflavour', undef, $epred);
pred_test('flavour MYFLAVOUR', 1, undef);
+ pred_test('flavour NOTMYFLAVOUR MYFLAVOUR', 1, undef);
+ pred_test('flavour NOTMYFLAVOUR NOTMYFLAVOUR MYFLAVOUR', 1, undef);
+ pred_test('flavour NOTMYFLAVOUR MYFLAVOUR NOTMYFLAVOUR', 1, undef);
pred_test('flavour NOTMYFLAVOUR', 0, undef);
pred_test('value', undef, $epred);