Disable SecureApt if fakeroot is detected.

git-svn-id: http://emdebian.org/svn/current@7860 563faec7-e20c-0410-992a-a66f704d0ccd
This commit is contained in:
codehelp 2011-02-28 09:17:49 +00:00
parent 51c7904c00
commit 28cdf889b7
2 changed files with 9 additions and 2 deletions

3
debian/changelog vendored
View file

@ -5,8 +5,9 @@ multistrap (2.1.13) unstable; urgency=low
manpage/documentation" (Closes: #614381)
* Fix device-table.pl to use correct minor device number in
iterative mode (Closes: #615819)
* Disable SecureApt if fakeroot is detected.
-- Neil Williams <codehelp@debian.org> Mon, 28 Feb 2011 08:31:39 +0000
-- Neil Williams <codehelp@debian.org> Mon, 28 Feb 2011 09:17:33 +0000
multistrap (2.1.12) unstable; urgency=low

View file

@ -252,15 +252,21 @@ foreach my $pkg (values %keyrings) {
$k .= "$pkg ";
}
if ((defined $k) and (not defined $noauth)) {
printf (_g("I: Installing %s\n"), $k);
# the keyring package must be available to the external apt
# and apt refuses to allow fakeroot to do this.
my $str = "";
my $e=`LC_ALL=C printenv`;
if ($e !~ /\nFAKEROOTKEY=[0-9]+\n/) {
if (($e =~ /\nUSER=root\n/)) {
$str = "sudo" if (-f "/usr/bin/sudo");
}
} else {
print "Turning off SecureApt due to use of fakeroot\n";
$noauth++;
}
}
if ((defined $k) and (not defined $noauth)) {
printf (_g("I: Installing %s\n"), $k);
system ("$str apt-get -y -d --reinstall install $k");
foreach my $keyring_pkg (values %keyrings) {
next if (not defined $keyring_pkg);