pacman: allow overriding config file and siglevel

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2021-12-02 14:43:57 +01:00
parent 034835001d
commit fbec3675cc
1 changed files with 14 additions and 9 deletions

View File

@ -237,16 +237,19 @@ sub initialize {
}
sub write_pacman_conf {
my ($self) = @_;
my ($self, $config_fn, $siglevel) = @_;
my $config = $self->{config};
$config->{source} //= [];
$config->{mirror} //= [];
$siglevel ||= "Never";
$config_fn ||= $self->{'pacman.conf'};
my $servers = "Server = ".join("\nServer = ", @{$config->{source}}, @{$config->{mirror}}) ."\n";
my $fh = IO::File->new($self->{'pacman.conf'}, O_WRONLY | O_CREAT | O_EXCL)
my $fh = IO::File->new($config_fn, O_WRONLY | O_CREAT | O_EXCL)
or die "unable to write pacman config file $self->{'pacman.conf'} - $!";
my $arch = $config->{architecture};
@ -257,7 +260,7 @@ sub write_pacman_conf {
HoldPkg = pacman glibc
Architecture = $arch
CheckSpace
SigLevel = Never
SigLevel = $siglevel
[core]
$servers
@ -447,13 +450,15 @@ sub stop_container {
}
sub pacman_command {
my ($self) = @_;
my ($self, $config_fn) = @_;
my $root = $self->{rootfs};
return ('/usr/bin/pacman',
return (
'/usr/bin/pacman',
'--root', $root,
'--config', $self->{'pacman.conf'},
'--config', $config_fn || $self->{'pacman.conf'},
'--cachedir', $self->{pkgcache},
'--noconfirm');
'--noconfirm',
);
}
sub cache_packages {