[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pdebuild-cross fixes in wook-shed branch



On Tue, 14 Sep 2010 02:28:12 +0100
Wookey <wookey@wookware.org> wrote:

> * xapt-hook in pdebuild-cross: Fall back to control when xcontrol is not present, and just use the
> build-deps in there. This is in fact the usual case for normal
> crossbuilding.

xcontrol had some nice features but was never fully supportable - any
changes we need in build-dependency listings need to be done inside
Debian. We need to push that more firmly.
 
> * xapt-hook in pdebuild-cross: I also included Build-depends-indep as well as build-depnds-tools
> and build-depends. I'm not actually sure if that is right, but I think
> it is, and for xapt is best to err on side of more, rather than less
> (aprt from speed issues).

Build-Depends-Indep is important when using pdebuild-cross to build a
repository of more than one architecture but the dpkg-buildpackage -S
support in Debian doesn't work properly anyway.
 
> * xapt uses --force-yes so that it works in the presence of
> unauthenticated repositories. Without this it installs nothing. This
> was previously not set when cross-installing. I don't understand why,
> but there may be an issue here. 

Repositories which do not use SecureApt are not supported by pbuilder
(at least in Lenny), so this needs some care. It needs to be
configurable by having an option (default:off) in the pdebuild-cross
config file which is then passes an option to xapt (again, not the
default). 

> * xapt prints the apt commands it is going to execute so one can
> debug effectively. 

Needs to be configurable - these processes are sufficiently noisy
already.
 
> * xapt has been put back in its own package. It doesn't really work
> in practice as part of pdebuild-cross. In order to ensure it is
> installed in the build chroot it needs to be an installable package.
> The existing code trying to copy it out of
> /usr/share/pdebuild-cross/xapt doesn't work unless pdebuild-cross is
> installed in the chroot and that seems confusing and excessive. That
> should only be installed outside the chroot. Having a seaparate
> package is neat and works nicely without copying files about. 

There wasn't time to get xapt through NEW and into Squeeze as a
separate package. My plan was always to do this for Wheezy.

When this is done *apt-cross will be orphaned* and all reverse
dependencies of apt-cross will be converted to use xapt. Unless
someone is insane enough to adopt apt-cross, I will file for removal of
apt-cross as orphaned, dead upstream & superseded by xapt about a
month after I orphan apt-cross.

apt-cross took a wrong turn with the adoption of the NorthernCross code
- it should and could have become xapt a long time ago but objectives
were different at the time.

> * There are only two lines that change between debian and ubuntu in
> xapt (default mirror and default suites) so it's easy to make the tool

Better to make use of configuration here because the default mirror for
Debian either needs to be ftp.cdn.debian.net or user-specific. It's
hard enough changing the default inside the base.tgz as it is.

> compatible with both. I've done that, deciding which is which by
> checking the lsb_release 'Distribution' (and defaulting to Debian if
> lsb_release not present). Depending on lsb_release bring in
> python-minimal, which is annoying, although in a chroot this isn't
> really a big deal.

Yuck. Can't we use /etc/debian_version here? Even better, Ubuntu can
use a separate config file which specifies the default mirror and then
there's no need for lsb at all.

I see no difference between Debian and Ubuntu for pdebuild-cross other
than the choice of mirrors.

> We will be installing piles of stuff anyway. Hard
> to say whether it's worth making it a dependency. In practice most
> chroots seem to end up having lsb-release in them anyway. 

Not mine. :-)

These are disposable pbuilder chroots - the more stuff you put in, the
longer they take to unpack and to update. That's bad!

One bonus of xapt over apt-cross is that xapt is a lot faster.
 
> At least some of the above should get back into trunk.

.... modified slightly. Please revisit the lsb stuff. I really don't
want that in either version.

> The bug-fixes,
> the xapt-hook changes so it does something useful for normal
> cross-builds. We can argue about the rest but I think xapt does need
> to go back in it's own package, having tried quite hard to use it the
> other way for a while before giving up and finding it _much_ more
> satisfactory as a separate, installable package. Similarly the support
> for different distro-defaults is neat and we should probably put it in
> to avoid maintaining a delta between distros. It could be used
> elsewhere too, even if the lsb-release thing is a bit heavyweight.

The support for different distros is actually just a bad implementation
of support for different default mirrors which needs to be done in the
configuration file IMHO. 

> Hope that's useful. I'm setting a build of 100 packages off now so
> we'll see if xapt is actually any use in the real world... (or I might
> just find more bugs in it). 

That's OK, nothing much is going to happen in the Debian package until
Squeeze is released.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.linux.codehelp.co.uk/
http://e-mail.is-not-s.ms/

Attachment: pgpJaITUKxVQ0.pgp
Description: PGP signature


Reply to: