diff --git a/src/pylorax/__init__.py b/src/pylorax/__init__.py index 53111728..433e1e1c 100644 --- a/src/pylorax/__init__.py +++ b/src/pylorax/__init__.py @@ -33,7 +33,6 @@ import sys import os import ConfigParser import tempfile -import shutil import glob import math import subprocess @@ -215,11 +214,10 @@ class Lorax(BaseLoraxClass): self.installtree.yum.process_transaction(skipbroken) # write .buildstamp - buildstamp = BuildStamp(self.workdir, self.product.name, self.product.version, + buildstamp = BuildStamp(self.product.name, self.product.version, self.product.bugurl, self.product.is_beta, self.arch.buildarch) - buildstamp.write() - shutil.copy2(buildstamp.path, self.installtree.root) + buildstamp.write(joinpaths(self.installtree.root, ".buildstamp")) logger.debug("saving pkglists to %s", self.workdir) dname = joinpaths(self.workdir, "pkglists") @@ -273,13 +271,11 @@ class Lorax(BaseLoraxClass): self.installtree.get_anaconda_portions() # write .discinfo - discinfo = DiscInfo(self.workdir, self.product.release, self.arch.basearch) - discinfo.write() - - shutil.copy2(discinfo.path, self.outputdir) + discinfo = DiscInfo(self.product.release, self.arch.basearch) + discinfo.write(joinpaths(self.outputdir, ".discinfo")) # create .treeinfo - treeinfo = TreeInfo(self.workdir, self.product.name, self.product.version, + treeinfo = TreeInfo(self.product.name, self.product.version, self.product.variant, self.arch.basearch) # get the image class @@ -318,9 +314,7 @@ class Lorax(BaseLoraxClass): logger.info("creating boot iso") i.create_boot(efiboot=None) # FIXME restore proper EFI function - treeinfo.write() - - shutil.copy2(treeinfo.path, self.outputdir) + treeinfo.write(joinpaths(self.outputdir, ".treeinfo")) def get_buildarch(self): # get architecture of the available anaconda package diff --git a/src/pylorax/buildstamp.py b/src/pylorax/buildstamp.py index 20b62130..8d0915ea 100644 --- a/src/pylorax/buildstamp.py +++ b/src/pylorax/buildstamp.py @@ -23,14 +23,11 @@ import logging logger = logging.getLogger("pylorax.buildstamp") import datetime -from sysutils import joinpaths class BuildStamp(object): - def __init__(self, workdir, product, version, bugurl, is_beta, buildarch): - self.path = joinpaths(workdir, ".buildstamp") - + def __init__(self, product, version, bugurl, is_beta, buildarch): self.product = product self.version = version self.bugurl = bugurl @@ -40,9 +37,9 @@ class BuildStamp(object): now = now.strftime("%Y%m%d%H%M") self.uuid = "{0}.{1}".format(now, buildarch) - def write(self): + def write(self, outfile): logger.info("writing .buildstamp file") - with open(self.path, "w") as fobj: + with open(outfile, "w") as fobj: fobj.write("[Main]\n") fobj.write("Product={0.product}\n".format(self)) fobj.write("Version={0.version}\n".format(self)) diff --git a/src/pylorax/discinfo.py b/src/pylorax/discinfo.py index 24f435f4..72c111ea 100644 --- a/src/pylorax/discinfo.py +++ b/src/pylorax/discinfo.py @@ -23,20 +23,17 @@ import logging logger = logging.getLogger("pylorax.discinfo") import time -from sysutils import joinpaths class DiscInfo(object): - def __init__(self, workdir, release, basearch): - self.path = joinpaths(workdir, ".discinfo") - + def __init__(self, release, basearch): self.release = release self.basearch = basearch - def write(self): + def write(self, outfile): logger.info("writing .discinfo file") - with open(self.path, "w") as fobj: + with open(outfile, "w") as fobj: fobj.write("{0:f}\n".format(time.time())) fobj.write("{0.release}\n".format(self)) fobj.write("{0.basearch}\n".format(self)) diff --git a/src/pylorax/treeinfo.py b/src/pylorax/treeinfo.py index 605c36e1..18626456 100644 --- a/src/pylorax/treeinfo.py +++ b/src/pylorax/treeinfo.py @@ -24,15 +24,13 @@ logger = logging.getLogger("pylorax.treeinfo") import ConfigParser import time -from sysutils import joinpaths class TreeInfo(object): - def __init__(self, workdir, product, version, variant, basearch, + def __init__(self, product, version, variant, basearch, packagedir=""): - self.path = joinpaths(workdir, ".treeinfo") self.c = ConfigParser.ConfigParser() section = "general" @@ -52,7 +50,7 @@ class TreeInfo(object): map(lambda (key, value): self.c.set(section, key, value), data.items()) - def write(self): + def write(self, outfile): logger.info("writing .treeinfo file") - with open(self.path, "w") as fobj: + with open(outfile, "w") as fobj: self.c.write(fobj)