pungi/README
jkeating@harpoon.lab.boston.redhat.com 03c1de774f Option is version not release (at least for now)
2006-11-08 20:58:41 -05:00

80 lines
2.9 KiB
Plaintext

Pungi
An anaconda based installation spin tool
This project is aimed at making a public / free tool to spin installation
trees/isos of Fedora. It will be written in python (for many obvious
reasons). Code style I hope will be of a simple "master" process that can
call any number of subprocesses depending on a configuration set.
Thoughtspace:
We'll need to do five basic tasks:
1) Gather packages from repos into a directory tree
2) Run anaconda tools (buildinstall) on said directory tree
3) Split tree into CD iso size chunks
4) Create isos of the chunks
5) Sanity check the tree
Gathering Packages
See PLAN.gather
Running Anaconda Tools
See PLAN.pungi
Split Tree Into CD Size Chunks
See PLAN.pungi
Create Isos of the Chunks
See PLAN.pungi
Sanity Check the Tree
This could/should be an ever growing set of post-tree build sanity checks.
Hopefully it'll cut down on brown paperbag trees sneaking out.
Organization
Each task set will be its own module. Work on each module can be done
independantly and hopefully once functional it should be easy to tie them
all together (one ring to bring them all, and in the darkness bind them)
pypungi/ is the python package that holds our modules
gather.py is the module for repoclosing and downloading a set of packages.
pungi.py is the module for running anaconda tools against a set of packages
and creating isos
config/ This directory holds config files that are useful for testing
functionality of the code.
pungi is the python script that makes use of the above
Making it all happen
There really is space for two tools, or something inbetween. There is the
task of creating a repo of packages multilibbed up. Think rawhide. The
second tool takes packages from said repos and makes the install and CD set.
Working on the second tool first makes sense, as it can be used today with
existing Core and Extras repos. Later, tool #1 can grow from #2.
Contributing
Currently development discussion happens at fedora-buildsys-list@redhat.com.
The source is held via mercurial:
anon - http://linux.duke.edu/projects/pungi
auth - ssh://login.linux.duke.edu//home/groups/pungi/hg/pungi
Testing
First you must have anaconda-runtime plus its deps installed.
To run pungi, currently you need root level access. This is because it has
to create loopback devices for disk images.
sudo python setup.py install
sudo pungi --comps /etc/pungi/comps.xml \
--yumconf /etc/pungi/yum.conf.x86_64 --destdir /srv/pungi \
--cachedir /srv/pungi/cache --arch x86_64 --version 6.89 \
--discs 1
Or to test it from just the hg clone:
sudo ./pungi --comps config/comps.xml \
--yumconf config/yum.conf.x86_64 --destdir /srv/pungi \
--cachedir /srv/pungi/cache --arch x86_64 --version 6.89 \
--discs 1
Of course, fill in some of your own values.