diff options
-rw-r--r-- | README | 16 | ||||
-rw-r--r-- | configurations.yaml | 68 | ||||
-rw-r--r-- | custom/part/custom | 2 | ||||
-rw-r--r-- | custom/scripts/buildname.nochroot | 3 | ||||
-rw-r--r-- | custom/scripts/cleanup.post | 6 | ||||
-rw-r--r-- | custom/scripts/flash.post | 5 | ||||
-rw-r--r-- | custom/scripts/prelink.post | 4 | ||||
-rw-r--r-- | custom/scripts/rpm.post | 9 | ||||
-rw-r--r-- | custom/scripts/serial.post | 2 | ||||
-rw-r--r-- | kickstart.py | 255 | ||||
-rw-r--r-- | kickstart.pyc | bin | 8105 -> 0 bytes | |||
-rw-r--r-- | kickstart.tmpl | 61 | ||||
-rw-r--r-- | kickstarter.py | 111 | ||||
-rw-r--r-- | repos.yaml | 7 |
14 files changed, 0 insertions, 549 deletions
@@ -1,16 +0,0 @@ -Install cheetah (http://www.cheetahtemplate.org/) templating system, PyYAML. - -run make -then run: -python kickstarter.py -c <images.yaml> -r <repos.yaml> - -Example: - python kickstarter.py --configs configurations.yaml --repos repos.yaml - -Repo file: -This file contains a list of repositories to be used in the kickstart files - -Configurations file: -This file has the definition of configurations. The Configurations inherit -from platforms first then from the DEFAULT section. The image configurations -override the all other settings (in DEFAULT and platform sections). diff --git a/configurations.yaml b/configurations.yaml deleted file mode 100644 index cd94271..0000000 --- a/configurations.yaml +++ /dev/null @@ -1,68 +0,0 @@ -Default: - Active: True - Language: en_US.UTF-8 - Keyboard: us - PackageArgs: - SaveRepos: False - Timezone: America/New_York - RootPass: meego - DefaultUser: meego - DefaultUserPass: meego - PartSize: 1900 - PostScripts: - - rpm - Groups: - - MeeGo Core - - X Window System - -CORE: - PartSize: 1000 - BootloaderAppend: "quiet" - BootloaderTimeout: 0 - PostScripts: - - cleanup - Repos: - - meego-core-1.0 - Kernel: kernel-netbook - -NETBOOK: - PartSize: 1900 - BootloaderAppend: "quiet" - BootloaderTimeout: 0 - PostScripts: - - cleanup - - flash - Groups: - - X for Netbooks - - Virtual Machine Support - - Printing - - Games - Kernel: kernel-netbook - Repos: - - adobe - - meego-core-1.0 - - meego-netbook-1.0 - PostScripts: - - prelink - ExtraPackages: - - gdb - - flash-plugin - - adobe-release -Configurations: - - Name: MeeGo Core 1.0 - Active: True - Baseline: 1.0 - Platform: CORE - FileName: core - Desktop: - - Name: MeeGo Netbook/Nettop 1.0 - Active: True - Baseline: 1.0 - Platform: NETBOOK - Desktop: meego - FileName: netbook - Groups: - - MeeGo Netbook Desktop - Repos: - - meego-core-1.0 - - meego-netbook-1.0 diff --git a/custom/part/custom b/custom/part/custom deleted file mode 100644 index d6c8b6b..0000000 --- a/custom/part/custom +++ /dev/null @@ -1,2 +0,0 @@ -part / --size 1300 --ondisk sda --grow --maxsize=1450 --fstype=ext3 -#part /home --size 1000 --grow --maxsize=1450 --ondisk sdb --fstype=ext3 diff --git a/custom/scripts/buildname.nochroot b/custom/scripts/buildname.nochroot deleted file mode 100644 index edd20a7..0000000 --- a/custom/scripts/buildname.nochroot +++ /dev/null @@ -1,3 +0,0 @@ -if [ -n "$IMG_NAME" ]; then - echo "BUILD: $IMG_NAME" >> $INSTALL_ROOT/etc/meego-release -fi diff --git a/custom/scripts/cleanup.post b/custom/scripts/cleanup.post deleted file mode 100644 index c36c2e4..0000000 --- a/custom/scripts/cleanup.post +++ /dev/null @@ -1,6 +0,0 @@ - -# save a little bit of space at least... -rm -f /boot/initrd* - -# make sure there aren't core files lying around -rm -f /core* diff --git a/custom/scripts/flash.post b/custom/scripts/flash.post deleted file mode 100644 index fe062d3..0000000 --- a/custom/scripts/flash.post +++ /dev/null @@ -1,5 +0,0 @@ -# verify link of flash plugin -if [ -f /usr/lib/flash-plugin/setup ]; then - sh /usr/lib/flash-plugin/setup install - rm -f /root/oldflashplugins.tar.gz -fi diff --git a/custom/scripts/prelink.post b/custom/scripts/prelink.post deleted file mode 100644 index 527548c..0000000 --- a/custom/scripts/prelink.post +++ /dev/null @@ -1,4 +0,0 @@ -# Prelink can reduce boot time -if [ -x /usr/sbin/prelink ]; then - /usr/sbin/prelink -aRqm -fi diff --git a/custom/scripts/rpm.post b/custom/scripts/rpm.post deleted file mode 100644 index 1e4049e..0000000 --- a/custom/scripts/rpm.post +++ /dev/null @@ -1,9 +0,0 @@ -# work around for poor key import UI in PackageKit -rm -f /var/lib/rpm/__db* -rpm --rebuilddb -if [ -f /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux ]; then - rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux -fi -if [ -f /etc/pki/rpm-gpg/RPM-GPG-KEY-meego ]; then - rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-meego -fi diff --git a/custom/scripts/serial.post b/custom/scripts/serial.post deleted file mode 100644 index 5961379..0000000 --- a/custom/scripts/serial.post +++ /dev/null @@ -1,2 +0,0 @@ -# open serial line console for embedded system -echo "s0:235:respawn:/sbin/agetty -L 115200 ttyS0 vt100" >> /etc/inittab diff --git a/kickstart.py b/kickstart.py deleted file mode 100644 index a9af541..0000000 --- a/kickstart.py +++ /dev/null @@ -1,255 +0,0 @@ -#!/usr/bin/env python - - - - -################################################## -## DEPENDENCIES -import sys -import os -import os.path -import __builtin__ -from os.path import getmtime, exists -import time -import types -from Cheetah.Version import MinCompatibleVersion as RequiredCheetahVersion -from Cheetah.Version import MinCompatibleVersionTuple as RequiredCheetahVersionTuple -from Cheetah.Template import Template -from Cheetah.DummyTransaction import * -from Cheetah.NameMapper import NotFound, valueForName, valueFromSearchList, valueFromFrameOrSearchList -from Cheetah.CacheRegion import CacheRegion -import Cheetah.Filters as Filters -import Cheetah.ErrorCatchers as ErrorCatchers - -################################################## -## MODULE CONSTANTS -VFFSL=valueFromFrameOrSearchList -VFSL=valueFromSearchList -VFN=valueForName -currentTime=time.time -__CHEETAH_version__ = '2.2.2' -__CHEETAH_versionTuple__ = (2, 2, 2, 'final', 0) -__CHEETAH_genTime__ = 1273202421.2641661 -__CHEETAH_genTimestamp__ = 'Thu May 6 23:20:21 2010' -__CHEETAH_src__ = 'kickstart.tmpl' -__CHEETAH_srcLastModified__ = 'Thu May 6 22:51:32 2010' -__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine' - -if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple: - raise AssertionError( - 'This template was compiled with Cheetah version' - ' %s. Templates compiled before version %s must be recompiled.'%( - __CHEETAH_version__, RequiredCheetahVersion)) - -################################################## -## CLASSES - -class kickstart(Template): - - ################################################## - ## CHEETAH GENERATED METHODS - - - def __init__(self, *args, **KWs): - - super(kickstart, self).__init__(*args, **KWs) - if not self._CHEETAH__instanceInitialized: - cheetahKWArgs = {} - allowedKWs = 'searchList namespaces filter filtersLib errorCatcher'.split() - for k,v in KWs.items(): - if k in allowedKWs: cheetahKWArgs[k] = v - self._initCheetahInstance(**cheetahKWArgs) - - - def respond(self, trans=None): - - - - ## CHEETAH: main method generated for this template - if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)): - trans = self.transaction # is None unless self.awake() was called - if not trans: - trans = DummyTransaction() - _dummyTrans = True - else: _dummyTrans = False - write = trans.response().write - SL = self._CHEETAH__searchList - _filter = self._CHEETAH__currentFilter - - ######################################## - ## START - generated method body - - write(u'''# -# Do not Edit! Generated by: -# kickstarter.py -# - -lang ''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Language",True) # u'${metadata.Language}' on line 6, col 6 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.Language}')) # from line 6, col 6. - write(u''' -keyboard ''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Keyboard",True) # u'${metadata.Keyboard}' on line 7, col 10 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.Keyboard}')) # from line 7, col 10. - write(u''' -timezone --utc ''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Timezone",True) # u'${metadata.Timezone}' on line 8, col 16 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.Timezone}')) # from line 8, col 16. - write(u''' -auth --useshadow --enablemd5 -''') - if VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Part",True) == "": # generated from line 10, col 1 - write(u'''part / --size ''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.PartSize",True) # u'${metadata.PartSize}' on line 11, col 15 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.PartSize}')) # from line 11, col 15. - write(u''' --ondisk sda --fstype=ext3 -''') - else: # generated from line 12, col 1 - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Part",True) # u'${metadata.Part}' on line 13, col 1 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.Part}')) # from line 13, col 1. - write(u''' -''') - write(u'''rootpw ''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.RootPass",True) # u'${metadata.RootPass}' on line 15, col 8 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.RootPass}')) # from line 15, col 8. - write(u''' -xconfig --startxonboot -bootloader --timeout=''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.BootloaderTimeout",True) # u'${metadata.BootloaderTimeout}' on line 17, col 22 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.BootloaderTimeout}')) # from line 17, col 22. - write(u''' --append="''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.BootloaderAppend",True) # u'${metadata.BootloaderAppend}' on line 17, col 62 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.BootloaderAppend}')) # from line 17, col 62. - write(u'''" -desktop --autologinuser=''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.DefaultUser",True) # u'${metadata.DefaultUser}' on line 18, col 25 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.DefaultUser}')) # from line 18, col 25. - write(u''' --defaultdesktop=''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Desktop",True) # u'${metadata.Desktop}' on line 18, col 67 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.Desktop}')) # from line 18, col 67. - write(u''' -user --name ''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.DefaultUser",True) # u'${metadata.DefaultUser}' on line 19, col 13 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.DefaultUser}')) # from line 19, col 13. - write(u''' --groups audio,video --password ''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.DefaultUserPass",True) # u'${metadata.DefaultUserPass}' on line 19, col 70 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.DefaultUserPass}')) # from line 19, col 70. - write(u''' - -''') - save = "" - if VFSL([locals()]+SL+[globals(), __builtin__],"metadata.SaveRepos",True): # generated from line 22, col 1 - save = "--save" - for r in VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Repos",True): # generated from line 25, col 1 - for rr in VFSL([locals()]+SL+[globals(), __builtin__],"repos",True): # generated from line 26, col 1 - if VFSL([locals()]+SL+[globals(), __builtin__],"rr.Name",True) == VFSL([locals()]+SL+[globals(), __builtin__],"r",True): # generated from line 27, col 1 - write(u'''repo --name=''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"r",True) # u'${r}' on line 28, col 15 - if _v is not None: write(_filter(_v, rawExpr=u'${r}')) # from line 28, col 15. - write(u''' --baseurl=''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"rr.Url",True) # u'${rr.Url}' on line 28, col 30 - if _v is not None: write(_filter(_v, rawExpr=u'${rr.Url}')) # from line 28, col 30. - write(u''' ''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"save",True) # u'${save}' on line 28, col 40 - if _v is not None: write(_filter(_v, rawExpr=u'${save}')) # from line 28, col 40. - write(u''' -''') - write(u''' - -''') - if VFSL([locals()]+SL+[globals(), __builtin__],"metadata.PackageArgs",True) != "": # generated from line 34, col 1 - write(u'''%packages ''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.PackageArgs",True) # u'${metadata.PackageArgs}' on line 35, col 11 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.PackageArgs}')) # from line 35, col 11. - write(u''' -''') - else: # generated from line 36, col 1 - write(u'''%packages -''') - write(u''' -''') - for g in VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Groups",True): # generated from line 40, col 1 - write(u'''@''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"g",True) # u'${g}' on line 41, col 2 - if _v is not None: write(_filter(_v, rawExpr=u'${g}')) # from line 41, col 2. - write(u''' -''') - write(u''' - -''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Kernel",True) # u'$metadata.Kernel' on line 45, col 1 - if _v is not None: write(_filter(_v, rawExpr=u'$metadata.Kernel')) # from line 45, col 1. - write(u''' - -''') - for e in VFSL([locals()]+SL+[globals(), __builtin__],"metadata.ExtraPackages",True): # generated from line 47, col 1 - _v = VFSL([locals()]+SL+[globals(), __builtin__],"e",True) # u'${e}' on line 48, col 1 - if _v is not None: write(_filter(_v, rawExpr=u'${e}')) # from line 48, col 1. - write(u''' -''') - for e in VFSL([locals()]+SL+[globals(), __builtin__],"metadata.RemovePackages",True): # generated from line 50, col 1 - write(u'''-''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"e",True) # u'${e}' on line 51, col 2 - if _v is not None: write(_filter(_v, rawExpr=u'${e}')) # from line 51, col 2. - write(u''' -''') - write(u'''%end - -%post -''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.Post",True) # u'${metadata.Post}' on line 56, col 1 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.Post}')) # from line 56, col 1. - write(u''' -%end - -%post --nochroot -''') - _v = VFSL([locals()]+SL+[globals(), __builtin__],"metadata.NoChroot",True) # u'${metadata.NoChroot}' on line 60, col 1 - if _v is not None: write(_filter(_v, rawExpr=u'${metadata.NoChroot}')) # from line 60, col 1. - write(u''' -%end -''') - - ######################################## - ## END - generated method body - - return _dummyTrans and trans.response().getvalue() or "" - - ################################################## - ## CHEETAH GENERATED ATTRIBUTES - - - _CHEETAH__instanceInitialized = False - - _CHEETAH_version = __CHEETAH_version__ - - _CHEETAH_versionTuple = __CHEETAH_versionTuple__ - - _CHEETAH_genTime = __CHEETAH_genTime__ - - _CHEETAH_genTimestamp = __CHEETAH_genTimestamp__ - - _CHEETAH_src = __CHEETAH_src__ - - _CHEETAH_srcLastModified = __CHEETAH_srcLastModified__ - - _mainCheetahMethod_for_kickstart= 'respond' - -## END CLASS DEFINITION - -if not hasattr(kickstart, '_initCheetahAttributes'): - templateAPIClass = getattr(kickstart, '_CHEETAH_templateClass', Template) - templateAPIClass._addCheetahPlumbingCodeToClass(kickstart) - - -# CHEETAH was developed by Tavis Rudd and Mike Orr -# with code, advice and input from many other volunteers. -# For more information visit http://www.CheetahTemplate.org/ - -################################################## -## if run from command line: -if __name__ == '__main__': - from Cheetah.TemplateCmdLineIface import CmdLineIface - CmdLineIface(templateObj=kickstart()).run() - - diff --git a/kickstart.pyc b/kickstart.pyc Binary files differdeleted file mode 100644 index 1d36785..0000000 --- a/kickstart.pyc +++ /dev/null diff --git a/kickstart.tmpl b/kickstart.tmpl deleted file mode 100644 index 8a6fed3..0000000 --- a/kickstart.tmpl +++ /dev/null @@ -1,61 +0,0 @@ -# ############################################## -# Do not Edit! Generated by: -# kickstarter.py -# ############################################### - -lang ${metadata.Language} -keyboard ${metadata.Keyboard} -timezone --utc ${metadata.Timezone} -auth --useshadow --enablemd5 -#if $metadata.Part == "" -part / --size ${metadata.PartSize} --ondisk sda --fstype=ext3 -#else -${metadata.Part} -#end if -rootpw ${metadata.RootPass} -xconfig --startxonboot -bootloader --timeout=${metadata.BootloaderTimeout} --append="${metadata.BootloaderAppend}" -desktop --autologinuser=${metadata.DefaultUser} --defaultdesktop=${metadata.Desktop} -user --name ${metadata.DefaultUser} --groups audio,video --password ${metadata.DefaultUserPass} - -#set $save = "" -#if $metadata.SaveRepos -#set $save = "--save" -#end if -#for $r in $metadata.Repos -#for $rr in $repos -#if $rr.Name == $r -repo --name=${r} --baseurl=${rr.Url} ${save} -#end if -#end for -#end for - - -#if $metadata.PackageArgs != "" -%packages ${metadata.PackageArgs} -#else -%packages -#end if - -#for $g in $metadata.Groups -@${g} -#end for - - -$metadata.Kernel - -#for $e in $metadata.ExtraPackages -${e} -#end for -#for $e in $metadata.RemovePackages --${e} -#end for -%end - -%post -${metadata.Post} -%end - -%post --nochroot -${metadata.NoChroot} -%end diff --git a/kickstarter.py b/kickstarter.py deleted file mode 100644 index b1cad01..0000000 --- a/kickstarter.py +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/python -# Anas Nashif <anas.nashif@intel.com> -import yaml, sys - -import re, os -from kickstart import kickstart - -import copy -import time -import optparse -from time import gmtime, strftime - -class KSWriter(): - def __init__(self, im, rep, out): - self.image_filename = im - self.repo_filename = rep - self.outdir = out - self.image_stream = file(self.image_filename, 'r') - self.repo_stream = file(self.repo_filename, 'r') - self.extra = {} - pass - def merge(*input): - return list(reduce(set.union, input, set())) - - def dump(self): - print yaml.dump(yaml.load(self.stream)) - - - def parse(self, img): - print "Creating %s (%s.ks)" %(img['Name'], img['FileName'] ) - conf = copy.copy(image_meta['Default']) - plat = copy.copy(image_meta[img['Platform']]) - conf.update(plat) - conf.update(img) - lval = ['Repos', 'Groups', 'PostScripts', 'NoChrootScripts', 'RemovePackages', 'ExtraPackages'] - lvald = {} - for l in lval: - full = [] - if image_meta['Default'].has_key(l) and image_meta['Default'][l]: - full = full + image_meta['Default'][l] - if plat.has_key(l) and plat[l]: - full = full + plat[l] - if img.has_key(l) and img[l]: - full = full + img[l] - lvald[l] = set(full) - #print full - conf.update(lvald) - #print conf - postscript = "" - for scr in conf['PostScripts']: - f = open('./custom/scripts/%s.post' %scr, 'r') - postscript += f.read() - postscript += "\n\n" - f.close() - - nochrootscript = "" - for scr in conf['NoChrootScripts']: - f = open('./custom/scripts/%s.nochroot' %scr, 'r') - nochrootscript += f.read() - nochrootscript += "\n\n" - f.close() - - ptab = "" - if img.has_key("Part"): - f = open("./custom/part/%s" %img['Part'] ) - ptab = f.read() - f.close() - - conf['Part'] = ptab - conf['Post'] = postscript - conf['NoChroot'] = nochrootscript - return conf - - def process_files(self, meta, r): - nameSpace = {'metadata': meta, 'repos': r} - t = kickstart(searchList=[nameSpace]) - a = str(t) - if meta.has_key('FileName') and meta['FileName']: - f = open("%s/%s.ks" %( self.outdir, meta['FileName'] ), 'w') - f.write(a) - f.close() - -if __name__ == '__main__': - parser = optparse.OptionParser() - - parser.add_option("-c", "--configs", type="string", dest="configsfile", - help="configuration meta file") - parser.add_option("-o", "--outdir", type="string", dest="outdir", - help="outdir") - parser.add_option("-r", "--repos", type="string", dest="repofile", - help="repo meta file") - - (options, args) = parser.parse_args() - - if options.configsfile is None or options.repofile is None: - print "you need to provide meta files with --configs and --repos" - sys.exit(1) - - outdir = "" - if options.outdir is None: - outdir = "." - else: - outdir = options.outdir - - ks = KSWriter(options.configsfile, options.repofile, outdir) - repo_meta = yaml.load(ks.repo_stream) - image_meta = yaml.load(ks.image_stream) - r = repo_meta['Repositories'] - for img in image_meta['Configurations']: - conf = ks.parse(img) - ks.process_files(conf, r) diff --git a/repos.yaml b/repos.yaml deleted file mode 100644 index 4627c50..0000000 --- a/repos.yaml +++ /dev/null @@ -1,7 +0,0 @@ -Repositories: - - Name: meego-core-1.0 - Url: http://repo.meego.com/MeeGo/release/1.0/core/repo/ia32/os/ - - Name: meego-netbook-1.0 - Url: http://repo.meego.com - - Name: adobe - Url: http://linuxdownload.adobe.com/linux/i386/ |