[buildd-tools-devel] Bug#634287: sbuild-update --arch=i386 -ud sid fails for i386 chroot on amd64 host

Marc Haber mh+debian-bugs at zugschlus.de
Mon Jul 18 13:15:25 UTC 2011


Package: sbuild
Version: 0.62.5-1
Severity: normal

14:40 <Zugschlus> I am trying to create an i386 sbuild chroot on an amd64 system
14:40 <Zugschlus> sudo sbuild-createchroot --arch=i386 sid
                  /var/lib/sbuild/images/sid-i386 http://mirror.local/debian
14:40 <Zugschlus> => fine
14:40 <rleigh> OK.
14:40 <Zugschlus> sudo sbuild-update --arch=i386 -ud sid-i386
14:40 <Zugschlus> Chroot sid-i386 for architecture i386 not found
14:40 <Zugschlus> and this confuses me
14:41 <Zugschlus> strangely, it works without --arch=i386
14:42 <rleigh> I think this is because sbuild-update looks for a chroot named
               $dist-$arch-sbuild, and this would be sid-i386-sbuild, but the
               "sid-i386" as the distribution makes it looks for
               "sid-i386-i386-sbuild".  Does it also work if you just use "sid"
               and keep with --arch=i386?
14:42 <Zugschlus> no
14:42 <Zugschlus> sudo sbuild-update --arch=i386 -ud sid
14:42 <Zugschlus> Chroot sid for architecture i386 not found
14:43 <Zugschlus> I have a file /etc/schroot/chroot.d/sid-i386-sbuild-K8H9Ap
                  defining a chroot named sid-i386-sbuild
[sid-i386-sbuild]
type=directory
description=Debian sid/i386 autobuilder
directory=/var/lib/sbuild/images/sid-i386
groups=root,sbuild
root-groups=root,sbuild
script-config=sbuild/config
personality=linux32

14:44 <rleigh> That sounds OK.
14:44 <rleigh> If you run sbuild-update with --debug, it should list in there
               all the chroots it find, and the one it wants.  I'm afraid it's
               very verbose, but it might help.  I'll be happy to have a look
               through.
14:45 <rleigh> It's possibly an issue with sbuild-update; the cross-building
               stuff is not as widely tested as for normal building.
14:47 <rleigh> Hmm, that is really odd.  It's definitely finding it and
               settting it, but then not using it.
14:47 <rleigh> Which sbuild version is this?
14:48 <Zugschlus> 0.62.5-1
14:48 <Zugschlus> the chroot is a directory chroot, I forgot to reserve LVM
                  space for chroot LVs
14:49 <rleigh> A directory chroot should still update just fine.  I use them
               all the time.
14:50 <rleigh> I have seen this before with using an sbuild version without
               support for schroot namespaces (chroot:xxx), but since you're
               running the latest version this isn't an issue.
14:50 <Zugschlus> ii  schroot         1.4.23-1        Execute commands in a
                  chroot environment
14:50 <Zugschlus> just to be complete
14:51 <Zugschlus> is the odd suffix to the /etc/schroot/chroot.d file intended,
                  or was there a rename supposed to happen?
14:52 <rleigh> The suffix can be safely removed.  It's there just so that we
               don't accidentally overwrite any existing schroot configuration
               if you create more than one chroot with the same distribution
               name.
14:53 <Zugschlus> I see. That got me confused
14:58 <rleigh> Looking at lib/Sbuild/ChrootInfo.pm, I think the problem here is
               in the find() function.  It's found the chroot, but it looks
               like $arch_found isn't being set in your case.
14:58 <rleigh> You definitely need --arch=i386 and "sid" as the distribution.
               --arch=sid-i386 or dist "sid-i386" will both cause the logic to
               fail.
14:59 <rleigh> The debug output for "sbuild-update --arch=i386 -ud sid" should
               be the most useful.
15:01 <Zugschlus> http://paste.debian.net/123242/
D: Setting Config=Sbuild::ConfBase=HASH(0x840f78)
D: Setting Session ID=
D: Setting Chroot ID=/
D: Setting Defaults=HASH(0x16a3150)
D: Setting Split=1
D: Setting Split=0
D: Setting Config=Sbuild::ConfBase=HASH(0x840f78)
D: Setting Chroots=HASH(0x16b70c8)
Found schroot chroot: chroot:sid-i386-sbuild
  Aliases
  Location
  Name sid-i386-sbuild
  Namespace chroot
  Priority 0
  Session Purged 0
D: Setting Chroots=HASH(0x16928f8)
Chroot sid for architecture i386 not found

15:04 <rleigh> Thanks.  So it's still definitely finding the chroot.  It just
               thinks the arch is invalid.  It's definitely the logic in that
               function that's to blame.
15:06 <rleigh> it will need
               print statements putting throughout that function to identify
               why the check is failing when it should be succeeding (I'm
               certain something is being set incorrectly, either $arch,
               $arch_set or $arch_found).


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

Kernel: Linux 2.6.39-2-amd64 (SMP w/1 CPU core)
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.113      add and remove users and groups
ii  apt-utils                     0.8.15.2   APT utility programs
ii  libsbuild-perl                0.62.5-1   Tool for building Debian binary pa
ii  perl                          5.12.4-1   Larry Wall's Practical Extraction
ii  perl-modules                  5.12.4-1   Core Perl modules

Versions of packages sbuild recommends:
ii  debootstrap                   1.0.32     Bootstrap a basic Debian system
ii  fakeroot                      1.16-1     tool for simulating superuser priv

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

-- no debconf information





More information about the Buildd-tools-devel mailing list