forked from josch/mmdebstrap
use any and none from List::Util
This commit is contained in:
parent
ee60b2c7e3
commit
87b9971539
1 changed files with 13 additions and 10 deletions
23
mmdebstrap
23
mmdebstrap
|
@ -25,6 +25,7 @@ use Cwd qw(abs_path);
|
|||
use Dpkg::Index;
|
||||
require "syscall.ph";
|
||||
use Fcntl qw(S_IFCHR S_IFBLK);
|
||||
use List::Util qw(any none);
|
||||
|
||||
# from sched.h
|
||||
use constant {
|
||||
|
@ -512,7 +513,7 @@ sub setup {
|
|||
}
|
||||
} else {
|
||||
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://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
|
||||
# essential packages
|
||||
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') {
|
||||
# always ignore packages of priority optional and extra
|
||||
next;
|
||||
} 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;
|
||||
}
|
||||
} 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;
|
||||
}
|
||||
} elsif ($prio eq 'required' or $options->{variant} eq 'buildd' or $options->{variant} eq 'minbase') {
|
||||
# required packages are part of all sets
|
||||
} elsif ($prio eq 'required') {
|
||||
# required packages are part of all sets except
|
||||
# essential and apt
|
||||
} else {
|
||||
die "unknown priority: $prio";
|
||||
}
|
||||
|
@ -1026,11 +1029,11 @@ sub main() {
|
|||
|
||||
my @valid_variants = ('essential', 'apt', 'required', 'minbase', 'buildd',
|
||||
'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);
|
||||
}
|
||||
# debootstrap and - are an alias for important
|
||||
if (grep { $_ eq $options->{variant} } ('-', 'debootstrap')) {
|
||||
if (any { $_ eq $options->{variant} } ('-', 'debootstrap')) {
|
||||
$options->{variant} = 'important';
|
||||
}
|
||||
|
||||
|
@ -1043,7 +1046,7 @@ sub main() {
|
|||
$options->{mode} = 'root';
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -1208,7 +1211,7 @@ sub main() {
|
|||
# in unshare and root mode, other users than the current user need to
|
||||
# access the rootfs, most prominently, the _apt user. Thus, make the
|
||||
# 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: $!";
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue