Add a flavor config option for output

Move some stuff further into the work dir
ensure that the workdir exists
This commit is contained in:
jkeating@reducto.boston.redhat.com 2007-01-24 23:42:40 -05:00 committed by Jesse Keating
parent c8bd7b29a5
commit 2b6f765f31
6 changed files with 32 additions and 10 deletions

View File

@ -1,4 +1,6 @@
* Tue Jan 23 2007 Jesse Keating <jkeating@redhat.com>
- 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

4
pungi
View File

@ -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)

View File

@ -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 <jkeating@redhat.com> - 0.2.1-1
- Add a "flavor" option (such as Desktop)
- Move packageorder file into workdir
* Wed Jan 24 2007 Jesse Keating <jkeating@redhat.com> - 0.2.0-1
- Now use a manifest to determine what to pull in, not comps itself
- Add a minimal-manifest for test composes

View File

@ -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)

View File

@ -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'),

View File

@ -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',