Differences between revisions 35 and 36
Revision 35 as of 2007-05-02 18:39:36
Size: 6396
Editor: NeilWilliams
Comment: create link to a new page
Revision 36 as of 2007-05-06 12:50:34
Size: 6456
Editor: NeilWilliams
Comment:
Deletions are marked like this. Additions are marked like this.
Line 21: Line 21:
 1. '''Utilise edos-debcheck'''- See EmdebianInstallCheck.

Neil Williams

  • Current packages: QOF, pilot-qof, deb-gview and gpe-expenses. Also apt-cross, emdebian-tools and associated Perl modules.
  • [:Embedded_Debian:Emdebian] work: Wookey's cross-get (bash) has been converted to perl using the dpkg-cross model. On release in debian unstable as apt-cross.

My main aim is to add the 'glue' required to get the existing subsections of emdebian working together as a whole.

{{{sudo apt-get install emdebian-tools subversion emsetup emsource source emdebuild dput emdebian ../source_1.2.3-1em1_$(ARCH).changes}}}

Plan

  1. empath - needs a new recursive algorithm to determine a path from a package set A to a package B via the Depends: and Build-Depends: intermediaries, skipping certain assumed packages like autoconf or perl. Currently written in C but may change to Perl using code from NorthernCross - a Perl script based on libapt-pkg-perl written by Alexander Shishkin.

  2. cachecompare - comparing Emdebian toolchains with the upstream versions. Needs optimising so that it can run via cron.

  3. empdebuild - a chroot version of emdebuild in emdebian-tools, like pdebuild.

  4. apt-cross - Need a list of EmdebianCrossPackages - packages that have to be available on the build host as native packages and as cross packages, installed using dpkg-cross or apt-cross.

  5. Utilise edos-debcheck- See EmdebianInstallCheck.

empdebuild

Built on pdebuild with a few differences.

  1. Written for full dash compatibility - pbuilder relies on bash. The amount of pbuilder code that can be reused whilst still using dash will determine whether empdebuild later switches to Perl. Currently, the test empdebuild dash scripts require some embedded Perl to interface with the rest of emdebian-tools anyway.

  2. Uses Emdebian toolchain packages to add to our own --basetgz, by default called emdebian.tgz. These binaries are retained within the chroot and upgraded with the rest of the permanent chroot packages.

  3. Uses pdebuild code to locate the .dsc in a debian source tree.
  4. Uses cross-built gcc from Emdebian to build in the emdebian chroot.
  5. Uses apt-cross to get, build and install (to the chroot) dependencies, like pdebuild, dependencies will not be saved to the chroot. (This is likely to involve porting some code from NorthernCross into apt-cross either directly or via a libnortherncross-perl package in Debian.)

  6. Apply the emdebian patches from SVN.
  7. Builds an emdebian package from the debian source tree.
  8. IGNORES Debian essential packages - require each package to specify the FULL dependency list.

  9. Uses the emdebian version number (from the emdebian-changelog.patch patch held in svn).
  10. Use dash as the default shell, not bash.
  11. Add busybox-full, initscripts, tinylogin and minibase (rather than dropbear) as the base system of the chroot.

GPE in Debian

Some GPE packages are already in Debian, I'm working to complete the list so that Debian itself can support smaller devices and provide the GPE packages for Emdebian to optimise further. All the packages that were originally missing when comparing Debian unstable with my Familiar 0.8.4 installation on a H3900 iPAQ are now being packaged for Debian. This is the current status of GPE packages awaiting entry into Debian:

Package

ITP

Status

gpe-appmgr

#404083

packaging

gpe-bluetooth

#407221

Experimental

gpe-conf

#404059

packaging for experimental

gpe-confd

#404390

packaging

gpe-dm

depends on gpe-session-scripts

gpe-icons

needs an update

pending

gpe-irc

needed?

gpe-login

Philippe

gpe-mileage

needed ?

gpe-minibrowser

#403802

Dependency issue

gpe-mininet

#407483

Experimental

gpe-mixer

#404381

Dependency: gpe-icons >= 0.23

gpe-ownerinfo

Philippe

gpe-plucker

needed?

gpe-sketchbook

Philippe

gpe-session-scripts

depends on gpe-question and gpe-bluetooth

gpe-su

#404380

Experimental

gpe-task-apps

needed ?

gpe-terminal

needed ?

gpe-tetris

needed ?

gpe-theme-clearlooks

needed?

gpe-timesheet

419374

NEW queue

gpe-today

Philippe

libnrcit

upstream issues

libnrcore

upstream issues

Emdebian package building

  1. Patch debian/ files according to emdebian SVN *without* running debian/rules (this allows rules itself to be patched).
  2. Prepare a .deb under this naming scheme:

{{{<package> == binary package name, exactly as in Debian. <dvers> == Exact Debian version string. <evers> == Sequential emdebian release number.

<package>_<dvers>em<evers>_<arch>.deb}}}

So, taking libqof1 as our example.

{{{Binary package name: libqof1 Upstream version: 0.7.2. Debian version: 1 Example arch: amd64

Current Debian package name: libqof1_0.7.2-1_amd64.deb}}}

{{{Emdebian release: 1 Emdebian arch: arm

Proposed emdebian package name: libqof1_0.7.2-1em1_arm.deb}}}

use svn-buildpackage layout to keep debian diffs as 'upstream' in the .diff.gz and emdebian diffs as patches in emdebian SVN.

Status : Implemented in emdebian-tools.

Ideas for collaborative maintenance of emdebian packaging.

  1. Wherever possible, automate the streamlining of package building without patching (that is likely to fail with the next upload).
  2. Where manual changes are needed to debian/* files for emdebian, changes should be possible by any emdebian developer. This may need restrictions on svn write access to only Debian developers or the creation of a second tier of Emdebian access.

  3. Each amendment of the svn for a particular package needs to increment the emversion - a simple suffix that denotes the emdebian version, itself appended to the existing Debian version. No other form of emdebian version string is anticipated - NMU's and backports should only affect the Debian version string and emX will be appended to whatever Debian supply.
  4. Where patches are necessary, the emdebian svn stores the patch file.

The prime motivation for this is that emdebian packages should not need dedicated, specific, emdebian maintainers in addition to Debian maintainers.


Main homepage: http://www.linux.codehelp.co.uk/

Debian homepage: http://people.debian.org/~codehelp/


CategoryEmdebian