ModuleMaker

From MorphixWiki

Jump to: navigation, search

tabovigetl trliallaroal HomePage -> MorphixDevel

Contents

[edit] What is mmaker?

mmaker allows users to autobuild Morphix modules from scratch, using simple xmlified template files.

Want to check out what mmaker can create? Take a look at http://www.morphix.org/autobuilds for daily modules and ISO's!

[edit] How do I make/install mmaker?

- make - make install

Yeah, we love complicating stuff. No autoconf/make as of yet though. Grab the latest .deb package if you don't enjoy CVS.

[edit] How do I use mmaker?

mmaker configfile.xml output.mod

When working with basemod templates:

mmaker -m /my/livecd/boot/miniroot.gz -k /my/livecd/boot/vmlinuz basemod.xml /my/livecd/base/morphix

[edit] Where can I get it?

Either get it from CVS (see http://sourceforge.net/cvs/?group_id=71814 for details), or grab the debian package from http://www.morphix.org/debian

preconfigured xml config files you find in /usr/share/mmaker/templates after mmaker install

[edit] What is its status?

Base and Mainmodules are easily buildable, and IsoMaker currently performs reasonably well in creating combined ISOs. Mostly the success or failure of a build depends on the quality of the (debian) package repository. Use Sarge/testing if you don't enjoy messing around with sid. As of now 4 or 5 templates are available.

[edit] What will it do?

It makes a directory in /tmp, where it debootstraps a plain debian install. It then just installs all packages in the list, after adding the included repositories. It compresses the temporary directory afterwards, but doesn't throw it away in the case that you would want to make some small tweaks. Building is non-interactive, so you can do useful stuff elsewhere while it's busy.

[edit] Why only debian packages?

Why not?

Okay, we might include script/patch-based additional building, but it's just neater to have everything as .deb's. Plus, we give (other) Custom Debian Distributions the chance to easily make livecds themselves from their ready-made package lists. You have a high-level control on what goes into your livecd, depending on which repositories and which packages you choose.

[edit] How does it handle initialization of a module at runtime?

The /morphix/init* scripts too are in the process of being debianified, light and gnome already are there.



Commandline options

- -g debootstrap.tar.gz - -b debootstrap.tar.bzip2 - -d /some/debootstrapped/directory - -t /some/temp/directory - -m miniroot.gz (type=basemod only) - -k vmlinuz (type=basemod only)



[edit] Example template/xml files

see templates/ directory

[edit] Layout of template/xml file

This might be slightly un-morphix like, but we've derived it from CL in the hopes of having something compatible. DTD/Relax NG might be added in the future. Might not. Might hack together a webinterface to easily build one of them. Should do that, yups.

-<comps> -<group> -<id>uniquename</id> -<name>Readable one-line name</name> -<version>anything</version> (note: might also have a build-version in the future?) -<repositorylist> -<repository type='debian||plain'>url-to-repository</repository> -... -</repositorylist> -<description>multi-line description</description> -<type>mainmod||basemod||minimod</type> (note: only main and base do something) -<suite>woody||sarge||sid</suite> (stable||testing||unstable?) -<packagelist> -<packagereq>packagename1</packagereg> -... -</packagelist> -</group> -</comps>


[edit] Auxiliary tools

see util/ directory for conversion tools

- dpkglist-to-txt.pl Converts dpkg -l output to a newline separated file - plist-to-xml.pl Converts newline separated file to a configfile for mmaker

[edit] TODO - TodoBase TodoMain

Lots, see the accompanying todo file - check if all packages are actually installed afterwards (--verify)

[edit] Related Projects

- IntelliBuild - MetaDistros: http://www.hispalinux.es:8080/svn/metadistros/ - dfsbuild: http://people.debian.org/~jgoerzen/dfs/ - mklivecd-mandrake: http://www.linuxminicd.org/mklivecd/ - mklivecd-debian (dead): http://sourceforge.net/projects/mklivecd/

[edit] From Debootstrap

- http://debian.tu-bs.de/knoppix/debian/knoppix-autoconfig/

Personal tools