Neil Williams: Functional cross-building chroot, based on pbuilder
The pbuilder-based chroot script (empdebuild) in Emdebian SVN is now functional - that is it can run from a directory created by emsource, patch the Debian source using emdebian-patch files ( = emdebianising the package), get the build dependencies and install them, run emdebuild to cross-build the package and copy the updated patches, build log, .changes, .dsc and .deb files out to a nominal location before cleaning up the chroot. Only the basic pbuilder options and setup is supported and some values that can be configured for pbuilder are calculated automatically by empdebuild.
The embootstrap script that creates the chroot used by empdebuild needs some more work before this can be released as part of emdebian-tools 0.2.2 and there is no support (yet) for installing the cross-dependencies required for some packages. I'll be experimenting with Gyrosgeier's debian/xcontrol idea to specify these Build-Cross-Depends: using information already gathered on an ad-hoc basis. xcontrol files can then be committed to Emdebian SVN as patches. The pbuilder code is sufficiently flexible that the same code that parses debian/control for Build-Depends can be adapted to parse debian/xcontrol for Build-Cross-Depends.
In theory, empdebuild can become the basis of a cross-buildd, significantly improving the rate at which packages can be emdebianised.
The script does, currently, have to use apt pinning to retain the Emdebian toolchains because of problems with gcc-4.2 on arm.
(And yes, I do realise that emdebuild and empdebuild are very similar names but then so are debuild and pdebuild upon which the respective Emdebian scripts are based.)
http://buildd.emdebian.org/svn/browser/current/host/trunk/emdebian-tools/trunk/pbuilder
The embootstrap script that creates the chroot used by empdebuild needs some more work before this can be released as part of emdebian-tools 0.2.2 and there is no support (yet) for installing the cross-dependencies required for some packages. I'll be experimenting with Gyrosgeier's debian/xcontrol idea to specify these Build-Cross-Depends: using information already gathered on an ad-hoc basis. xcontrol files can then be committed to Emdebian SVN as patches. The pbuilder code is sufficiently flexible that the same code that parses debian/control for Build-Depends can be adapted to parse debian/xcontrol for Build-Cross-Depends.
In theory, empdebuild can become the basis of a cross-buildd, significantly improving the rate at which packages can be emdebianised.
The script does, currently, have to use apt pinning to retain the Emdebian toolchains because of problems with gcc-4.2 on arm.
(And yes, I do realise that emdebuild and empdebuild are very similar names but then so are debuild and pdebuild upon which the respective Emdebian scripts are based.)
http://buildd.emdebian.org/svn/browser/current/host/trunk/emdebian-tools/trunk/pbuilder




