Support not configuring packages for native arch. (Closes: #651885)

git-svn-id: http://emdebian.org/svn/current@8317 563faec7-e20c-0410-992a-a66f704d0ccd
This commit is contained in:
codehelp 2012-04-17 20:12:21 +00:00
parent 22d2b1b81f
commit 2944d7ad9d
3 changed files with 69 additions and 3 deletions

3
debian/changelog vendored
View file

@ -6,8 +6,9 @@ multistrap (2.1.17) unstable; urgency=low
* Improve fakeroot environment variable tests. (Closes: #647240) * Improve fakeroot environment variable tests. (Closes: #647240)
* Implement support to copy an apt preferences file into place. * Implement support to copy an apt preferences file into place.
(Closes: #616420) (Closes: #616420)
* Support not configuring packages for native arch. (Closes: #651885)
-- Neil Williams <codehelp@debian.org> Tue, 17 Apr 2012 20:06:32 +0100 -- Neil Williams <codehelp@debian.org> Tue, 17 Apr 2012 21:05:48 +0100
multistrap (2.1.16) unstable; urgency=low multistrap (2.1.16) unstable; urgency=low

63
examples/full.conf Normal file
View file

@ -0,0 +1,63 @@
# Example multistrap configuration file describing all options
[General]
# can be overridden on the command line
arch=
# can be overriden on the command line
directory=
# same as --tidy-up option if set to true
cleanup=true
# same as --no-auth option if set to true
# keyring packages listed in each debootstrap will
# still be installed.
noauth=true
# whether to add the /suite to be explicit about where apt
# needs to look for packages. Default is false.
explicitsuite=false
# copied into the chroot to be executed later
configscript=config.sh
# executed within the chroot (so do not execute foreign binaries in this script)
setupscript=setup.sh
# omit packages with Priority: required (care needed)
omitrequired=false
# add packages of Priority: important
addimportant=false
# avoid running preinst scripts in native mode
omitpreinst=false
# apt preferences file
aptpreferences=pref.conf
# download the sources for the packages downloaded
retainsources=false
# get packages from explicit suites as per the sections (care required)
explicitsuite=false
# allow Recommended packages to be seen as strict dependencies
allowrecommends=false
# debconf preseed file
debconfseed=debconf.txt
# hook directory, executable scripts called:
# download*, native* or completion*
hookdir=/path/hooks/
# multiarch architectures to enable (space separated list)
multiarch=armel i386
# include variables from a more generic config file
include=
# name of a tarball to create containing the multistrap chroot
tarballname=rootfs.tgz
# extract all downloaded archives (default is true)
unpack=true
# the order of sections is not important.
# the debootstrap option determines which repository
# is used to calculate the list of Priority: required packages.
debootstrap=Debian
aptsources=Debian
[Debian]
packages=apt
source=http://ftp.uk.debian.org/debian
keyring=debian-archive-keyring
suite=wheezy
omitdebsrc=false
additional=
reinstall=
components=main

View file

@ -35,7 +35,7 @@ use vars qw/ $progname $ourversion $dstrap $extra @aptsources
$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 $ignorenative
%foreignpkgs $ignorenative /; %foreignpkgs $ignorenative /;
setlocale(LC_MESSAGES, ""); setlocale(LC_MESSAGES, "");
@ -146,7 +146,7 @@ if ((not defined $arch) or ($arch eq "")) {
} else { } else {
printf (_g("Using foreign architecture: %s\n"), $arch); printf (_g("Using foreign architecture: %s\n"), $arch);
} }
$foreign++ if ($host ne $arch); $foreign++ if (($host ne $arch) and (not defined $ignorenative));
unless (keys %sources) { unless (keys %sources) {
my $msg = sprintf(_g("No sources defined for a foreign multistrap. my $msg = sprintf(_g("No sources defined for a foreign multistrap.
Using your existing apt sources. To use different sources, Using your existing apt sources. To use different sources,
@ -1118,6 +1118,8 @@ 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"));
$ignorenative++ if ((defined $keys{$section}{'ignorenativearch'}) and
(lc($keys{$section}{'ignorenativearch'}) eq 'true'));
$preffile = lc($keys{$section}{'aptpreferences'}) $preffile = lc($keys{$section}{'aptpreferences'})
if (defined $keys{$section}{'aptpreferences'} and (not defined $preffile)); if (defined $keys{$section}{'aptpreferences'} and (not defined $preffile));
undef $preffile if ((defined $preffile) and (not -f $preffile)); undef $preffile if ((defined $preffile) and (not -f $preffile));