[buildd-tools-devel] Bug#571806: sbuild: STDERR not being piped in Sbuild::Build::run_apt

Andres Mejia mcitadel at gmail.com
Sun Feb 28 07:38:22 UTC 2010


Package: sbuild
Version: 0.60.0-1
Severity: normal

It looks as though STDERR is not being properly piped in the run_apt()
subroutine. This problem may be in Sbuild::Chroot, but I haven't thouroughly
checked. This is from sbuild version 0.60.0-1 with the patch in bug #403246.

Here's a debug output. Note the 'E: Couldn't find package' message and how
it's missing in $msgs at the end.

Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1138):
1138:       my $pipe =
1139:           $self->get('Session')->pipe_apt_command(
1140:           { COMMAND => [$self->get_conf('APT_GET'), '--purge',
1141:                         '-o', 'DPkg::Options::=--force-confold',
1142:                         '-q', "$mode", 'install', @to_install],
1143:             ENV => {'DEBIAN_FRONTEND' => 'noninteractive'},
1144:             USER => 'root',
1145:             PRIORITY => 0,
1146:             DIR => '/' });
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1147):
1147:       if (!$pipe) {
  DB<4> E: Couldn't find package does-not-exist
l
1147==>     if (!$pipe) {
1148:           $self->log("Can't open pipe to apt-get: $!\n");
1149:           return 0;
1150        }
1151
1152:       while(<$pipe>) {
1153:           $msgs .= $_;
1154:           $self->log($_) if $mode ne "-s" || debug($_);
1155        }
1156:       close($pipe);
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1152):
1152:       while(<$pipe>) {
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1153):
1153:           $msgs .= $_;
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1154):
1154:           $self->log($_) if $mode ne "-s" || debug($_);
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1153):
1153:           $msgs .= $_;
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1154):
1154:           $self->log($_) if $mode ne "-s" || debug($_);
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1153):
1153:           $msgs .= $_;
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1154):
1154:           $self->log($_) if $mode ne "-s" || debug($_);
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1156):
1156:       close($pipe);
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1157):
1157:       $status = $?;
  DB<4> n
Sbuild::Build::run_apt(sbuild/lib/Sbuild/Build.pm:1159):
1159:       if ($status != 0 && $msgs =~ /^E: Packages file \S+ (has changed|is out of sync)/mi) {
  DB<4> x $pipe
0  GLOB(0x29cb778)
   -> *Sbuild::Chroot::$pipe
  DB<5> x $msgs
0  'Reading package lists...
Building dependency tree...
Reading state information...
'


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages sbuild depends on:
ii  adduser                      3.112       add and remove users and groups
ii  libsbuild-perl               0.60.0-1    Tool for building Debian binary pa
ii  perl                         5.10.1-11   Larry Wall's Practical Extraction 
ii  perl-modules                 5.10.1-11   Core Perl modules

Versions of packages sbuild recommends:
ii  debootstrap                   1.0.22     Bootstrap a basic Debian system
ii  fakeroot                      1.14.4-1   Gives a fake root environment

Versions of packages sbuild suggests:
pn  deborphan                     <none>     (no description available)
ii  wget                          1.12-1.1   retrieves files from the web

-- no debconf information





More information about the Buildd-tools-devel mailing list