I found some bugs in xapt yesterday and have fixed them. I've put them in a 'wook-shed' branch of emdebian-crush as I've diverged a fair way from trunk.
The imediate bug-fixes are: * Ensure that apt source files that aren't called *.list are skipped. There was some broken code there (mine) which said 'skipped' but failed to say which file and in fact used it anyway. (This was fatal when combined with a multistrap bug which put 'main' on the end of an apt-ftp-archive flat URL so tha teven after you fixed it by editing the file, xapt tried to use the sources in the file.list~ backup file and thus failed every time. And it already bit me before - ence the first failed attempt at a fix) * 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. * 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). * 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. * xapt prints the apt commands it is going to execute so one can debug effectively. * 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 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 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. 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. The branch is almost identical to the package going into Ubuntu maverick. At least some of the above should get back into trunk. 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. 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). Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/ -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

