forked from josch/mmdebstrap
enforce apt >= 2.3.7 and remove dead code (closes: #14)
This commit is contained in:
parent
28cb757742
commit
c2d988b475
1 changed files with 18 additions and 48 deletions
66
mmdebstrap
66
mmdebstrap
|
@ -1572,18 +1572,6 @@ sub run_setup() {
|
||||||
$dpkgversion = version->new($1);
|
$dpkgversion = version->new($1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
my $aptversion = version->new(0);
|
|
||||||
{
|
|
||||||
my $pid = open my $fh, '-|', 'apt-get',
|
|
||||||
'--version' // error "failed to fork(): $!";
|
|
||||||
chomp(my $firstline = <$fh>);
|
|
||||||
close $fh;
|
|
||||||
if ( $? == 0
|
|
||||||
and $firstline =~ /^apt ([0-9]+\.[0-9]+\.[0-9]+) \([a-z0-9-]+\)$/)
|
|
||||||
{
|
|
||||||
$aptversion = version->new($1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
my @directories = (
|
my @directories = (
|
||||||
|
@ -1688,24 +1676,6 @@ sub run_setup() {
|
||||||
# options.
|
# options.
|
||||||
print $conf "pkgCacheGen::ForceEssential \",\";\n";
|
print $conf "pkgCacheGen::ForceEssential \",\";\n";
|
||||||
}
|
}
|
||||||
if ($options->{dryrun}
|
|
||||||
and ($aptversion < "2.1.16")) {
|
|
||||||
# Without this option, apt will fail with:
|
|
||||||
# E: Could not configure 'libc6:amd64'.
|
|
||||||
# E: Could not perform immediate configuration on 'libgcc1:amd64'.
|
|
||||||
#
|
|
||||||
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=953260
|
|
||||||
#
|
|
||||||
# For some while there were other immediate configuration problems
|
|
||||||
# which were fixed by changing the dependencies in src:glibc:
|
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972552
|
|
||||||
#
|
|
||||||
# Immediate configuration only was fixed in apt later which then also
|
|
||||||
# fixed these bugs:
|
|
||||||
# https://bugs.debian.org/973325
|
|
||||||
# https://bugs.debian.org/973305
|
|
||||||
print $conf "APT::Immediate-Configure false;\n";
|
|
||||||
}
|
|
||||||
close $conf;
|
close $conf;
|
||||||
|
|
||||||
# We put certain configuration items in their own configuration file
|
# We put certain configuration items in their own configuration file
|
||||||
|
@ -2041,27 +2011,10 @@ sub run_setup() {
|
||||||
sub run_update() {
|
sub run_update() {
|
||||||
my $options = shift;
|
my $options = shift;
|
||||||
|
|
||||||
my $aptversion = version->new(0);
|
|
||||||
{
|
|
||||||
my $pid = open my $fh, '-|', 'apt-get',
|
|
||||||
'--version' // error "failed to fork(): $!";
|
|
||||||
chomp(my $firstline = <$fh>);
|
|
||||||
close $fh;
|
|
||||||
if ( $? == 0
|
|
||||||
and $firstline =~ /^apt ([0-9]+\.[0-9]+\.[0-9]+) \([a-z0-9-]+\)$/)
|
|
||||||
{
|
|
||||||
$aptversion = version->new($1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
my $aptopts = {
|
my $aptopts = {
|
||||||
ARGV => ['apt-get', 'update'],
|
ARGV => ['apt-get', 'update', '--error-on=any'],
|
||||||
CHDIR => $options->{root},
|
CHDIR => $options->{root},
|
||||||
};
|
};
|
||||||
if ($aptversion < "2.1.16") {
|
|
||||||
$aptopts->{FIND_APT_WARNINGS} = 1;
|
|
||||||
} else {
|
|
||||||
push @{ $aptopts->{ARGV} }, '--error-on=any';
|
|
||||||
}
|
|
||||||
|
|
||||||
info "running apt-get update...";
|
info "running apt-get update...";
|
||||||
run_apt_progress($aptopts);
|
run_apt_progress($aptopts);
|
||||||
|
@ -4580,6 +4533,23 @@ sub main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
my $aptversion = version->new(0);
|
||||||
|
my $pid = open my $fh, '-|', 'apt-get',
|
||||||
|
'--version' // error "failed to fork(): $!";
|
||||||
|
chomp(
|
||||||
|
my $content = do { local $/; <$fh> }
|
||||||
|
);
|
||||||
|
close $fh;
|
||||||
|
if ( $? == 0
|
||||||
|
and $content =~ /^apt ([0-9]+\.[0-9]+\.[0-9]+) \([a-z0-9-]+\)$/m) {
|
||||||
|
$aptversion = version->new($1);
|
||||||
|
}
|
||||||
|
if ($aptversion < "2.3.7") {
|
||||||
|
error "need apt >= 2.3.7 but have $aptversion";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
my $check_fakechroot_running = sub {
|
my $check_fakechroot_running = sub {
|
||||||
# test if we are inside fakechroot already
|
# test if we are inside fakechroot already
|
||||||
# We fork a child process because setting FAKECHROOT_DETECT seems to
|
# We fork a child process because setting FAKECHROOT_DETECT seems to
|
||||||
|
|
Loading…
Reference in a new issue