65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.4 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)
 | |
| 
 | |
|   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
 | |
|   tests/ This directory holds some files that are useful for testing
 | |
|          functionality of the code.
 | |
| 
 | |
| 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
 | |
| 
 | |
|   To run pungi, currently you need root level access.  This is because it has
 | |
|   to create loopback devices for disk images.
 | |
|   
 | |
|     sudo ./__init__.py --comps tests/comps.xml \
 | |
|          --yumconf tests/yum.conf.x86_64 --destdir /srv/pungi \
 | |
|          --cachedir /srv/pungi/cache --arch x86_64
 | |
| 
 | |
|   Of course, fill in some of your own values.
 | 
