Currently best supported are simple command line utilities without many
build dependencies. For the sake of this example we'll duplicate the existing
cal package, but additionally patch it to provide some
Maemo-specific behaviour.. It is assumed that the previous tutorial has been
folowed and that mud is installed and the alias set.
<package> <fetch type="debian"> <name>cal</name> </fetch> </package>
mud get mycal
.buildis a symlink to whatever source directory is unpacked, in this case
source/cal.c, line 574 from:
fputs("\t\t\t\t ", stdout);
fputs("\t\t\t\tMaemo in ", stdout);
mud compile mycal … fakeroot dpkg -i ../../../upload/ccal*.deb … ccal 2007
Note that the
source/cal.cline is prefixed with "M" for modified. This is what we want, note also the auto-changes to
debian/control. We don't want to store this as it can be easily regenerated by
mud-builderso revert that file and then save the patch into your local copy of mud-builder:
Files marked with a "?" are unknown to Subversion and are usually ignorable side effects of the build. If you add a new file, use
svn diff debian/control svn revert debian/control mud diff mycal
svn add <path>to include it in the diff.
packages/patch/mycal.patchto the mud-builder-users mailing list.
Because our changes were saved in
mud clean mycal
packages/patch/mycal.patch, the next time that
mud get mycalis run the patch will be re-applied after the source is unpacked.
There is reference documentation available on the XML-file package format.