mirror of
https://git.yoctoproject.org/poky
synced 2026-07-03 20:13:42 +02:00
Don't use bitbake references inside utils modules, in order todo that changes getVar calls for arguments in the __init__ method like dl_dir for all the classes and testlogdir, builddatetime in SDKBUildProject. Also don't export proxies inside _download_archive method, a good practice is to setup the proxies at init of the process instead of do it in this helper module. [YOCTO #10231] [YOCTO #10599] (From OE-Core rev: 581c34d1efe9839f50ef322761269b4e4d8a56a6) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
# Copyright (C) 2016 Intel Corporation
|
|
# Released under the MIT license (see COPYING.MIT)
|
|
|
|
import os
|
|
import subprocess
|
|
|
|
from oeqa.utils.buildproject import BuildProject
|
|
|
|
class SDKBuildProject(BuildProject):
|
|
def __init__(self, testpath, sdkenv, uri, testlogdir, builddatetime,
|
|
foldername=None, dl_dir=None):
|
|
self.sdkenv = sdkenv
|
|
self.testdir = testpath
|
|
self.targetdir = testpath
|
|
os.makedirs(testpath, exist_ok=True)
|
|
self.datetime = builddatetime
|
|
self.testlogdir = testlogdir
|
|
os.makedirs(self.testlogdir, exist_ok=True)
|
|
self.logfile = os.path.join(self.testlogdir, "sdk_target_log.%s" % self.datetime)
|
|
BuildProject.__init__(self, uri, foldername, tmpdir=testpath, dl_dir=dl_dir)
|
|
|
|
def download_archive(self):
|
|
|
|
self._download_archive()
|
|
|
|
cmd = 'tar xf %s%s -C %s' % (self.targetdir, self.archive, self.targetdir)
|
|
subprocess.check_call(cmd, shell=True)
|
|
|
|
#Change targetdir to project folder
|
|
self.targetdir = os.path.join(self.targetdir, self.fname)
|
|
|
|
def run_configure(self, configure_args='', extra_cmds=' gnu-configize; '):
|
|
return super(SDKBuildProject, self).run_configure(configure_args=(configure_args or '$CONFIGURE_FLAGS'), extra_cmds=extra_cmds)
|
|
|
|
def run_install(self, install_args=''):
|
|
return super(SDKBuildProject, self).run_install(install_args=(install_args or "DESTDIR=%s/../install" % self.targetdir))
|
|
|
|
def log(self, msg):
|
|
if self.logfile:
|
|
with open(self.logfile, "a") as f:
|
|
f.write("%s\n" % msg)
|
|
|
|
def _run(self, cmd):
|
|
self.log("Running . %s; " % self.sdkenv + cmd)
|
|
return subprocess.call(". %s; " % self.sdkenv + cmd, shell=True)
|