[Hackable1-dev] Packaging of hackable:1-specific software done

Pierre Pronchery ppronchery at bearstech.com
Tue Jan 6 20:22:08 CET 2009


			Dear developers,

I finally managed to patch, package and automate builds of most of the
software used on hackable:1.

The source packages are there:
http://www.hackable1.org/daily/dists/lenny/main/source/
meaning for /etc/apt/sources.list:
deb-src http://www.hackable1.org/daily lenny main

and the i386 binary packages are there:
http://www.hackable1.org/daily/dists/lenny/main/binary-i386/
again for /etc/apt/sources.list:
deb http://www.hackable1.org/daily lenny main

This process was basically done this way, from our SVN root:

1. Get fresh sources and Openmoko's revision 4878

$ svn up
$ svn up -r 4878 vendors/openmoko/*/*

2. Create source packages
Warning: some cosmetic patches to Openmoko's repository are required for
this to work, I have submitted them upstream.

$ cd packages
packages$ ./package.sh

3. Build binary packages
You should have obtained a "dists/lenny/main/source" folder from the
previous step, which is directly suitable for upload.

packages$ ./pbuilder.sh

You should now have a "dists/lenny/main/binary-i386" folder, also
directly suitable for upload.

With this done, I can fire up the armel build for lenny and
sid, and eventually:
- improve the automated images,
- fix "apt-get upgrade" on releases rev1 and rev2.

Not everything is perfect yet, this needs more work:
- evolution-data-server-dbus should be split in multiple packages like
  Debian's evolution-data-server is;
- packages depending on evolution-data-server-dbus should build with
  hackable:1's rather than Debian's as it does now;
- one patch for openmoko-panel-battery is still missing;
- testing the upgrade path;
- testing the daily images;
- testing more and over again...

Quick and dirty howto to get patches integrated to hackable:1's SVN
easily, with neod as an example:

$ cd packages/neod
neod$ tar xzvf neod_0.1+svn4878.orig.tar.gz
neod$ cd neod-0.1+svn4878
neod-0.1+svn4878$ patch -p1 < ../neod.diff
neod-0.1+svn4878$ chmod 755 debian/rules

[you can now work on the package using:
"fakeroot debian/rules binary"
and when it works:
"dpkg-buildpackage -us -uc -rfakeroot"]

neod-0.1+svn4878$ cd ..
neod$ dpkg-source -b neod-0.1+svn4878

[this will have regenerated a .diff.gz file]

neod$ gunzip -c neod_0.1+svn4878-1.diff.gz > neod.diff
neod$ svn diff neod.diff > patch-neod_my_changes.diff

[check if your changes look good!
you can then either mail us the .diff.gz file, the .diff file, or the
patch for our SVN repository]

Re-running ./package.sh detects the changed .diff, performs some sanity
checks, and places the resulting .diff.gz file to
"dists/lenny/main/source". Beware, it will erase your modified sources
in the process, so make sure you updated "neod/neod.diff" as shown here.

If you change the packaging revision in "debian/changelog", you also
want to change it inside "package.sh".

HTH,
-- 
Pierre Pronchery, Hackable devices R&D, Bearstech
email: ppronchery at bearstech.com         42 boulevard Sébastopol
PGP:   AE49 5F7D D56A 4BD6 7B1F         75003 Paris, France
       8655 125C 0FE6 5566 EBD8         Web: http://bearstech.com
Phone: +49 177 472 7481                 Phone: +33 6 71 62 42 74
Fax:   +49 304 208 1861                 Fax:   +33 1 42 72 20 03


More information about the Hackable1-dev mailing list