[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