Bump buidlroot version to 2018.02.6
This commit is contained in:
49
bsp/buildroot/support/testing/infra/builder.py
Normal file
49
bsp/buildroot/support/testing/infra/builder.py
Normal file
@@ -0,0 +1,49 @@
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
import infra
|
||||
|
||||
|
||||
class Builder(object):
|
||||
def __init__(self, config, builddir, logtofile):
|
||||
self.config = '\n'.join([line.lstrip() for line in
|
||||
config.splitlines()]) + '\n'
|
||||
self.builddir = builddir
|
||||
self.logfile = infra.open_log_file(builddir, "build", logtofile)
|
||||
|
||||
def build(self):
|
||||
if not os.path.isdir(self.builddir):
|
||||
os.makedirs(self.builddir)
|
||||
|
||||
config_file = os.path.join(self.builddir, ".config")
|
||||
with open(config_file, "w+") as cf:
|
||||
cf.write(self.config)
|
||||
# dump the defconfig to the logfile for easy debugging
|
||||
self.logfile.write("> start defconfig\n" + self.config +
|
||||
"> end defconfig\n")
|
||||
self.logfile.flush()
|
||||
|
||||
cmd = ["make",
|
||||
"O={}".format(self.builddir),
|
||||
"olddefconfig"]
|
||||
ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile)
|
||||
if ret != 0:
|
||||
raise SystemError("Cannot olddefconfig")
|
||||
|
||||
cmd = ["make", "-C", self.builddir]
|
||||
ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile)
|
||||
if ret != 0:
|
||||
raise SystemError("Build failed")
|
||||
|
||||
open(self.stamp_path(), 'a').close()
|
||||
|
||||
def stamp_path(self):
|
||||
return os.path.join(self.builddir, "build-done")
|
||||
|
||||
def is_finished(self):
|
||||
return os.path.exists(self.stamp_path())
|
||||
|
||||
def delete(self):
|
||||
if os.path.exists(self.builddir):
|
||||
shutil.rmtree(self.builddir)
|
||||
Reference in New Issue
Block a user