diff options
author | Andy Whitcroft <apw@canonical.com> | 2011-12-15 11:28:51 +0000 |
---|---|---|
committer | Linaro CI <john.rigby@linaro.org> | 2012-02-07 22:53:53 +0000 |
commit | 88a2334edfba44071fbd8c446750257ab8cbb9f4 (patch) | |
tree | ddf321c8b1699ca834a17ca45e0ba18f9035b1ba | |
parent | a16bb6ab35dcb0d5043577d89e20533e1893633d (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-x | debian/scripts/config-check | 28 |
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); |