Some small fixes

This commit is contained in:
Martin Gracik 2009-09-09 12:43:00 +02:00
parent 44ce6ea3e0
commit 7f28c28e6f
3 changed files with 35 additions and 40 deletions

View File

@ -95,7 +95,7 @@ class Lorax(object):
def run(self): def run(self):
bold = ('\033[1m', '\033[0m') bold = ('\033[1m', '\033[0m')
print("%sCollecting repos%s" % bold) print("%s:: Collecting repos%s" % bold)
self.collect_repos() self.collect_repos()
# check if we have at least one valid repository # check if we have at least one valid repository
@ -103,44 +103,44 @@ class Lorax(object):
sys.stderr.write("ERROR: No valid repository\n") sys.stderr.write("ERROR: No valid repository\n")
sys.exit(1) sys.exit(1)
print("%sInitializing temporary directories%s" % bold) print("%s:: Initializing temporary directories%s" % bold)
self.init_dirs() self.init_dirs()
print("%sInitializing yum%s" % bold) print("%s:: Initializing yum%s" % bold)
self.init_yum() self.init_yum()
print("%sSetting build architecture%s" % bold) print("%s:: Setting build architecture%s" % bold)
self.set_buildarch() self.set_buildarch()
print("%sWriting .treeinfo%s" % bold) print("%s:: Writing .treeinfo%s" % bold)
self.write_treeinfo() self.write_treeinfo()
print("%sWriting .discinfo%s" % bold) print("%s:: Writing .discinfo%s" % bold)
self.write_discinfo() self.write_discinfo()
print("%sPreparing the install tree%s" % bold) print("%s:: Preparing the install tree%s" % bold)
self.prepare_treedir() self.prepare_treedir()
print("%sScrubbing the install tree%s" % bold) print("%s:: Scrubbing the install tree%s" % bold)
self.scrub_treedir() self.scrub_treedir()
print("%sWriting .buildstamp%s" % bold) print("%s:: Writing .buildstamp%s" % bold)
self.write_buildstamp() self.write_buildstamp()
print("%sInitializing output directories%s" % bold) print("%s:: Initializing output directories%s" % bold)
self.init_outputdirs() self.init_outputdirs()
print("%sCreating the initrd.img%s" % bold) print("%s:: Creating the initrd image%s" % bold)
self.create_initrd() self.create_initrd()
print("%sCreating the install.img%s" % bold) print("%s:: Creating the install image%s" % bold)
#self.create_installimg() self.create_installimg()
print("%sCreating the boot.iso%s" % bold) print("%s:: Creating the boot image%s" % bold)
#self.create_bootiso() self.create_bootiso()
if self.conf.cleanup: if self.conf.cleanup:
print("%sCleaning up%s" % bold) print("%s::Cleaning up%s" % bold)
self.clean_up() self.clean_up()
def collect_repos(self): def collect_repos(self):
@ -173,23 +173,26 @@ class Lorax(object):
treedir = os.path.join(self.conf.tempdir, 'treedir', 'install') treedir = os.path.join(self.conf.tempdir, 'treedir', 'install')
os.makedirs(treedir) os.makedirs(treedir)
cachedir = os.path.join(self.conf.tempdir, 'yumcache')
os.makedirs(cachedir)
initrddir = os.path.join(self.conf.tempdir, 'initrddir') initrddir = os.path.join(self.conf.tempdir, 'initrddir')
os.makedirs(initrddir) os.makedirs(initrddir)
efitreedir = os.path.join(self.conf.tempdir, 'EFI', 'BOOT')
os.makedirs(efitreedir)
print("Working directories:") print("Working directories:")
print(" tempdir = %s" % self.conf.tempdir) print(" tempdir = %s" % self.conf.tempdir)
print(" treedir = %s" % treedir) print(" treedir = %s" % treedir)
print(" cachedir = %s" % cachedir)
print(" initrddir = %s" % initrddir) print(" initrddir = %s" % initrddir)
print(" efitreedir = %s" % efitreedir)
self.conf.addAttr(['treedir', 'cachedir', 'initrddir']) self.conf.addAttr(['treedir', 'initrddir', 'efitreedir'])
self.conf.set(treedir=treedir, cachedir=cachedir, initrddir=initrddir) self.conf.set(treedir=treedir, initrddir=initrddir, efitreedir=efitreedir)
def init_yum(self): def init_yum(self):
yumconf = os.path.join(self.conf.tempdir, 'yum.conf') yumconf = os.path.join(self.conf.tempdir, 'yum.conf')
cachedir = os.path.join(self.conf.tempdir, 'yumcache')
os.makedirs(cachedir)
try: try:
f = open(yumconf, 'w') f = open(yumconf, 'w')
except IOError as why: except IOError as why:
@ -197,7 +200,7 @@ class Lorax(object):
sys.exit(1) sys.exit(1)
else: else:
f.write('[main]\n') f.write('[main]\n')
f.write('cachedir=%s\n' % self.conf.cachedir) f.write('cachedir=%s\n' % cachedir)
f.write('keepcache=0\n') f.write('keepcache=0\n')
f.write('gpgcheck=0\n') f.write('gpgcheck=0\n')
f.write('plugins=0\n') f.write('plugins=0\n')
@ -234,7 +237,7 @@ class Lorax(object):
err_file=err_file) err_file=err_file)
# remove not needed attributes # remove not needed attributes
self.conf.delAttr(['repo', 'extrarepos', 'mirrorlist', 'cachedir']) self.conf.delAttr(['repo', 'extrarepos', 'mirrorlist'])
def set_buildarch(self): def set_buildarch(self):
unamearch = os.uname()[4] unamearch = os.uname()[4]
@ -330,8 +333,8 @@ class Lorax(object):
def prepare_treedir(self): def prepare_treedir(self):
# required packages # required packages
self.yum.addPackages(['anaconda', 'anaconda-runtime', 'kernel', '*firmware*', 'syslinux', self.yum.addPackages(['anaconda', 'anaconda-runtime', 'kernel', '*firmware*',
'/etc/gtk-2.0/gtkrc']) 'syslinux', '/etc/gtk-2.0/gtkrc'])
# get packages from confdir # get packages from confdir
packages_files = [] packages_files = []
@ -749,12 +752,6 @@ class Lorax(object):
self.conf.addAttr(['imagesdir', 'pxebootdir', 'isolinuxdir']) self.conf.addAttr(['imagesdir', 'pxebootdir', 'isolinuxdir'])
self.conf.set(imagesdir=imagesdir, pxebootdir=pxebootdir, isolinuxdir=isolinuxdir) self.conf.set(imagesdir=imagesdir, pxebootdir=pxebootdir, isolinuxdir=isolinuxdir)
# create the temporary EFI tree dir
efitreedir = os.path.join(self.conf.tempdir, 'EFI', 'BOOT')
os.makedirs(efitreedir)
self.conf.addAttr('efitreedir')
self.conf.set(efitreedir=efitreedir)
# write the images/README # write the images/README
src = os.path.join(self.conf.datadir, 'images', 'README') src = os.path.join(self.conf.datadir, 'images', 'README')
dst = os.path.join(self.conf.imagesdir, 'README') dst = os.path.join(self.conf.imagesdir, 'README')

View File

@ -232,8 +232,6 @@ class InitRD(object):
output = output.strip() output = output.strip()
for fw in output.split(): for fw in output.split():
print "copying firmware '%s'" % fw
dst = os.path.join(self.conf.initrddir, 'lib', 'firmware', fw) dst = os.path.join(self.conf.initrddir, 'lib', 'firmware', fw)
dir = os.path.dirname(dst) dir = os.path.dirname(dst)
if not os.path.exists(dir): if not os.path.exists(dir):
@ -258,7 +256,6 @@ class InitRD(object):
for module, file in fw: for module, file in fw:
if module in modules: if module in modules:
print('Copying firmware %s' % module)
cp(src_root=self.conf.treedir, cp(src_root=self.conf.treedir,
src_path=os.path.join('lib', 'firmware', file), src_path=os.path.join('lib', 'firmware', file),
dst_root=self.conf.initrddir, dst_root=self.conf.initrddir,
@ -396,8 +393,8 @@ class InitRD(object):
self.create_locales() self.create_locales()
print('Getting modules') print('Getting modules')
self.get_modules() self.get_modules()
print('Getting missing links') #print('Getting missing links')
self.get_missing_links() #self.get_missing_links()
# create the initrd # create the initrd
print('Creating the %s' % dst) print('Creating the %s' % dst)
@ -419,7 +416,8 @@ class Install(object):
cp(src_root=self.conf.treedir, cp(src_root=self.conf.treedir,
src_path=os.path.join('bin', '*'), src_path=os.path.join('bin', '*'),
dst_root=self.conf.treedir, dst_root=self.conf.treedir,
dst_path=os.path.join('usr', 'bin')) dst_path=os.path.join('usr', 'bin'),
ignore_errors=True)
rm(os.path.join(self.conf.treedir, 'bin')) rm(os.path.join(self.conf.treedir, 'bin'))
@ -427,7 +425,8 @@ class Install(object):
cp(src_root=self.conf.treedir, cp(src_root=self.conf.treedir,
src_path=os.path.join('sbin', '*'), src_path=os.path.join('sbin', '*'),
dst_root=self.conf.treedir, dst_root=self.conf.treedir,
dst_path=os.path.join('usr', 'sbin')) dst_path=os.path.join('usr', 'sbin'),
ignore_errors=True)
rm(os.path.join(self.conf.treedir, 'sbin')) rm(os.path.join(self.conf.treedir, 'sbin'))

View File

@ -134,13 +134,12 @@ class Yum(object):
self.yb.buildTransaction() self.yb.buildTransaction()
cb = yum.callbacks.ProcessTransBaseCallback() cb = yum.callbacks.ProcessTransBaseCallback()
#cb = yum.callbacks.ProcessTransNoOutputCallback()
rpmcb = Callback() rpmcb = Callback()
# XXX ugly error output hack # XXX ugly error output hack
# we redirect the error output from rpm to err_file, # we redirect the error output from rpm to err_file,
# so it does not show up in our "nice" output :) # so it does not show up in our "nice" output :)
# we should put the errors to some file,
# which we can parse later for serious errors
standard_err = os.dup(2) standard_err = os.dup(2)
my_err = open(self.err_file, 'a') my_err = open(self.err_file, 'a')
os.dup2(my_err.fileno(), 2) os.dup2(my_err.fileno(), 2)