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

Emdebian Policy



Please CC: me if replying only via the debian-policy list, I'm only
subscribed to -devel, not -policy.

This is meant to be the start of a series of discussions on integrating
Emdebian with Debian. Things started with a query via the DPL about the
status of the Embedded Debian Project and there has been discussion
within Emdebian [0] about how this should work.

This message is the start of the Policy discussion - a technical
discussion will be a separate thread. (There were informal discussions
about the technical sides of integrating Emdebian Grip into Debian at
DebConf11 with representatives of the ftp, release and wanna-build
teams. Those will form the basis of the technical details.)

Please confine this thread to Policy.

I've tried to summarise the background to this discussion on the Wiki
[1], [2].

The aim is to discuss the differences between Debian and Emdebian Grip
[3]. Where Emdebian Policy covers the other flavours of Emdebian (Baked
and Crush) are an extension of these but the emphasis is on the
binary-compatible Grip flavour. (Baked and Crush are very specialised,
indeed Crush is currently stalled until after MultiArch is implemented.)

Also, there is no role for TDebs at this stage. Whilst it is useful to
not completely lose translations in the Emdebian processes, the
expectation is that the "user-visible" part of a device running
Emdebian Grip will typically be custom-software which does not expose
the underlying system messages. Where translations might be useful,
selected files for selected locales will remain available via the
existing Emdebian processes as Emdebian TDebs.

OK: background out of the way, here's the idea.

Emdebian Grip is binary-compatible with Debian but only provides a
selective list of binary packages (with unchanged sources). Files which
Policy-compliant packages provide are removed in an
architecture-agnostic post-build process using the emgrip script, part
of the emdebian-grip package [4]. Files which are a "must" requirement
of Debian Policy are removed. Other "must" requirements of Debian
Policy are over-ridden, e.g. copyright files must be compressed for
Emdebian which reverses that Section of Debian Policy. Some "should"
requirements become "must not". The process of conversion is 100%
automated in an architecture-agnostic process and the changes are,
therefore, applied without regard to the specific package or
architecture. This leads to a predictable set of packages and a common
interface for those times when users may need to pull some packages
from Debian or from internal repositories.

These changes are a direct result of what Emdebian users have
stipulated as necessary for the purposes of making Debian usable on
embedded devices. As a result, the modified packages have found
widespread support from users - commercial and hobbyist. 

(Grip is the basis of the other flavours of Emdebian.)

Summary of Emdebian Policy for the Grip flavour (listed according to
the relevant Section in Debian Policy):

3.8 Essential - Packages MUST NOT include the Essential tag.

4.4 Debian changelog : debian/changelog - Debian Policy applies except
that debian/changelog is not included into Emdebian packages, only
retained in the source package. 

5.6.9 Essential - Prohibited. No package is permitted to use this
control field. 

9.8 Keyboard configuration - Note that many Emdebian devices will not
have a keyboard of any kind (except on-screen after installation), so
packages should not use methods that prevent the use of a serial
console or network console or use methods that rely on a physical
keyboard. 

12.1 Manual pages - Emdebian packages must not include manual pages. 

12.2 Info documents - Emdebian packages must not include info
documents. 

12.3 Additional documentation - Most additional documentation needs to
be removed. Special consideration might be available for some packages
but the expectation is that all help available to the user is
context-sensitive and localised via gettext (or similar) and implemented
within the application code. 

12.4 Preferred documentation formats - context-sensitive tooltips
implemented by the code within the application and localised using
gettext via Emdebian TDebs. 

12.6 Examples - Packages must not include examples. 

12.7 Changelogs - Packages must not carry any changelog files except in
the source package. Changelogs (Debian or upstream) must not be
installed. 

12.5 Copyright information - Copyright information must be
compressed with gzip -9. Licences should not be installed by default.
The option to install compressed licences could be provided.

So is it suitable to simply keep EmdebianPolicy as a set of changes
from Debian Policy? Is it better to complicate Debian Policy with a set
of footnotes?

[0] http://lists.debian.org/debian-embedded/2011/04/msg00013.html
[1] http://wiki.debian.org/EmdebianPolicy/Background
[2] http://wiki.debian.org/EmdebianPolicy
[3] http://www.emdebian.org/grip/
[4] http://packages.qa.debian.org/e/emdebian-grip.html

-- 


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

Attachment: pgpzISo0pkfVT.pgp
Description: PGP signature


Reply to: