diff --git a/Changelog b/Changelog index 78f2e02a..05ea36f6 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,6 @@ * Tue Jan 23 2007 Jesse Keating +- Add a "flavor" option (such as Desktop) +- Move packageorder file into workdir - Now use a manifest to determine what to pull in, not comps itself - Add a minimal-manifest for test composes - Add current F7 comps file for test composes diff --git a/pungi b/pungi index 5ebaae11..51ab2095 100755 --- a/pungi +++ b/pungi @@ -23,6 +23,7 @@ def main(): # Set some default variables, can be overrided in config file # Turn this into a dict someday, to iterate over when setting defaults + flavor = "" osdir = "os" sourcedir = "source" debugdir = "debug" @@ -36,6 +37,9 @@ def main(): config = SafeConfigParser() config.read(opts.config) + if not config.has_option('default', 'flavor'): + config.set('default', 'flavor', flavor) + if not config.has_option('default', 'osdir'): config.set('default', 'osdir', osdir) diff --git a/pungi.spec b/pungi.spec index 306d2a60..87d6b2e2 100644 --- a/pungi.spec +++ b/pungi.spec @@ -1,7 +1,7 @@ %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} Name: pungi -Version: 0.2.0 +Version: 0.2.1 Release: 1%{?dist} Summary: Distribution compose tool @@ -46,6 +46,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Jan 24 2007 Jesse Keating - 0.2.1-1 +- Add a "flavor" option (such as Desktop) +- Move packageorder file into workdir + * Wed Jan 24 2007 Jesse Keating - 0.2.0-1 - Now use a manifest to determine what to pull in, not comps itself - Add a minimal-manifest for test composes diff --git a/pypungi/gather.py b/pypungi/gather.py index 6b60f03f..ead5c626 100755 --- a/pypungi/gather.py +++ b/pypungi/gather.py @@ -159,7 +159,9 @@ class Gather(yum.YumBase): # Package location within destdir, name subject to change/config pkgdir = os.path.join(self.config.get('default', 'destdir'), self.config.get('default', 'version'), - self.config.get('default', 'arch'), self.config.get('default', 'osdir'), + self.config.get('default', 'flavor'), + self.config.get('default', 'arch'), + self.config.get('default', 'osdir'), self.config.get('default', 'product_path')) if not os.path.exists(pkgdir): @@ -223,7 +225,7 @@ class Gather(yum.YumBase): # do the downloads pkgdir = os.path.join(self.config.get('default', 'destdir'), self.config.get('default', 'version'), - 'source', 'SRPMS') + self.config.get('default', 'flavor'), 'source', 'SRPMS') if not os.path.exists(pkgdir): os.makedirs(pkgdir) diff --git a/pypungi/pungi.py b/pypungi/pungi.py index 2c9573f7..7852425f 100755 --- a/pypungi/pungi.py +++ b/pypungi/pungi.py @@ -25,12 +25,18 @@ class Pungi: self.prodpath = 'Fedora' # Probably should be defined elsewhere self.archdir = os.path.join(self.config.get('default', 'destdir'), self.config.get('default', 'version'), + self.config.get('default', 'flavor'), self.config.get('default', 'arch')) self.topdir = os.path.join(self.archdir, 'os') self.workdir = os.path.join(self.config.get('default', 'destdir'), 'work', + self.config.get('default', 'flavor'), self.config.get('default', 'arch')) + + if not os.path.exists(self.workdir): + os.makedirs(self.workdir) + self.common_files = [] @@ -46,7 +52,7 @@ class Pungi: def doPackageorder(self): os.system('/usr/lib/anaconda-runtime/pkgorder %s %s %s > %s' % (self.topdir, self.config.get('default', 'arch'), - self.config.get('default', 'product_path'), os.path.join(self.config.get('default', 'destdir'), + self.config.get('default', 'product_path'), os.path.join(self.workdir, 'pkgorder-%s' % self.config.get('default', 'arch')))) def doGetRelnotes(self): @@ -100,7 +106,7 @@ class Pungi: timber.bin_discs = self.config.getint('default', 'discs') timber.src_discs = 0 timber.release_str = '%s %s' % (self.config.get('default', 'product_name'), self.config.get('default', 'version')) - timber.package_order_file = os.path.join(self.config.get('default', 'destdir'), 'pkgorder-%s' % self.config.get('default', 'arch')) + timber.package_order_file = os.path.join(self.workdir, 'pkgorder-%s' % self.config.get('default', 'arch')) timber.dist_dir = self.topdir timber.src_dir = os.path.join(self.config.get('default', 'destdir'), self.config.get('default', 'version'), 'source', 'SRPMS') timber.product_path = self.config.get('default', 'product_path') @@ -119,10 +125,14 @@ class Pungi: timber.src_discs = self.config.getint('default', 'discs') #timber.release_str = '%s %s' % (self.config.get('default', 'product_name'), self.config.get('default', 'version')) #timber.package_order_file = os.path.join(self.config.get('default', 'destdir'), 'pkgorder-%s' % self.config.get('default', 'arch')) - timber.dist_dir = os.path.join(self.config.get('default', 'destdir'), - self.config.get('default', 'version'), + timber.dist_dir = os.path.join(self.config.get('default', 'destdir'), + self.config.get('default', 'version'), + self.config.get('default', 'flavor'), 'source', 'SRPM') - timber.src_dir = os.path.join(self.config.get('default', 'destdir'), self.config.get('default', 'version'), 'source', 'SRPMS') + timber.src_dir = os.path.join(self.config.get('default', 'destdir'), + self.config.get('default', 'version'), + self.config.get('default', 'flavor'), + 'source', 'SRPMS') #timber.product_path = self.config.get('default', 'product_path') #timber.reserve_size = # Set this ourselves, for creating our dirs ourselves @@ -155,7 +165,7 @@ class Pungi: ia64bootargs = '-b images/boot.img -no-emul-boot' ppcbootargs = '-part -hfs -r -l -sysid PPC -hfs-bless "./ppc/mac" -map %s -magic %s -no-desktop -allow-multidot -chrp-boot' % (os.path.join(anaruntime, 'mapping'), os.path.join(anaruntime, 'magic')) isodir = os.path.join(self.config.get('default', 'destdir'), self.config.get('default', 'version'), - self.config.get('default', 'arch'), self.config.get('default', 'isodir')) + self.config.get('default', 'flavor'), self.config.get('default', 'arch'), self.config.get('default', 'isodir')) os.makedirs(isodir) for disc in range(1, self.config.getint('default', 'discs') + 1): # cycle through the CD isos volname = '"%s %s %s Disc %s"' % (self.config.get('default', 'product_name'), self.config.get('default', 'version'), diff --git a/setup.py b/setup.py index 9b7bbeac..fcc8d80b 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from distutils.core import setup import glob setup(name='pungi', - version='0.2.0', + version='0.2.1', description='Distribution compose tool', author='Jesse Keating', author_email='jkeating@redhat.com',