Some small fixes
This commit is contained in:
parent
44ce6ea3e0
commit
7f28c28e6f
@ -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')
|
||||||
|
@ -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'))
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user