Implement support to copy an apt preferences file into place. (Closes: #616420)
git-svn-id: http://emdebian.org/svn/current@8316 563faec7-e20c-0410-992a-a66f704d0ccd
This commit is contained in:
parent
0ad0c3d37b
commit
22d2b1b81f
2 changed files with 20 additions and 7 deletions
4
debian/changelog
vendored
4
debian/changelog
vendored
|
@ -4,8 +4,10 @@ multistrap (2.1.17) unstable; urgency=low
|
||||||
* Remove .control files inside the multistrap chroot.
|
* Remove .control files inside the multistrap chroot.
|
||||||
(Closes: #668941)
|
(Closes: #668941)
|
||||||
* Improve fakeroot environment variable tests. (Closes: #647240)
|
* Improve fakeroot environment variable tests. (Closes: #647240)
|
||||||
|
* Implement support to copy an apt preferences file into place.
|
||||||
|
(Closes: #616420)
|
||||||
|
|
||||||
-- Neil Williams <codehelp@debian.org> Tue, 17 Apr 2012 19:50:05 +0100
|
-- Neil Williams <codehelp@debian.org> Tue, 17 Apr 2012 20:06:32 +0100
|
||||||
|
|
||||||
multistrap (2.1.16) unstable; urgency=low
|
multistrap (2.1.16) unstable; urgency=low
|
||||||
|
|
||||||
|
|
23
multistrap
23
multistrap
|
@ -29,14 +29,14 @@ use vars qw/ $progname $ourversion $dstrap $extra @aptsources
|
||||||
@archives $deb $cachedir $config_str %packages $retval $str $retries
|
@archives $deb $cachedir $config_str %packages $retval $str $retries
|
||||||
$dir $include $arch $foreign $url $unpack $sourcedir $msg $etcdir
|
$dir $include $arch $foreign $url $unpack $sourcedir $msg $etcdir
|
||||||
@e $sourcesname $libdir $dpkgdir @debootstrap %suites %components $chk
|
@e $sourcesname $libdir $dpkgdir @debootstrap %suites %components $chk
|
||||||
$repo @dirs @touch %sources $section %keys $host $key $value
|
$repo @dirs @touch %sources $section %keys $host $key $value $preffile
|
||||||
$type $file $config $tidy $noauth $keyring %keyrings $deflist $cfgdir
|
$type $file $config $tidy $noauth $keyring %keyrings $deflist $cfgdir
|
||||||
@extrapkgs @includes %source $setupsh $configsh $omitrequired $dryrun
|
@extrapkgs @includes %source $setupsh $configsh $omitrequired $dryrun
|
||||||
$omitpreinst @reinstall $tgzname %uniq %required $check @check %uniq
|
$omitpreinst @reinstall $tgzname %uniq %required $check @check %uniq
|
||||||
$explicit_suite $allow_recommends %omitdebsrc @dsclist @sectoutput
|
$explicit_suite $allow_recommends %omitdebsrc @dsclist @sectoutput
|
||||||
%flatfile %important $addimportant @debconf $hookdir %hooks
|
%flatfile %important $addimportant @debconf $hookdir %hooks
|
||||||
$warn_count $use_shortcut @foreignarches $olddpkg
|
$warn_count $use_shortcut @foreignarches $olddpkg
|
||||||
%foreignpkgs /;
|
%foreignpkgs $ignorenative /;
|
||||||
|
|
||||||
setlocale(LC_MESSAGES, "");
|
setlocale(LC_MESSAGES, "");
|
||||||
textdomain("multistrap");
|
textdomain("multistrap");
|
||||||
|
@ -178,7 +178,15 @@ system_fatal ("mkdir -p ${dir}etc/apt/preferences.d/")
|
||||||
system_fatal ("mkdir -p ${dir}usr/share/info/")
|
system_fatal ("mkdir -p ${dir}usr/share/info/")
|
||||||
if (not -d "${dir}usr/share/info/");
|
if (not -d "${dir}usr/share/info/");
|
||||||
system_fatal ("touch ${dir}usr/share/info/dir");
|
system_fatal ("touch ${dir}usr/share/info/dir");
|
||||||
|
if (defined $preffile) {
|
||||||
|
open (PREF, "$preffile") or die ("$progname: $preffile $!");
|
||||||
|
my @prefs=<PREF>;
|
||||||
|
close (PREF);
|
||||||
|
my $name = basename($preffile);
|
||||||
|
open (MPREF, ">${dir}etc/apt/preferences.d/$name") or die ("$progname: $name $!");
|
||||||
|
print MPREF @prefs;
|
||||||
|
close (MPREF);
|
||||||
|
}
|
||||||
@dirs = qw/ alternatives info parts updates/;
|
@dirs = qw/ alternatives info parts updates/;
|
||||||
@touch = qw/ diversions statoverride status lock/;
|
@touch = qw/ diversions statoverride status lock/;
|
||||||
foreach my $dpkgd (@dirs) {
|
foreach my $dpkgd (@dirs) {
|
||||||
|
@ -267,7 +275,7 @@ if ((defined $k) and (not defined $noauth)) {
|
||||||
# and apt refuses to allow fakeroot to do this.
|
# and apt refuses to allow fakeroot to do this.
|
||||||
$str = "";
|
$str = "";
|
||||||
if (not exists $ENV{FAKEROOTKEY}) {
|
if (not exists $ENV{FAKEROOTKEY}) {
|
||||||
if ((exists $ENV{USER}) and ($ENV{USER} != root)) {
|
if ((exists $ENV{USER}) and ($ENV{USER} != "root")) {
|
||||||
$str = "sudo" if (-f "/usr/bin/sudo");
|
$str = "sudo" if (-f "/usr/bin/sudo");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -888,13 +896,13 @@ sub native {
|
||||||
"DEBCONF_NONINTERACTIVE_SEEN=true ".
|
"DEBCONF_NONINTERACTIVE_SEEN=true ".
|
||||||
"LC_ALL=C LANGUAGE=C LANG=C";
|
"LC_ALL=C LANGUAGE=C LANG=C";
|
||||||
printf (_g("I: dpkg configuration settings:\n\t%s\n"), $env);
|
printf (_g("I: dpkg configuration settings:\n\t%s\n"), $env);
|
||||||
if (exists $ENV{FAKEROOTKEY} {
|
if (exists $ENV{FAKEROOTKEY}) {
|
||||||
warn (_g("W: Cannot use 'chroot' when fakeroot is in use. Skipping package configuration.\n"));
|
warn (_g("W: Cannot use 'chroot' when fakeroot is in use. Skipping package configuration.\n"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
print _g("I: Native mode - configuring unpacked packages . . .\n");
|
print _g("I: Native mode - configuring unpacked packages . . .\n");
|
||||||
my $str = "";
|
my $str = "";
|
||||||
if ($e =~ /\nUSER=root\n/) {
|
if ($ENV{USER} eq 'root') {
|
||||||
$str = "sudo" if (-f "/usr/bin/sudo");
|
$str = "sudo" if (-f "/usr/bin/sudo");
|
||||||
}
|
}
|
||||||
# check that we have a workable shell inside the chroot
|
# check that we have a workable shell inside the chroot
|
||||||
|
@ -1110,6 +1118,9 @@ sub cascade {
|
||||||
if (defined $keys{$section}{'omitpreinst'} and (not defined $omitpreinst));
|
if (defined $keys{$section}{'omitpreinst'} and (not defined $omitpreinst));
|
||||||
$tidy++ if ((defined $keys{$section}{'cleanup'}) and ($keys{$section}{'cleanup'} eq "true"));
|
$tidy++ if ((defined $keys{$section}{'cleanup'}) and ($keys{$section}{'cleanup'} eq "true"));
|
||||||
$noauth++ if ((defined $keys{$section}{'noauth'}) and ($keys{$section}{'noauth'} eq "true"));
|
$noauth++ if ((defined $keys{$section}{'noauth'}) and ($keys{$section}{'noauth'} eq "true"));
|
||||||
|
$preffile = lc($keys{$section}{'aptpreferences'})
|
||||||
|
if (defined $keys{$section}{'aptpreferences'} and (not defined $preffile));
|
||||||
|
undef $preffile if ((defined $preffile) and (not -f $preffile));
|
||||||
$sourcedir = $keys{$section}{'retainsources'}
|
$sourcedir = $keys{$section}{'retainsources'}
|
||||||
if ((defined $keys{$section}{'retainsources'}) and (-d $keys{$section}{'retainsources'}));
|
if ((defined $keys{$section}{'retainsources'}) and (-d $keys{$section}{'retainsources'}));
|
||||||
$explicit_suite++ if ((defined $keys{$section}{'explicitsuite'}) and
|
$explicit_suite++ if ((defined $keys{$section}{'explicitsuite'}) and
|
||||||
|
|
Loading…
Reference in a new issue