Brendan Sleight <morphix@barwap.spam_removed.com>
mmaker [-g debootstrap.tar.gz] [-b debootstrap.tar.bz] [-a /path/to/package1.deb [-a /path/to/package2.deb]] [-m miniroot.gz] [-k vmlinuz-mykernel] [-t /tempdir] [-c] [-d /debootstrapped] [-p http://proxy.mydomain.com:8080] [-v] [-i] input.xml output.mod
Mmaker creates a Morphix base or main module output.mod, using a xml template file input.xml. A really lazy way to build parts of a LiveCD.
Quick overview on the layout of a template. For examples, see the
template/ directory.
---
The syntax is derived from Progeny's CL scheme, which was derived from
Redhat's. This one has a list of available options in your template, with
comments to help you out.
<comps>
<group>
<version>version number of module</version>
<id>lowercase identifier</id>
<name>natural-language name of module</name>
<description>possibly multiline description of module</description>
<type>[mainmod|basemod|minimod]</type>
<!-- currently only main/basemod are useful -->
<suite>[sid|sarge|woody|unstable|testing|stable]</suite>
<!-- debian flavour to use -->
<arch>[i386|powerpc|sparc|hppa|amd64|whatnot]</arch>
<!-- for attempting to build on a different architecture, use with care -->
<retrieve>
<from>/file/on/my/harddisk</from>
<to>/place/in/module</to>
</retrieve>
<retrieve>
<from>http://localhost/myfile</from>
<to>/place/in/module</to>
</retrieve>
<retrieve type="[tar.gz|tar.bz2]"> <!-- only implemented for local from-to -->
...
</retrieve>
<repositorylist>
<repository type="[debian|plain]" [nonfree="true"] [suite="woody|sarge|sid|stable|testing|unstable]>URL</repository>
<!-- either a normal repository or a debian one.
Need one debian repository for main/base modules
use nonfree if you want to add contrib/non-free to your apt line
adding the suite tag here overrides the default suite
-->
...
</repositorylist>
<packagelist>
<packagereq [target="sid|sarge|woody|unstable|testing|stable"]>packagename</packagereq>
<!-- package to apt-get install, optionally set target to
define the -t/--target-release of the package -->
...
<packagedel>packagename</packagereq>
<!-- package to apt-get purge -->
...
</packagelist>
<localdeblist>
<localdeb>/path/to/package.deb</localdeb>
<!-- this package from the host system is copied into the build directory and installed using dpkg -i. It is removed afterwards -->
</localdeblist>
<patchlist>
<patch>path/to/shellscript.sh</patch>
<!-- shell script on host system, gets copied into the root of the build directory and is executed. It is removed afterwards -->
</patchlist>
<commandlist>
<command>echo "Real Morphers idle on #morphix"</command>
<!-- shell command run in the build chroot, just before compressing -->
</commandlist>
</group>
</comps>Morphix is a modular-based liveCD, designed to be easy to modify. The package morphing-tools and morphix-mmaker contains tools to help modify and build morphix-based LiveCDs.
Dont panic. If you find one, report it to us, but please make sure you have read all of the documentation first. We have assumed that you have cloop device and have installed the packages morphing-tools and morphix-mmaker.
Written by Alex de Landgraaf and other Morphix developers. Morphix web site. Browse cvs repository[http://sourceforge.net/projects/morphix] and cvs mailing lists for full list of developers and patches submitted.
This man page was written by Brendan Sleight using asciidoc