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

Toolchains updated, tools ready.



OK, here's the executive summary:

The toolchains are as up to date as they are going to get, probably
until gcc-4.2 leaves experimental.

emdebian-tools has completed initial testing and is ready to use.

Detail:
First toolchains.
-----------------
gcc-4.0 is to all intents and purposes dead upstream - the only version
increment available is only available on hppa and does not cross-build.
There appears to be no prospect of a new release.
gcc-3.3 appears similar but isn't yet confirmed. As such, gcc-3.3 still
shows as outdated but in reality, we are unlikely to be able to build
the newer version which is not actually in the Debian pool for all
architectures.

gcc-3.4 and gcc-4.1 are up to date on i386 and amd64 for all targets. A
single gcc-4.1 toolchain for arm is available for installation on
powerpc - built by emchain.

Tools
-----
The composite method is usable and the tools to create emdebianised
cross-built packages for all supported architectures are in the
Emdebian repository. To use, see:
http://wiki.debian.org/EmdebianQuickStart

That will guide you through the first stages - note the comment about
apt-get update ; apt-get upgrade after running emsetup - that will
upgrade emdebian-tools from 0.1.0 in Debian to the 0.1.3 in Emdebian.
The next Debian release will be 0.2.0. (If you already have
'emdebian.org debian' in your sources list, you'll get 0.1.3 direct.)

v0.1.3 introduces a third debconf question which is, as yet,
untranslated. I haven't delayed the upload to Emdebian but v0.2.0 in
Debian will wait for debconf translations to come in. This is likely to
be after Etch (if the release date doesn't slip). The new question
allows users to install toolchain packages with aptitude instead of
the default apt-get.

There is a note in the emdebian-tools manpage about an issue that arose
on a system where apt could only use ftp.debian.org - an incomplete
Debian mirror. emdebian-tools needs at least one "primary Debian
mirror" (as defined at http://www.debian.org/mirror/list )
in /etc/apt/sources.list but due to a bug in apt (apt-cache seg
faults), it is not currently possible for emdebian-tools to detect this
situation accurately. So far, only ftp.debian.org has suffered from
this problem.

Now the hard work begins. emdebian-tools can only do so much of the
emdebianisation of Debian packages - there is no guarantee that
packages will successfully build, either cross or native, with the
initial patch set created by em_make or emsource. Neither can em_make
or emsource guarantee to remove *all* documentation or manpage content
from packages - some packages use very customised rules that are not
easily detected automatically. (emdebian-tools knows how to deal with
CDBS and debhelper packages without too many problems.) I've
emdebianised about a dozen packages now, only a few needed manual edits
of debian/rules to finish the emdebianisation but that's only a dozen
out of 19,000 so it's still early days. You should always read
debian/rules after running emsource or em_make and before running
emdebuild - not that different to normal packaging processes really.
emdebian-tools will continue to develop and if there are pattern
matches that can be identified in addition to the current set, please
let me know or file a bug in the Debian BTS (minor or wishlist).

Finally, Debian packages need to be cross-built in a logical sequence -
it's no good trying to cross-build GPE or X at this stage, the
intermediate libraries need to be cross-built first.

If anyone fancies helping with calculating that sequence, see the
source for 'empath' in SVN. For now, it's best to concentrate on
packages suitable for a rootfs or other "essential" packages. The
specifics of which packages are missing I'm outlining at a new Wiki
page:
http://wiki.debian.org/EmdebianGuide
Feel free to add to it.
See also : http://wiki.debian.org/NeilWilliams
and http://wiki.debian.org/EmdebianRootfs

I'm now concentrating on a chroot builder script as a cross-building
equivalent of pdebuild. This will mean that we can (eventually) build
GPE or X without having to dpkg-cross dozens of libraries in the main
installation, the library packages can be installed from the Emdebian
target repository instead, just like pbuilder. If anyone fancies
helping with that, contact me - I only have the thinnest of code for
this right now.

(These two tasks are, indeed, inter-related with each other and with
the Emdebian Google SoC proposal - can't find the page right now.)

Another task is some way of tracking the status of all these built
packages. Testing whether built packages can be installed will be
easier once Etch is out because edos-debcheck will be available in Etch.

Enjoy!
;-)

--


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgpDs45t2AqAO.pgp
Description: PGP signature


Reply to: