[elbe-devel] [PATCH v3 30/52] Nuke ASCIIDocLog from finetuning
dion at linutronix.de
dion at linutronix.de
Thu Jun 27 14:44:44 CEST 2019
From: Olivier Dion <dion at linutronix.de>
Signed-off-by: Olivier Dion <dion at linutronix.de>
Reviewed-by: Torben Hohn <torben.hohn at linutronix.de>
---
elbepack/dump.py | 2 +-
elbepack/elbeproject.py | 1 -
elbepack/finetuning.py | 265 +++++++++++++++++++++++-------------------------
3 files changed, 127 insertions(+), 141 deletions(-)
diff --git a/elbepack/dump.py b/elbepack/dump.py
index d73b3789..20b0bf4b 100644
--- a/elbepack/dump.py
+++ b/elbepack/dump.py
@@ -217,7 +217,7 @@ def elbe_report(xml, buildenv, cache, reportname, errorname, targetfs):
outf.verbatim_start()
if xml.has("target/finetuning"):
- do_finetuning(xml, outf, buildenv, targetfs)
+ do_finetuning(xml, buildenv, targetfs)
mt_index_post_fine = targetfs.mtime_snap()
else:
mt_index_post_fine = mt_index_postarch
diff --git a/elbepack/elbeproject.py b/elbepack/elbeproject.py
index 046bcbf5..0269a638 100644
--- a/elbepack/elbeproject.py
+++ b/elbepack/elbeproject.py
@@ -651,7 +651,6 @@ class ElbeProject (object):
allow_fail=True)
do_prj_finetuning(self.xml,
- self.log,
self.buildenv,
self.targetfs,
self.builddir)
diff --git a/elbepack/finetuning.py b/elbepack/finetuning.py
index 5da50b1f..d1ddf5fe 100644
--- a/elbepack/finetuning.py
+++ b/elbepack/finetuning.py
@@ -11,6 +11,7 @@ from __future__ import print_function
import os
import errno
import base64
+import logging
from shutil import rmtree
from gpg import core
@@ -23,6 +24,7 @@ from elbepack.shellhelper import CommandError
from elbepack.filesystem import ImgMountFilesystem
from elbepack.packers import default_packer, packers
from elbepack.egpg import unlock_key
+from elbepack.shellhelper import chroot, do, get_command_out
class FinetuningException(Exception):
@@ -44,11 +46,11 @@ class FinetuningAction(object):
def __init__(self, node):
self.node = node
- def execute(self, _log, _buildenv, _target):
+ def execute(self, _buildenv, _target):
raise NotImplementedError('execute() not implemented')
- def execute_prj(self, log, buildenv, target, _builddir):
- self.execute(log, buildenv, target)
+ def execute_prj(self, buildenv, target, _builddir):
+ self.execute(buildenv, target)
class ImageFinetuningAction(FinetuningAction):
@@ -58,11 +60,11 @@ class ImageFinetuningAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, _log, _buildenv, _target):
+ def execute(self, _buildenv, _target):
raise NotImplementedError("<%s> may only be "
"used in <image-finetuning>" % self.tag)
- def execute_img(self, _log, _buildenv, _target, _builddir, _loop_dev):
+ def execute_img(self, _buildenv, _target, _builddir, _loop_dev):
raise NotImplementedError('execute_img() not implemented')
@@ -73,7 +75,7 @@ class RmAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
files = target.glob(self.node.et.text)
if 'exclude' in self.node.et.attrib:
@@ -85,7 +87,7 @@ class RmAction(FinetuningAction):
if os.path.basename(f) in exclude:
continue
- log.do("rm -rvf '%s'" % f)
+ do("rm -rvf '%s'" % f)
FinetuningAction.register(RmAction)
@@ -98,8 +100,8 @@ class MkdirAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
- log.do("mkdir -p " + target.fname(self.node.et.text))
+ def execute(self, _buildenv, target):
+ do("mkdir -p %s" % target.fname(self.node.et.text))
FinetuningAction.register(MkdirAction)
@@ -112,13 +114,10 @@ class MknodAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
- log.do(
- "mknod " +
- target.fname(
- self.node.et.text) +
- " " +
- self.node.et.attrib['opts'])
+ def execute(self, _buildenv, target):
+ cmd = "mknod %s %s" % (target.fname(self.node.et.text),
+ self.node.et.attrib['opts'])
+ do(cmd)
FinetuningAction.register(MknodAction)
@@ -131,8 +130,8 @@ class BuildenvMkdirAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, buildenv, _target):
- log.do("mkdir -p " + buildenv.rfs.fname(self.node.et.text))
+ def execute(self, buildenv, _target):
+ do("mkdir -p %s" % buildenv.rfs.fname(self.node.et.text))
FinetuningAction.register(BuildenvMkdirAction)
@@ -145,10 +144,11 @@ class CpAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
src = target.glob(self.node.et.attrib['path'])
for f in src:
- log.do("cp -av " + f + " " + target.fname(self.node.et.text))
+ cmd = "cp -av %s %s" % (f, target.fname(self.node.et.text))
+ do(cmd)
FinetuningAction.register(CpAction)
@@ -161,10 +161,14 @@ class BuildenvCpAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, buildenv, _target):
+ def execute(self, buildenv, _target):
src = buildenv.glob(self.node.et.attrib['path'])
for f in src:
- log.do("cp -av " + f + " " + buildenv.rfs.fname(self.node.et.text))
+ # Does buildenv.rfs.fname(self.node.et.text) change in the
+ # loop? If not we can format the cmd outside of the loop
+ # outside and make a smaller format in the loop.
+ cmd = "cp -av %s %s" % (f, buildenv.rfs.fname(self.node.et.text))
+ do(cmd)
FinetuningAction.register(BuildenvCpAction)
@@ -177,10 +181,11 @@ class B2TCpAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, buildenv, target):
+ def execute(self, buildenv, target):
src = buildenv.rfs.glob(self.node.et.attrib['path'])
for f in src:
- log.do("cp -av " + f + " " + target.fname(self.node.et.text))
+ cmd = "cp -av %s %s" % (f, target.fname(self.node.et.text))
+ do(cmd)
FinetuningAction.register(B2TCpAction)
@@ -193,10 +198,11 @@ class T2BCpAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, buildenv, target):
+ def execute(self, buildenv, target):
src = target.glob(self.node.et.attrib['path'])
for f in src:
- log.do("cp -av " + f + " " + buildenv.rfs.fname(self.node.et.text))
+ cmd = "cp -av %s %s" % (f, buildenv.rfs.fname(self.node.et.text))
+ do(cmd)
FinetuningAction.register(T2BCpAction)
@@ -209,7 +215,7 @@ class T2PMvAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
if self.node.et.text[0] == '/':
dest = self.node.et.text[1:]
else:
@@ -217,8 +223,9 @@ class T2PMvAction(FinetuningAction):
dest = os.path.join('..', dest)
src = target.glob(self.node.et.attrib['path'])
+ cmd = "mv -v %s {}".format(dest)
for f in src:
- log.do("mv -v " + f + " " + dest)
+ do(cmd % f)
FinetuningAction.register(T2PMvAction)
@@ -231,10 +238,11 @@ class MvAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
src = target.glob(self.node.et.attrib['path'])
for f in src:
- log.do("mv -v " + f + " " + target.fname(self.node.et.text))
+ cmd = "mv -v %s %s" % (f, target.fname(self.node.et.text))
+ do(cmd)
FinetuningAction.register(MvAction)
@@ -247,12 +255,11 @@ class LnAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
with target:
- log.chroot(
- target.path, """/bin/sh -c 'ln -s %s "%s"' """ %
- (self.node.et.attrib['path'], self.node.et.text))
-
+ cmd = """/bin/sh -c 'ln -s %s "%s"' """ % (self.node.et.attrib['path'],
+ self.node.et.text)
+ chroot(target.path, cmd)
FinetuningAction.register(LnAction)
@@ -264,11 +271,11 @@ class BuildenvMvAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, buildenv, _target):
+ def execute(self, buildenv, _target):
src = buildenv.rfs.glob(self.node.et.attrib['path'])
+ cmd = "mv -v %s %s"
for f in src:
- log.do("mv -v " + f + " " + buildenv.rfs.fname(self.node.et.text))
-
+ do(cmd % (f, buildenv.rfs.fname(self.node.et.text)))
FinetuningAction.register(BuildenvMvAction)
@@ -280,7 +287,7 @@ class AddUserAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
with target:
att = self.node.et.attrib
options = ""
@@ -305,18 +312,14 @@ class AddUserAction(FinetuningAction):
else:
options += '-U '
- log.chroot(
- target.path,
- '/usr/sbin/useradd %s "%s"' %
- (options,
- self.node.et.text))
+ cmd = '/usr/sbin/useradd %s "%s"' % (options,
+ self.node.et.text)
+ chroot(target.path, cmd)
if 'passwd' in att:
- log.chroot(target.path,
- """/bin/sh -c 'echo "%s\\n%s\\n" | passwd %s'""" % (
- att['passwd'],
- att['passwd'],
- self.node.et.text))
+ cmd = "passwd %s" % self.node.et.text
+ stdin = "%s\n%s\n" % (att["passwd"], att["passwd"])
+ chroot(target.path, cmd, stdin=stdin)
FinetuningAction.register(AddUserAction)
@@ -329,7 +332,7 @@ class AddGroupAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
with target:
att = self.node.et.attrib
# we use -f always
@@ -338,9 +341,9 @@ class AddGroupAction(FinetuningAction):
options += '-g "%s" ' % att['gid']
if 'system' in att and att['system'] == 'True':
options += '-r'
- log.chroot(target.path, '/usr/sbin/groupadd %s "%s"' % (
- options,
- self.node.et.text))
+ cmd = '/usr/sbin/groupadd %s "%s"' % (options,
+ self.node.et.text)
+ chroot(target.path, cmd)
FinetuningAction.register(AddGroupAction)
@@ -365,7 +368,7 @@ class AddFileAction(FinetuningAction):
raise FinetuningException("Invalid encoding %s" % encoding)
return msg
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
att = self.node.et.attrib
dst = att["dst"]
@@ -398,13 +401,13 @@ class AddFileAction(FinetuningAction):
target.write_file(dst, None, content)
if owner is not None:
- log.chroot(target.path, 'chown "%s" "%s"' % (owner, dst))
+ chroot(target.path, "chown %s %s" % (owner, dst))
if group is not None:
- log.chroot(target.path, 'chgrp "%s" "%s"' % (group, dst))
+ chroot(target.path, "chgrp %s %s" % (group, dst))
if mode is not None:
- log.chroot(target.path, 'chmod "%s" "%s"' % (mode, dst))
+ chroot(target.path, "chmod %s %s" % (mode, dst))
FinetuningAction.register(AddFileAction)
@@ -416,9 +419,9 @@ class RawCmdAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
with target:
- log.chroot(target.path, self.node.et.text)
+ chroot(target.path, self.node.et.text)
FinetuningAction.register(RawCmdAction)
@@ -431,9 +434,9 @@ class CmdAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
with target:
- log.chroot(target.path, "/bin/sh", stdin=self.node.et.text)
+ chroot(target.path, "/bin/sh", stdin=self.node.et.text)
FinetuningAction.register(CmdAction)
@@ -446,9 +449,9 @@ class BuildenvCmdAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, buildenv, _target):
+ def execute(self, buildenv, _target):
with buildenv:
- log.chroot(buildenv.path, "/bin/sh", stdin=self.node.et.text)
+ chroot(buildenv.path, "/bin/sh", stdin=self.node.et.text)
FinetuningAction.register(BuildenvCmdAction)
@@ -461,9 +464,9 @@ class PurgeAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, _buildenv, target):
+ def execute(self, _buildenv, target):
with target:
- log.chroot(target.path, "dpkg --purge " + self.node.et.text)
+ chroot(target.path, "dpkg --purge %s" % (self.node.et.text))
FinetuningAction.register(PurgeAction)
@@ -476,13 +479,14 @@ class UpdatedAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, log, buildenv, target):
+ def execute(self, buildenv, target):
# pylint: disable=too-many-locals
if self.node.et.text:
fp = self.node.et.text
- log.printo("transfer gpg key to target: " + fp)
+
+ logging.info("transfert gpg key to target: %s" % fp)
gpgdata = core.Data()
ctx = core.Context()
@@ -495,22 +499,23 @@ class UpdatedAction(FinetuningAction):
gpgdata.seek(0, os.SEEK_SET)
key = gpgdata.read()
- log.printo(str(key))
+ logging.info(str(key))
with open((target.path + '/pub.key'), 'wb') as tkey:
tkey.write(key)
target.mkdir_p("/var/cache/elbe/gnupg", mode=0o700)
with target:
env_add = {'GNUPGHOME': target.path + "/var/cache/elbe/gnupg"}
- log.do("gpg --import " + target.path + "/pub.key",
- env_add=env_add)
+ cmd = "gpg --import %s%s" % (target.path, "/pub.key")
+ do(cmd, env_add=env_add)
+
+ logging.info("generate base repo")
- log.printo("generate base repo")
arch = target.xml.text("project/arch", key="arch")
buildenv.rfs.mkdir_p('/tmp/pkgs')
with buildenv:
- cache = get_rpcaptcache(buildenv.rfs, "updated-repo.log", arch)
+ cache = get_rpcaptcache(buildenv.rfs, arch)
pkglist = cache.get_installed_pkgs()
for pkg in pkglist:
@@ -518,26 +523,14 @@ class UpdatedAction(FinetuningAction):
cache.download_binary(
pkg.name, '/tmp/pkgs', pkg.installed_version)
except ValueError:
- log.printo(
- "No Package " +
- pkg.name +
- "-" +
- pkg.installed_version)
+ logging.exception("No package %s-%s" % (pkg.name,
+ pkg.installed_version))
except FetchError:
- log.printo(
- "Package " +
- pkg.name +
- "-" +
- pkg.installed_version +
- " could not be downloaded")
+ logging.exception("Package %s-%s could not be downloaded" % (pkg.name,
+ pkg.installed_version))
except TypeError:
- log.printo(
- "Package " +
- pkg.name +
- "-" +
- pkg.installed_version +
- " missing name or version")
-
+ logging.exception("Package %s-%s missing name or version" % (pkg.name,
+ pkg.installed_version))
r = UpdateRepo(target.xml,
target.path + '/var/cache/elbe/repos/base')
@@ -569,10 +562,10 @@ class ArtifactAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, _log, _buildenv, target):
+ def execute(self, _buildenv, target):
target.images.append('target' + self.node.et.text)
- def execute_prj(self, _log, _buildenv, target, _builddir):
+ def execute_prj(self, _buildenv, target, _builddir):
target.images.append(self.node.et.text)
@@ -586,11 +579,11 @@ class RmArtifactAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, _log, _buildenv, _target):
+ def execute(self, _buildenv, _target):
raise NotImplementedError("<rm_artifact> may only be "
"used in <project-finetuning>")
- def execute_prj(self, _log, _buildenv, target, _builddir):
+ def execute_prj(self, _buildenv, target, _builddir):
target.images.remove(self.node.et.text)
@@ -604,23 +597,23 @@ class LosetupAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, _log, _buildenv, _target):
+ def execute(self, _buildenv, _target):
raise NotImplementedError("<losetup> may only be "
"used in <project-finetuning>")
- def execute_prj(self, log, buildenv, target, builddir):
+ def execute_prj(self, buildenv, target, builddir):
imgname = self.node.et.attrib['img']
imgpath = os.path.join(builddir, imgname)
cmd = 'losetup --find --show --partscan "%s"' % imgpath
- loop_dev = log.get_command_out(cmd).strip()
+ loop_dev = get_command_out(cmd).strip()
try:
for i in self.node:
action = ImageFinetuningAction(i)
- action.execute_img(log, buildenv, target, builddir, loop_dev)
+ action.execute_img(buildenv, target, builddir, loop_dev)
finally:
cmd = 'losetup --detach "%s"' % loop_dev
- log.do(cmd)
+ do(cmd)
FinetuningAction.register(LosetupAction)
@@ -633,20 +626,18 @@ class ImgConvertAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, _log, _buildenv, _target):
+ def execute(self, _buildenv, _target):
raise NotImplementedError("<img_convert> may only be "
"used in <project-finetuning>")
- def execute_prj(self, log, _buildenv, target, builddir):
+ def execute_prj(self, _buildenv, target, builddir):
src = self.node.et.text
dst = self.node.et.attrib['dst']
fmt = self.node.et.attrib['fmt']
if src not in target.images:
- log.printo("Error: Artifact '%s' does not exist." % src)
- log.printo("Valid Artifacts are:")
- for i in target.images:
- log.printo(i)
+ logging.error("Error: Artifact '%s' does not exist.\n Valid Artifcact are: %s" % (
+ src, ", ".join([str(i) for i in target.images])))
raise FinetuningException("Artifact '%s' does not exist" % src)
src_fname = os.path.join(builddir, src)
@@ -655,7 +646,7 @@ class ImgConvertAction(FinetuningAction):
cmd = 'qemu-img convert -O "%s" "%s" "%s"' % (fmt,
src_fname,
dst_fname)
- log.do(cmd)
+ do(cmd)
target.images.append(dst)
target.image_packers[dst] = default_packer
@@ -675,11 +666,11 @@ class SetPackerAction(FinetuningAction):
def __init__(self, node):
FinetuningAction.__init__(self, node)
- def execute(self, _log, _buildenv, _target):
+ def execute(self, _buildenv, _target):
raise NotImplementedError("<set_packer> may only be "
"used in <project-finetuning>")
- def execute_prj(self, _log, _buildenv, target, _builddir):
+ def execute_prj(self, _buildenv, target, _builddir):
img = self.node.et.text
packer = self.node.et.attrib['packer']
@@ -696,17 +687,17 @@ class ExtractPartitionAction(ImageFinetuningAction):
def __init__(self, node):
ImageFinetuningAction.__init__(self, node)
- def execute(self, _log, _buildenv, _target):
+ def execute(self, _buildenv, _target):
raise NotImplementedError("<extract_partition> may only be "
"used in <mount_drive>")
- def execute_img(self, log, _buildenv, target, builddir, loop_dev):
+ def execute_img(self, _buildenv, target, builddir, loop_dev):
part_nr = self.node.et.attrib['part']
imgname = os.path.join(builddir, self.node.et.text)
cmd = 'dd if=%sp%s of="%s"' % (loop_dev, part_nr, imgname)
- log.do(cmd)
+ do(cmd)
target.images.append(self.node.et.text)
target.image_packers[self.node.et.text] = default_packer
@@ -722,32 +713,30 @@ class CopyFromPartition(ImageFinetuningAction):
def __init__(self, node):
ImageFinetuningAction.__init__(self, node)
- def execute(self, _log, _buildenv, _target):
+ def execute(self, _buildenv, _target):
raise NotImplementedError("<copy_from_partition> may only be "
"used in <mount_drive>")
- def execute_img(self, log, _buildenv, target, builddir, loop_dev):
+ def execute_img(self, _buildenv, target, builddir, loop_dev):
part_nr = self.node.et.attrib['part']
aname = self.node.et.attrib['artifact']
img_mnt = os.path.join(builddir, 'imagemnt')
device = "%sp%s" % (loop_dev, part_nr)
- with ImgMountFilesystem(img_mnt, device, log) as mnt_fs:
+ with ImgMountFilesystem(img_mnt, device) as mnt_fs:
fname = mnt_fs.glob(self.node.et.text)
if not fname:
- log.printo('No file matching "%s" found' % self.node.et.text)
+ logging.error('No file matching "%s" found' % self.node.et.text)
raise FinetuningException('No File found')
if len(fname) > 1:
- log.printo('Pattern "%s" matches %d files' % (
- self.node.et.text,
- len(fname)))
+ logging.info('Pattern "%s" matches %d files' % (self.node.et.text, len(fname)))
raise FinetuningException('Patter matches too many files')
cmd = 'cp "%s" "%s"' % (fname[0], os.path.join(builddir, aname))
- log.do(cmd)
+ do(cmd)
target.images.append(aname)
@@ -762,28 +751,27 @@ class CopyToPartition(ImageFinetuningAction):
def __init__(self, node):
ImageFinetuningAction.__init__(self, node)
- def execute(self, _log, _buildenv, _target):
+ def execute(self, _buildenv, _target):
raise NotImplementedError("<copy_to_partition> may only be "
"used in <mount_drive>")
- def execute_img(self, log, _buildenv, _target, builddir, loop_dev):
+ def execute_img(self, _buildenv, _target, builddir, loop_dev):
part_nr = self.node.et.attrib['part']
aname = self.node.et.attrib['artifact']
img_mnt = os.path.join(builddir, 'imagemnt')
device = "%sp%s" % (loop_dev, part_nr)
- with ImgMountFilesystem(img_mnt, device, log) as mnt_fs:
+ with ImgMountFilesystem(img_mnt, device) as mnt_fs:
fname = mnt_fs.fname(self.node.et.text)
-
cmd = 'cp "%s" "%s"' % (os.path.join(builddir, aname), fname)
- log.do(cmd)
+ do(cmd)
FinetuningAction.register(CopyToPartition)
-def do_finetuning(xml, log, buildenv, target):
+def do_finetuning(xml, buildenv, target):
if not xml.has('target/finetuning'):
return
@@ -791,17 +779,16 @@ def do_finetuning(xml, log, buildenv, target):
for i in xml.node('target/finetuning'):
try:
action = FinetuningAction(i)
- action.execute(log, buildenv, target)
+ action.execute(buildenv, target)
except KeyError:
- print("Unimplemented finetuning action '%s'" % (i.et.tag))
+ logging.exception("Unimplemented finetuning action '%s'" % (i.et.tag))
except CommandError:
- log.printo("Finetuning Error, trying to continue anyways")
- except FinetuningException as e:
- log.printo("Finetuning Error: %s" % str(e))
- log.printo("trying to continue anyways")
-
+ logging.exception("Finetuning Error, trying to continue anyways")
+ except FinetuningException:
+ logging.exception("Finetuning Error\n"
+ "Trying to continue anyways")
-def do_prj_finetuning(xml, log, buildenv, target, builddir):
+def do_prj_finetuning(xml, buildenv, target, builddir):
if not xml.has('target/project-finetuning'):
return
@@ -809,11 +796,11 @@ def do_prj_finetuning(xml, log, buildenv, target, builddir):
for i in xml.node('target/project-finetuning'):
try:
action = FinetuningAction(i)
- action.execute_prj(log, buildenv, target, builddir)
+ action.execute_prj(buildenv, target, builddir)
except KeyError:
- print("Unimplemented project-finetuning action '%s'" % (i.et.tag))
+ logging.exception("Unimplemented project-finetuning action '%s'" % (i.et.tag))
except CommandError:
- log.printo("ProjectFinetuning Error, trying to continue anyways")
- except FinetuningException as e:
- log.printo("ProjectFinetuning Error: %s" % e.message)
- log.printo("trying to continue anyways")
+ logging.exception("ProjectFinetuning Error, trying to continue anyways")
+ except FinetuningException:
+ logging.exception("Finetuning Error\n"
+ "Trying to continue anyways")
--
2.11.0
More information about the elbe-devel
mailing list