On Fri, Jan 07, 2011 at 03:16:06PM -0600, Jamie Strandboge wrote: > On Fri, 2011-01-07 at 19:30 +0000, Roger Leigh wrote: > > > An easy fix is to start the chroot and set the Arch before before > > > calling open_build_log(), which is what earlier versions of sbuild did. > > > Attached is a patch to do just that. > > > The arch is initially set from the host architecture. You can set this > > using the --arch option, which you should arguably be doing if the > > host and build arches differ. > > > Hmm, this used to work with 0.60.0-2, but I guess it was changed due to > the issues you mention below.
Yes. I originally changed it as in your patch, but subsequently had to revert it due to the complaints I mentioned. It's a bit of a chicken- and-egg situation. We need the arch to open the build log, but we can't get it until we've started the session, which needs logging. > > Now, we have > > not currently got any way of specifying this automatically; I may add a > > suitable configuration option to schroot, I've been considering it for > > a while. But I think that at present you should be using the --arch > > option which is also used to search for the correct chroot. > > > > i.e. you should be using > > > > -d maverick --arch=i386 > > > > rather than > > > > -d maverick-386 > > > > since the latter also rewrites the architecture in the .changes; if > > you want to specify a specific chroot, then use the --chroot option > > rather than --dist. --dist specifies the exact distribution, while > > --chroot specifies the build chroot (which normally defaults to a > > chroot based upon the distribution and architecture set e.g. > > maverick-i386-sbuild). > > This makes sense. I'll adjust our build scripts accordingly. Thanks for > your consideration and thoughtful response. No problem. I've been thinking about how to better deal with this. I think what might be appropriate is to check if the chroot architecture and requested architecture match after starting the session as a sanity check. If --arch is missing and you're e.g. using an i386 on amd64, you'll then get a failure due to the mismatch. If you use --arch=i386, it'll then match and everything will work as normal. This might cause problems for users not currently using --arch, but it'll make things explicit and robust, and we can make sbuild issue an informative message telling the user to use --arch. Would such a change be acceptable to you? Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail.
signature.asc
Description: Digital signature