oeqa/utils/targetbuild: tmp dir improvements

Don't hard-code /tmp as the tmpdir, instead use WORKDIR as the tmpdir if the
instantiater doesn't specify a value.

(From OE-Core rev: c43c966e0ed4ed836bdf90b1d4c3f2f45426f1ec)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Lock 2017-04-05 13:10:54 +01:00 committed by Richard Purdie
parent 04cf8ad80e
commit fa2e536c44
1 changed files with 7 additions and 3 deletions

View File

@ -8,14 +8,19 @@ import os
import re
import bb.utils
import subprocess
import tempfile
from abc import ABCMeta, abstractmethod
class BuildProject(metaclass=ABCMeta):
def __init__(self, d, uri, foldername=None, tmpdir="/tmp/"):
def __init__(self, d, uri, foldername=None, tmpdir=None):
self.d = d
self.uri = uri
self.archive = os.path.basename(uri)
if not tmpdir:
tmpdir = self.d.getVar('WORKDIR')
if not tmpdir:
tmpdir = tempfile.mkdtemp(prefix='buildproject')
self.localarchive = os.path.join(tmpdir,self.archive)
if foldername:
self.fname = foldername
@ -24,7 +29,6 @@ class BuildProject(metaclass=ABCMeta):
# Download self.archive to self.localarchive
def _download_archive(self):
dl_dir = self.d.getVar("DL_DIR")
if dl_dir and os.path.exists(os.path.join(dl_dir, self.archive)):
bb.utils.copyfile(os.path.join(dl_dir, self.archive), self.localarchive)
@ -73,7 +77,7 @@ class TargetBuildProject(BuildProject):
def __init__(self, target, d, uri, foldername=None):
self.target = target
self.targetdir = "~/"
BuildProject.__init__(self, d, uri, foldername, tmpdir="/tmp")
BuildProject.__init__(self, d, uri, foldername)
def download_archive(self):