[buildd-tools-devel] Bug#546624: sbuild should not run schroot --info on every chroot separately

Nelson Elhage nelhage at MIT.EDU
Mon Sep 14 17:27:25 UTC 2009


Package: sbuild
Version: 0.59.0-1
Severity: normal


When using schroot, sbuild runs 'schroot --list' to get a list of all
chroots on the machine, and then runs 'schroot --info' separately on
each one.

While this is fine for machines with a small number of chroots, this
results in a startup time that scales quadratically with the number of
chroots on the machine (since schroot has to read in every
configuration file each time it starts up). In the extreme case, on my
machine with hundreds of build chroots, sbuild takes over three
minutes to start up:

$ time schroot -l | while read c; do schroot --info $c >/dev/null; done

real                 3m10.275s
user                 2m45.626s
sys                  0m21.637s


Instead, sbuild should probably run 'schroot --all --list' and extract
information about every chroot from the one listing. This operation is
fast even with huge numbers of chroots.

$ time schroot --all --list > /dev/null

real                 0m0.128s
user                 0m0.108s
sys                  0m0.016s

-- System Information:
Debian Release: 5.0.3
  APT prefers stable
  APT policy: (600, 'stable'), (300, 'unstable'), (300, 'testing'), (200, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-2-xen-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/bash

Versions of packages sbuild depends on:
ii  adduser                  3.110           add and remove users and groups
ii  libsbuild-perl           0.59.0-1        Tool for building Debian binary pa
ii  perl                     5.10.0-19lenny2 Larry Wall's Practical Extraction 
ii  perl-modules             5.10.0-19lenny2 Core Perl modules

Versions of packages sbuild recommends:
ii  debootstrap                 1.0.10lenny1 Bootstrap a basic Debian system
ii  fakeroot                    1.11         Gives a fake root environment

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

-- no debconf information





More information about the Buildd-tools-devel mailing list