use any and none from List::Util

This commit is contained in:
Johannes 'josch' Schauer 2018-09-23 19:36:07 +02:00
parent ee60b2c7e3
commit 87b9971539
Signed by: josch
GPG key ID: F2CBA5C78FBD83E1

View file

@ -25,6 +25,7 @@ use Cwd qw(abs_path);
use Dpkg::Index; use Dpkg::Index;
require "syscall.ph"; require "syscall.ph";
use Fcntl qw(S_IFCHR S_IFBLK); use Fcntl qw(S_IFCHR S_IFBLK);
use List::Util qw(any none);
# from sched.h # from sched.h
use constant { use constant {
@ -512,7 +513,7 @@ sub setup {
} }
} else { } else {
print $fh "deb$archopt http://deb.debian.org/debian $options->{suite} $options->{components}\n"; print $fh "deb$archopt http://deb.debian.org/debian $options->{suite} $options->{components}\n";
if (grep { $_ eq $options->{suite} } ('stable', 'oldstable', 'stretch') ) { if (any { $_ eq $options->{suite} } ('stable', 'oldstable', 'stretch') ) {
print $fh "deb$archopt http://deb.debian.org/debian $options->{suite}-updates $options->{components}\n"; print $fh "deb$archopt http://deb.debian.org/debian $options->{suite}-updates $options->{components}\n";
print $fh "deb$archopt http://security.debian.org/debian-security $options->{suite}/updates $options->{components}\n"; print $fh "deb$archopt http://security.debian.org/debian-security $options->{suite}/updates $options->{components}\n";
} }
@ -609,19 +610,21 @@ sub setup {
# for this variant we are only interested in the # for this variant we are only interested in the
# essential packages # essential packages
next; next;
} elsif ($options->{variant} eq 'standard' or $options->{variant} eq 'important' or $options->{variant} eq 'required' or $options->{variant} eq 'buildd' or $options->{variant} eq 'minbase') { } elsif (any { $_ eq $options->{variant} } ('standard', 'important', 'required', 'buildd', 'minbase')) {
if ($prio eq 'optional' or $prio eq 'extra') { if ($prio eq 'optional' or $prio eq 'extra') {
# always ignore packages of priority optional and extra
next; next;
} elsif ($prio eq 'standard') { } elsif ($prio eq 'standard') {
if ($options->{variant} eq 'important' or $options->{variant} eq 'required' or $options->{variant} eq 'buildd' or $options->{variant} eq 'minbase') { if (any { $_ eq $options->{variant} } ('important', 'required', 'buildd', 'minbase')) {
next; next;
} }
} elsif ($prio eq 'important') { } elsif ($prio eq 'important') {
if ($options->{variant} eq 'required' or $options->{variant} eq 'buildd' or $options->{variant} eq 'minbase') { if (any { $_ eq $options->{variant} } ('required', 'buildd', 'minbase')) {
next; next;
} }
} elsif ($prio eq 'required' or $options->{variant} eq 'buildd' or $options->{variant} eq 'minbase') { } elsif ($prio eq 'required') {
# required packages are part of all sets # required packages are part of all sets except
# essential and apt
} else { } else {
die "unknown priority: $prio"; die "unknown priority: $prio";
} }
@ -1026,11 +1029,11 @@ sub main() {
my @valid_variants = ('essential', 'apt', 'required', 'minbase', 'buildd', my @valid_variants = ('essential', 'apt', 'required', 'minbase', 'buildd',
'important', 'debootstrap', '-', 'standard'); 'important', 'debootstrap', '-', 'standard');
if (!grep { $_ eq $options->{variant}} @valid_variants) { if (none { $_ eq $options->{variant}} @valid_variants) {
die "invalid variant. Choose from " . (join ', ', @valid_variants); die "invalid variant. Choose from " . (join ', ', @valid_variants);
} }
# debootstrap and - are an alias for important # debootstrap and - are an alias for important
if (grep { $_ eq $options->{variant} } ('-', 'debootstrap')) { if (any { $_ eq $options->{variant} } ('-', 'debootstrap')) {
$options->{variant} = 'important'; $options->{variant} = 'important';
} }
@ -1043,7 +1046,7 @@ sub main() {
$options->{mode} = 'root'; $options->{mode} = 'root';
} }
my @valid_modes = ('auto', 'root', 'unshare', 'fakechroot', 'proot'); my @valid_modes = ('auto', 'root', 'unshare', 'fakechroot', 'proot');
if (!grep { $_ eq $options->{mode} } @valid_modes) { if (none { $_ eq $options->{mode} } @valid_modes) {
die "invalid mode. Choose from " . (join ', ', @valid_modes); die "invalid mode. Choose from " . (join ', ', @valid_modes);
} }
@ -1208,7 +1211,7 @@ sub main() {
# in unshare and root mode, other users than the current user need to # in unshare and root mode, other users than the current user need to
# access the rootfs, most prominently, the _apt user. Thus, make the # access the rootfs, most prominently, the _apt user. Thus, make the
# temporary directory world readable. # temporary directory world readable.
if (grep { $_ eq $options->{mode} } ('unshare', 'root')) { if (any { $_ eq $options->{mode} } ('unshare', 'root')) {
chmod 0755, $options->{root} or die "cannot chmod root: $!"; chmod 0755, $options->{root} or die "cannot chmod root: $!";
} }
} else { } else {