mirror of
https://git.yoctoproject.org/poky
synced 2026-06-03 13:49:49 +00:00
oeqa/buildproject: Ensure temp directories are cleaned up
(From OE-Core rev: 15db91abd152aa3d22d24f951ba7663ab59ff7eb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit d10aff865120a5feecc42c24726bd119364e0188) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -18,6 +18,7 @@ class BuildProject(metaclass=ABCMeta):
|
|||||||
def __init__(self, uri, foldername=None, tmpdir=None, dl_dir=None):
|
def __init__(self, uri, foldername=None, tmpdir=None, dl_dir=None):
|
||||||
self.uri = uri
|
self.uri = uri
|
||||||
self.archive = os.path.basename(uri)
|
self.archive = os.path.basename(uri)
|
||||||
|
self.tempdirobj = None
|
||||||
if not tmpdir:
|
if not tmpdir:
|
||||||
self.tempdirobj = tempfile.TemporaryDirectory(prefix='buildproject-')
|
self.tempdirobj = tempfile.TemporaryDirectory(prefix='buildproject-')
|
||||||
tmpdir = self.tempdirobj.name
|
tmpdir = self.tempdirobj.name
|
||||||
@@ -57,6 +58,8 @@ class BuildProject(metaclass=ABCMeta):
|
|||||||
return self._run('cd %s; make install %s' % (self.targetdir, install_args))
|
return self._run('cd %s; make install %s' % (self.targetdir, install_args))
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
|
if self.tempdirobj:
|
||||||
|
self.tempdirobj.cleanup()
|
||||||
if not self.needclean:
|
if not self.needclean:
|
||||||
return
|
return
|
||||||
self._run('rm -rf %s' % self.targetdir)
|
self._run('rm -rf %s' % self.targetdir)
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ class BuildProject(metaclass=ABCMeta):
|
|||||||
self.d = d
|
self.d = d
|
||||||
self.uri = uri
|
self.uri = uri
|
||||||
self.archive = os.path.basename(uri)
|
self.archive = os.path.basename(uri)
|
||||||
|
self.tempdirobj = None
|
||||||
if not tmpdir:
|
if not tmpdir:
|
||||||
tmpdir = self.d.getVar('WORKDIR')
|
tmpdir = self.d.getVar('WORKDIR')
|
||||||
if not tmpdir:
|
if not tmpdir:
|
||||||
@@ -71,9 +72,10 @@ class BuildProject(metaclass=ABCMeta):
|
|||||||
return self._run('cd %s; make install %s' % (self.targetdir, install_args))
|
return self._run('cd %s; make install %s' % (self.targetdir, install_args))
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
|
if self.tempdirobj:
|
||||||
|
self.tempdirobj.cleanup()
|
||||||
self._run('rm -rf %s' % self.targetdir)
|
self._run('rm -rf %s' % self.targetdir)
|
||||||
subprocess.check_call('rm -f %s' % self.localarchive, shell=True)
|
subprocess.check_call('rm -f %s' % self.localarchive, shell=True)
|
||||||
pass
|
|
||||||
|
|
||||||
class TargetBuildProject(BuildProject):
|
class TargetBuildProject(BuildProject):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user