* [l10n] French manpages translation (Closes: #656418) * Remove .control files inside the multistrap chroot. (Closes: #668941) * Improve fakeroot environment variable tests. (Closes: #647240)

git-svn-id: http://emdebian.org/svn/current@8315 563faec7-e20c-0410-992a-a66f704d0ccd
This commit is contained in:
codehelp 2012-04-17 18:50:43 +00:00
parent a099d51f81
commit 0ad0c3d37b
4 changed files with 329 additions and 244 deletions

9
debian/changelog vendored
View file

@ -1,3 +1,12 @@
multistrap (2.1.17) unstable; urgency=low
* [l10n] French manpages translation (Closes: #656418)
* Remove .control files inside the multistrap chroot.
(Closes: #668941)
* Improve fakeroot environment variable tests. (Closes: #647240)
-- Neil Williams <codehelp@debian.org> Tue, 17 Apr 2012 19:50:05 +0100
multistrap (2.1.16) unstable; urgency=low multistrap (2.1.16) unstable; urgency=low
* Allow empty aptsources lines. (Closes: #633525) * Allow empty aptsources lines. (Closes: #633525)

9
debian/control vendored
View file

@ -5,7 +5,7 @@ Maintainer: Neil Williams <codehelp@debian.org>
Uploaders: Wookey <wookey@debian.org> Uploaders: Wookey <wookey@debian.org>
Build-Depends: cdbs, debhelper (>= 7), po4a (>= 0.37.1) Build-Depends: cdbs, debhelper (>= 7), po4a (>= 0.37.1)
Build-Depends-Indep: intltool Build-Depends-Indep: intltool
Standards-Version: 3.9.2 Standards-Version: 3.9.3
Homepage: http://www.emdebian.org/multistrap Homepage: http://www.emdebian.org/multistrap
Vcs-Browser: http://www.emdebian.org/trac/browser/current/ Vcs-Browser: http://www.emdebian.org/trac/browser/current/
Vcs-Svn: http://www.emdebian.org/svn/current/ Vcs-Svn: http://www.emdebian.org/svn/current/
@ -13,13 +13,10 @@ Vcs-Svn: http://www.emdebian.org/svn/current/
Package: multistrap Package: multistrap
Section: admin Section: admin
Architecture: all Architecture: all
Depends: ${perl:Depends}, ${misc:Depends}, apt, Depends: ${perl:Depends}, ${misc:Depends}, apt, libconfig-auto-perl,
libconfig-auto-perl, libparse-debian-packages-perl liblocale-gettext-perl, libparse-debian-packages-perl
Recommends: emdebian-archive-keyring Recommends: emdebian-archive-keyring
Suggests: fakeroot Suggests: fakeroot
Replaces: emdebian-rootfs (<= 2.0.9)
Conflicts: emdebian-rootfs (<= 2.0.9)
Provides: emdebian-rootfs
Description: multiple repository bootstrap based on apt Description: multiple repository bootstrap based on apt
A debootstrap replacement with multiple repository support, A debootstrap replacement with multiple repository support,
using apt to handle all dependency issues and conflicts. using apt to handle all dependency issues and conflicts.

File diff suppressed because it is too large Load diff

View file

@ -266,9 +266,8 @@ if ((defined $k) and (not defined $noauth)) {
# the keyring package must be available to the external apt # the keyring package must be available to the external apt
# and apt refuses to allow fakeroot to do this. # and apt refuses to allow fakeroot to do this.
$str = ""; $str = "";
my $e=`LC_ALL=C printenv`; if (not exists $ENV{FAKEROOTKEY}) {
if ($e !~ /\nFAKEROOTKEY=[0-9]+\n/) { if ((exists $ENV{USER}) and ($ENV{USER} != root)) {
if (($e =~ /\nUSER=root\n/)) {
$str = "sudo" if (-f "/usr/bin/sudo"); $str = "sudo" if (-f "/usr/bin/sudo");
} }
} else { } else {
@ -302,7 +301,7 @@ if ((defined $k) and (not defined $noauth)) {
"--homedir=${dir}/etc/apt/trusted.gpg.d/ ". "--homedir=${dir}/etc/apt/trusted.gpg.d/ ".
"--keyring=multistrap.gpg ". "--keyring=multistrap.gpg ".
" --import ${xdir}/usr/share/keyrings/${gpg} 2>/dev/null"); " --import ${xdir}/usr/share/keyrings/${gpg} 2>/dev/null");
$retval /= 256; $retval >>= 8;
die (_g("Secure Apt handling failed - try without authentication.")) die (_g("Secure Apt handling failed - try without authentication."))
if ($retval != 0); if ($retval != 0);
} }
@ -333,7 +332,8 @@ $config_str .= " -o Dir::State::Status=${dir}${dpkgdir}status";
$config_str .= " -o Dir::Cache=${dir}${cachedir}"; $config_str .= " -o Dir::Cache=${dir}${cachedir}";
printf (_g("Getting package lists: apt-get %s update\n"), $config_str); printf (_g("Getting package lists: apt-get %s update\n"), $config_str);
$retval = system ("apt-get $config_str update"); $retval = system ("apt-get $config_str update");
die (sprintf (_g("apt update failed. Exit value: %d\n"), ($retval/256))) $retval >>= 8;
die (sprintf (_g("apt update failed. Exit value: %d\n"), $retval))
if ($retval != 0); if ($retval != 0);
my @s = (); my @s = ();
$str = ""; $str = "";
@ -379,15 +379,17 @@ $str = join (' ', sort keys %uniq);
print "apt-get -y $config_str install $str\n"; print "apt-get -y $config_str install $str\n";
$retval = 0; $retval = 0;
$retval = system ("apt-get -y $config_str install $str"); $retval = system ("apt-get -y $config_str install $str");
die (sprintf (_g("apt download failed. Exit value: %d\n"),($retval/256))) $retval >>= 8;
die (sprintf (_g("apt download failed. Exit value: %d\n"),$retval))
if ($retval != 0); if ($retval != 0);
&force_unpack if ($unpack eq "true"); &force_unpack if ($unpack eq "true");
system ("touch ${dir}${libdir}lists/lock"); system ("touch ${dir}${libdir}lists/lock");
if ((defined $setupsh) and (-x $setupsh)) { if ((defined $setupsh) and (-x $setupsh)) {
$retval = 0; $retval = 0;
$retval = system ("$setupsh $dir $arch"); $retval = system ("$setupsh $dir $arch");
$retval >>= 8;
if ($retval != 0) { if ($retval != 0) {
warn sprintf(_g("setupscript '%s' returned %d.\n"), $setupsh, $retval/256); warn sprintf(_g("setupscript '%s' returned %d.\n"), $setupsh, $retval);
$warn_count++; $warn_count++;
} }
} }
@ -452,7 +454,7 @@ if (defined $tgzname) {
chdir ("$dir"); chdir ("$dir");
unlink $tgzname if (-f $tgzname); unlink $tgzname if (-f $tgzname);
my $retval = system ("tar -czf ../$tgzname ."); my $retval = system ("tar -czf ../$tgzname .");
$retval /= 256; $retval >>= 8;
if ($retval == 0) { if ($retval == 0) {
printf (_g("\nRemoving build directory: '%s'\n"), $dir); printf (_g("\nRemoving build directory: '%s'\n"), $dir);
system ("rm -rf $dir/*"); system ("rm -rf $dir/*");
@ -482,7 +484,7 @@ sub add_extra_packages {
if (scalar @extrapkgs > 0) { if (scalar @extrapkgs > 0) {
$str = join (' ', @extrapkgs); $str = join (' ', @extrapkgs);
print "apt-get -y $config_str install $str\n"; print "apt-get -y $config_str install $str\n";
$retval = system ("apt-get -y $config_str install $str"); system ("apt-get -y $config_str install $str");
&force_unpack (@extrapkgs) if ($unpack eq "true"); &force_unpack (@extrapkgs) if ($unpack eq "true");
system ("touch ${dir}${libdir}lists/lock"); system ("touch ${dir}${libdir}lists/lock");
&native if (not defined ($foreign)); &native if (not defined ($foreign));
@ -515,7 +517,7 @@ sub force_unpack {
chomp ($package); chomp ($package);
if (exists $unpack{$package}) { if (exists $unpack{$package}) {
my $test=system("dpkg --compare-versions $unpack{$package} '<<' $version"); my $test=system("dpkg --compare-versions $unpack{$package} '<<' $version");
$test /= 256; $test >>= 8;
# unlink version in $unpack if 0 # unlink version in $unpack if 0
# unlink $deb (current one) if 1 # unlink $deb (current one) if 1
if ($test == 0) { if ($test == 0) {
@ -613,7 +615,7 @@ sub force_unpack {
print STATUS @avail; print STATUS @avail;
print AVAIL "\n"; print AVAIL "\n";
print STATUS "Status: install ok unpacked\n"; print STATUS "Status: install ok unpacked\n";
unlink ("./${dpkgdir}info/$mscript"); unlink ("./${dpkgdir}info/$pkg${multi}.$mscript");
} }
} }
close (AVAIL); close (AVAIL);
@ -661,9 +663,10 @@ sub run_download_hooks {
# Translators: this is a single instance, naming the hook # Translators: this is a single instance, naming the hook
printf (_g("I: Running post-download hook: '%s'\n"), basename($hookscript)); printf (_g("I: Running post-download hook: '%s'\n"), basename($hookscript));
my $hookret = system ("$hookscript $dir"); my $hookret = system ("$hookscript $dir");
$hookret >>= 8;
if ($hookret != 0) { if ($hookret != 0) {
printf (_g("I: post-download hook '%s' reported an error: %d\n"), basename($hookscript), $hookret/256); printf (_g("I: post-download hook '%s' reported an error: %d\n"), basename($hookscript), $hookret);
$warn_count += ($hookret < 0) ? $hookret/-256 : $hookret/256; $warn_count += abs($hookret);
} }
} }
} }
@ -678,8 +681,9 @@ sub run_native_hooks_start {
# Translators: this is a single instance, naming the hook # Translators: this is a single instance, naming the hook
printf (_g("I: Starting native hook: '%s'\n"), basename($hookscript)); printf (_g("I: Starting native hook: '%s'\n"), basename($hookscript));
my $hookret = system ("$hookscript $dir start"); my $hookret = system ("$hookscript $dir start");
$hookret >>= 8;
if ($hookret != 0) { if ($hookret != 0) {
$warn_count += ($hookret < 0) ? $hookret/-256 : $hookret/256; $warn_count += abs($hookret);
} }
} }
} }
@ -694,8 +698,9 @@ sub run_native_hooks_end {
# Translators: this is a single instance, naming the hook # Translators: this is a single instance, naming the hook
printf (_g("I: Stopping native hook: '%s'\n"), basename($hookscript)); printf (_g("I: Stopping native hook: '%s'\n"), basename($hookscript));
my $hookret = system ("$hookscript $dir end"); my $hookret = system ("$hookscript $dir end");
$hookret >>= 8;
if ($hookret != 0) { if ($hookret != 0) {
$warn_count += ($hookret < 0) ? $hookret/-256 : $hookret/256; $warn_count += abs($hookret);
} }
} }
} }
@ -710,8 +715,9 @@ sub run_completion_hooks {
# Translators: this is a single instance, naming the hook # Translators: this is a single instance, naming the hook
printf (_g("I: Running post-configuration hook: '%s'\n"), basename($hookscript)); printf (_g("I: Running post-configuration hook: '%s'\n"), basename($hookscript));
my $hookret = system ("$hookscript $dir"); my $hookret = system ("$hookscript $dir");
$hookret >>= 8;
if ($hookret != 0) { if ($hookret != 0) {
$warn_count += ($hookret < 0) ? $hookret/-256 : $hookret/256; $warn_count += abs($hookret);
} }
} }
} }
@ -878,12 +884,11 @@ sub tidy_apt {
# if native arch, do a few tasks just because we can and probably should. # if native arch, do a few tasks just because we can and probably should.
sub native { sub native {
my $e=`LC_ALL=C printenv`;
my $env = "DEBIAN_FRONTEND=noninteractive ". my $env = "DEBIAN_FRONTEND=noninteractive ".
"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 ($e =~ /\nFAKEROOTKEY=[0-9]+\n/) { 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;
} }
@ -921,7 +926,7 @@ sub native {
} }
my $retval = 0; my $retval = 0;
$retval = system ("$str $env chroot $dir dpkg --configure -a"); $retval = system ("$str $env chroot $dir dpkg --configure -a");
$retval /= 256; $retval >>=8;
if ($retval != 0) { if ($retval != 0) {
warn (_g("ERR: dpkg configure reported an error.\n")); warn (_g("ERR: dpkg configure reported an error.\n"));
} }
@ -1230,7 +1235,7 @@ sub cascade {
# returns zero on success, non-zero on fail # returns zero on success, non-zero on fail
sub check_multiarch_dpkg { sub check_multiarch_dpkg {
my $retval = system ("dpkg --print-foreign-architecture > /dev/null 2>&1"); my $retval = system ("dpkg --print-foreign-architecture > /dev/null 2>&1");
$retval /= 256; $retval >>=8;
return $retval; return $retval;
} }
@ -1238,7 +1243,7 @@ sub system_fatal {
my $cmd = shift; my $cmd = shift;
my $retval = system ("$cmd"); my $retval = system ("$cmd");
my $err = $!; my $err = $!;
$retval /= 256; $retval >>= 8;
return if ($retval == 0); return if ($retval == 0);
my $msg = sprintf(_g("ERR: system call failed: '%s' %s"), $cmd, $err); my $msg = sprintf(_g("ERR: system call failed: '%s' %s"), $cmd, $err);
die ("$msg\n"); die ("$msg\n");
@ -1248,7 +1253,7 @@ sub mkdir_fatal {
my $d = shift; my $d = shift;
if (not -d "$d") { if (not -d "$d") {
my $ret = system ("mkdir -p $d"); my $ret = system ("mkdir -p $d");
$ret /= 256 if (defined $ret); $ret >>= 8 if (defined $ret);
my $msg = sprintf (_g("Unable to create directory '%s'"),$d); my $msg = sprintf (_g("Unable to create directory '%s'"),$d);
die "$progname: $msg\n" if ($ret != 0); die "$progname: $msg\n" if ($ret != 0);
} }