diff options
| author | Aníbal Limón <anibal.limon@linux.intel.com> | 2016-11-02 13:42:01 -0600 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-01-23 12:05:19 +0000 |
| commit | 51be1880631435627e8ff490d71b024c2683244a (patch) | |
| tree | f3b07ba37b60db968b359ca3cdac2da8e37ffb74 | |
| parent | 72e9ae377d310282f1c8cc49d4806b26a0b41e79 (diff) | |
| download | poky-51be1880631435627e8ff490d71b024c2683244a.tar.gz | |
oeqa/utils: {Target,SDK,}BuildProject remove dependency of bb
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>
| -rw-r--r-- | meta/lib/oeqa/runtime/utils/targetbuildproject.py | 6 | ||||
| -rw-r--r-- | meta/lib/oeqa/sdk/utils/sdkbuildproject.py | 14 | ||||
| -rw-r--r-- | meta/lib/oeqa/utils/buildproject.py | 31 |
3 files changed, 17 insertions, 34 deletions
diff --git a/meta/lib/oeqa/runtime/utils/targetbuildproject.py b/meta/lib/oeqa/runtime/utils/targetbuildproject.py index 138b5ef041..006d4d4a7b 100644 --- a/meta/lib/oeqa/runtime/utils/targetbuildproject.py +++ b/meta/lib/oeqa/runtime/utils/targetbuildproject.py | |||
| @@ -5,13 +5,13 @@ from oeqa.utils.buildproject import BuildProject | |||
| 5 | 5 | ||
| 6 | class TargetBuildProject(BuildProject): | 6 | class TargetBuildProject(BuildProject): |
| 7 | 7 | ||
| 8 | def __init__(self, target, d, uri, foldername=None): | 8 | def __init__(self, target, uri, foldername=None, dl_dir=None): |
| 9 | self.target = target | 9 | self.target = target |
| 10 | self.targetdir = "~/" | 10 | self.targetdir = "~/" |
| 11 | BuildProject.__init__(self, d, uri, foldername, tmpdir="/tmp") | 11 | BuildProject.__init__(self, uri, foldername, tmpdir="/tmp", |
| 12 | dl_dir=dl_dir) | ||
| 12 | 13 | ||
| 13 | def download_archive(self): | 14 | def download_archive(self): |
| 14 | |||
| 15 | self._download_archive() | 15 | self._download_archive() |
| 16 | 16 | ||
| 17 | (status, output) = self.target.copy_to(self.localarchive, self.targetdir) | 17 | (status, output) = self.target.copy_to(self.localarchive, self.targetdir) |
diff --git a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py index 1eebd3a5bc..cc34e0c9f5 100644 --- a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py +++ b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py | |||
| @@ -7,17 +7,17 @@ import subprocess | |||
| 7 | from oeqa.utils.buildproject import BuildProject | 7 | from oeqa.utils.buildproject import BuildProject |
| 8 | 8 | ||
| 9 | class SDKBuildProject(BuildProject): | 9 | class SDKBuildProject(BuildProject): |
| 10 | 10 | def __init__(self, testpath, sdkenv, uri, testlogdir, builddatetime, | |
| 11 | def __init__(self, testpath, sdkenv, d, uri, foldername=None): | 11 | foldername=None, dl_dir=None): |
| 12 | self.sdkenv = sdkenv | 12 | self.sdkenv = sdkenv |
| 13 | self.testdir = testpath | 13 | self.testdir = testpath |
| 14 | self.targetdir = testpath | 14 | self.targetdir = testpath |
| 15 | bb.utils.mkdirhier(testpath) | 15 | os.makedirs(testpath, exist_ok=True) |
| 16 | self.datetime = d.getVar('DATETIME') | 16 | self.datetime = builddatetime |
| 17 | self.testlogdir = d.getVar("TEST_LOG_DIR") | 17 | self.testlogdir = testlogdir |
| 18 | bb.utils.mkdirhier(self.testlogdir) | 18 | os.makedirs(self.testlogdir, exist_ok=True) |
| 19 | self.logfile = os.path.join(self.testlogdir, "sdk_target_log.%s" % self.datetime) | 19 | self.logfile = os.path.join(self.testlogdir, "sdk_target_log.%s" % self.datetime) |
| 20 | BuildProject.__init__(self, d, uri, foldername, tmpdir=testpath) | 20 | BuildProject.__init__(self, uri, foldername, tmpdir=testpath, dl_dir=dl_dir) |
| 21 | 21 | ||
| 22 | def download_archive(self): | 22 | def download_archive(self): |
| 23 | 23 | ||
diff --git a/meta/lib/oeqa/utils/buildproject.py b/meta/lib/oeqa/utils/buildproject.py index 1ed9624a76..386a927881 100644 --- a/meta/lib/oeqa/utils/buildproject.py +++ b/meta/lib/oeqa/utils/buildproject.py | |||
| @@ -6,17 +6,17 @@ | |||
| 6 | 6 | ||
| 7 | import os | 7 | import os |
| 8 | import re | 8 | import re |
| 9 | import bb.utils | ||
| 10 | import subprocess | 9 | import subprocess |
| 10 | import shutil | ||
| 11 | |||
| 11 | from abc import ABCMeta, abstractmethod | 12 | from abc import ABCMeta, abstractmethod |
| 12 | 13 | ||
| 13 | class BuildProject(metaclass=ABCMeta): | 14 | class BuildProject(metaclass=ABCMeta): |
| 14 | 15 | def __init__(self, uri, foldername=None, tmpdir="/tmp/", dl_dir=None): | |
| 15 | def __init__(self, d, uri, foldername=None, tmpdir="/tmp/"): | ||
| 16 | self.d = d | ||
| 17 | self.uri = uri | 16 | self.uri = uri |
| 18 | self.archive = os.path.basename(uri) | 17 | self.archive = os.path.basename(uri) |
| 19 | self.localarchive = os.path.join(tmpdir,self.archive) | 18 | self.localarchive = os.path.join(tmpdir,self.archive) |
| 19 | self.dl_dir = dl_dir | ||
| 20 | if foldername: | 20 | if foldername: |
| 21 | self.fname = foldername | 21 | self.fname = foldername |
| 22 | else: | 22 | else: |
| @@ -24,27 +24,11 @@ class BuildProject(metaclass=ABCMeta): | |||
| 24 | 24 | ||
| 25 | # Download self.archive to self.localarchive | 25 | # Download self.archive to self.localarchive |
| 26 | def _download_archive(self): | 26 | def _download_archive(self): |
| 27 | 27 | if self.dl_dir and os.path.exists(os.path.join(self.dl_dir, self.archive)): | |
| 28 | dl_dir = self.d.getVar("DL_DIR") | 28 | shutil.copyfile(os.path.join(self.dl_dir, self.archive), self.localarchive) |
| 29 | if dl_dir and os.path.exists(os.path.join(dl_dir, self.archive)): | ||
| 30 | bb.utils.copyfile(os.path.join(dl_dir, self.archive), self.localarchive) | ||
| 31 | return | 29 | return |
| 32 | 30 | ||
| 33 | exportvars = ['HTTP_PROXY', 'http_proxy', | 31 | cmd = "wget -O %s %s" % (self.localarchive, self.uri) |
| 34 | 'HTTPS_PROXY', 'https_proxy', | ||
| 35 | 'FTP_PROXY', 'ftp_proxy', | ||
| 36 | 'FTPS_PROXY', 'ftps_proxy', | ||
| 37 | 'NO_PROXY', 'no_proxy', | ||
| 38 | 'ALL_PROXY', 'all_proxy', | ||
| 39 | 'SOCKS5_USER', 'SOCKS5_PASSWD'] | ||
| 40 | |||
| 41 | cmd = '' | ||
| 42 | for var in exportvars: | ||
| 43 | val = self.d.getVar(var) | ||
| 44 | if val: | ||
| 45 | cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd) | ||
| 46 | |||
| 47 | cmd = cmd + "wget -O %s %s" % (self.localarchive, self.uri) | ||
| 48 | subprocess.check_call(cmd, shell=True) | 32 | subprocess.check_call(cmd, shell=True) |
| 49 | 33 | ||
| 50 | # This method should provide a way to run a command in the desired environment. | 34 | # This method should provide a way to run a command in the desired environment. |
| @@ -66,4 +50,3 @@ class BuildProject(metaclass=ABCMeta): | |||
| 66 | def clean(self): | 50 | def clean(self): |
| 67 | self._run('rm -rf %s' % self.targetdir) | 51 | self._run('rm -rf %s' % self.targetdir) |
| 68 | subprocess.call('rm -f %s' % self.localarchive, shell=True) | 52 | subprocess.call('rm -f %s' % self.localarchive, shell=True) |
| 69 | pass | ||
