[Server-devel] Pungi minimal installer, comps.xml trick

Jerry Vonau jvonau at shaw.ca
Wed Aug 27 09:32:45 EDT 2008


Martin Langhoff wrote:
> Playing with a minimal Pungi kickstart file I get an install CD of
> about 500MB. If I add the xs-pkgs dependencies, things balloon to
> 759MB, no longer fitting in a CD. My guess is that a good 1/3 of that
> is related to the graphical installer and related dependencies which
> we don't want on the installed CD.
> 
> It's not a complete deal breaker, but I prefer to distribute images
> that are small, and ideally fit on 1 CD.
> 
> Jerry, you mentioned that fiddling with comps.xml was an option? How
> do you do that? ;-)
> 
> This is how I am building the F9 XS images -
> 
> sudo pungi -c kickstarts/pungi-f9-minimal.ks --nosource --name XS
> --ver=0.5dev --force --discs=1 --nosplitmedia
> 
> And pungi-f9-minimal.ks contains...
> 
> ## These are public repos
> repo --name=release
> --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-9&arch=$basearch
> repo --name=olpc7 --baseurl=ttp://fedora.laptop.org/xs/testing/olpc/7/i386
> repo --name=olpc9 --baseurl=http://fedora.laptop.org/xs/testing/olpc/9/i386
> 
> ## I actually use these local copies :-)
> #repo --name=fedora --baseurl=file:///media/disk/xs/releases/9/Fedora/i386/os/
> #repo --name=everything
> --baseurl=file:///media/disk/xs/releases/9/Everything/i386/os/
> #repo --name=olpc7 --baseurl=file:///xsrepos/testing/olpc/7/i386/
> #repo --name=olpc9 --baseurl=http://fedora.laptop.org/xs/testing/olpc/9/i386
> 
> %packages --nobase
> #@core
> bash
> kernel
> passwd
> policycoreutils
> chkconfig
> authconfig
> rootfiles
> anaconda-runtime
> #-gnome*
> #-cairo
> #-xorg-x11-server-Xorg
> 
> xs-config
> xs-pkgs
> 
> %end
> 
> cheers,


The comps.xml file can be found in the yum repo's repodata directory, 
just gz'd. Extract that file and edit the lines that you want to change.

<packagereq type="mandatory">PACKAGENAME</packagereq>
<packagereq type="default">PACKAGENAME</packagereq>
<packagereq type="optional">PACKAGENAME</packagereq>

the type mandatory, default, optional, control what gets installed. I 
mass change all the default to optional. Yum still pulls in all the 
deps, unless there is a broken dep in a rpm, so things should still 
still work, just what gets selected is much smaller. Need to have a 
package installed, add that one to the kickstart file. Now tell 
createrepo to use it with the -g option or point pungi it.

Jerry




More information about the Server-devel mailing list