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

Integrating Emdebian Grip into Debian



Emdebian has long described itself as an "official sub project of
Debian" but this status has never actually been granted by Debian. The
discrepancy recently led to discussions with the Debian Project Leader
and on the debian-embedded mailing list [0] about integrating Emdebian
into Debian so that the status of Emdebian can be decided properly.

It rapidly became clear that Emdebian could integrate the Emdebian Grip
flavour more closely with Debian and that such integration was
desirable both within Emdebian and within Debian.

At DebConf11 [1], discussions took place with representatives of the ftp
team, wanna-build team and the release team around the mechanisms by
which Emdebian Grip [2] could be integrated directly into the main
Debian archive and Debian release process.

This is the technical side of the thread I started about Emdebian
Policy. http://lists.debian.org/debian-devel/2011/08/msg00153.html

The discussions have resulted in quite a few points which I've now put
on the wiki:

http://wiki.debian.org/EmdebianIntegration

Please refer to the wiki before raising possible technical problems.

The summary is that Emdebian has a binary compatible distribution which
has been released in sync with Debian since Debian 5.0 (Lenny), called
Emdebian Grip. The binary compatibility and suitability for embedded
devices has led to this flavour becoming very popular with embedded
users - commercial and hobbyist. Grip supports amd64, i386, armel, mips,
mipsel & powerpc. Unofficial ports are also available for armhf, sh4
and powerpcspe. Grip consists of ~3,000 packages, all of which are
binary compatible with the equivalent Debian package but ~40% smaller,
on average. Processing of packages for Grip is entirely
architecture-agnostic and 98% automated. This proposal would make it
easier to ensure Grip is in sync with Debian by allowing the ftp team
and release team to use existing tools to manage both sets of packages
at the same time.

Integrating Emdebian Grip into Debian would involve parallel suites
(unstable-grip, testing-grip, stable-grip, stable-proposed-updates-grip
etc.) with a restricted package set. (Grip is currently at ~3,000
binary packages out of ~30,000 in Debian.) Emdebian would sort out a
buildd-type process which receives the list of binary packages passing
through the archive, filters the ones which are interesting and then
uploads the converted package to the parallel suite.

There have not been nor will there be source changes to packages, source
packages are not interesting to the Emdebian Grip process other than for
compliance. No re-compilation takes place. dpkg-buildpackage is not
called, debian/rules is ignored. All processing is done by unpacking
the .deb, removing/compressing files and repacking it with a temporary
changelog entry.

To distinguish the converted packages and the Debian originals,
Emdebian Grip packages already use the em1 suffix and this would be
retained. reportbug already has support for directing bugs to
buildd.emdebian.org if this version suffix is found. (Strict
dependencies are managed during the "grip" process.)

Requests for adding more packages would go through the
buildd.emdebian.org pseudo-package on the BTS but additions are far
from automatic. One of the principle gains of Emdebian Grip is that the
Packages.gz file is small. Not only is this helpful in download time,
it also dramatically reduces the amount of data apt-cache needs to
load, write and process on-device. Tools already exist in Debian to add
more packages to a base Emdebian Grip package set on a user-specific
basis using the 'apt-grip' script in the emdebian-grip package.

To make the integration process work, Emdebian has agreed to drop the
dev, debug, java and doc components from Grip unstable and Wheezy
(which are all just sub-divisions of 'main') in order to make this
process work - all packages will revert to the "main" component and
Emdebian would gain support for contrib and non-free (although no
packages currently exist for those components in Emdebian Grip).

packages.debian.org will be able to list the new suites and the
versions available within those suites as well as a comparison of the
file list and package sizes. In a similar manner to udebs and the
experimental suite, a suitable warning message can be added to the page.

packages.qa.debian.org could list the parallel suites too, in a similar
manner to the Ubuntu listings - although no patches would ever exist
for Grip.

I should also be clear that Emdebian has two main flavours (Grip and
Crush) and a third "meta-flavour" called Baked. These changes *only*
affect the binary-compatible Grip flavour. Just describing these
packages as "Emdebian" may lead to confusion in bug reports. This is
why the proposed suite names include "grip" rather than "emdebian".

Lots more information on Emdebian on the http://www.emdebian.org
website and the Embedded_Debian parts of the Debian wiki.

[0] http://lists.debian.org/debian-embedded/2011/04/msg00013.html
[1] http://debconf11.debconf.org/
[2] http://www.emdebian.org/grip/

-- 


Neil Williams
=============
http://www.linux.codehelp.co.uk/

Attachment: pgpVD33nM8r3j.pgp
Description: PGP signature


Reply to: