summaryrefslogtreecommitdiff
path: root/morphlib/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'morphlib/plugins')
-rw-r--r--morphlib/plugins/artifact_inspection_plugin.py31
-rw-r--r--morphlib/plugins/gc_plugin.py3
2 files changed, 19 insertions, 15 deletions
diff --git a/morphlib/plugins/artifact_inspection_plugin.py b/morphlib/plugins/artifact_inspection_plugin.py
index 9181d488..6eeece77 100644
--- a/morphlib/plugins/artifact_inspection_plugin.py
+++ b/morphlib/plugins/artifact_inspection_plugin.py
@@ -19,6 +19,9 @@ import glob
import json
import os
import re
+import contextlib
+
+import fs.tempfs
import morphlib
@@ -109,25 +112,25 @@ class AutotoolsVersionGuesser(ProjectVersionGuesser):
return None
def _check_autoconf_package_version(self, repo, ref, filename, data):
- tempdir = morphlib.tempdir.Tempdir(self.app.settings['tempdir'])
- with open(tempdir.join(filename), 'w') as f:
- f.write(data)
- exit_code, output, errors = self.app.runcmd_unchecked(
+ with contextlib.closing(fs.tempfs.TempFS(
+ temp_dir=self.app.settings['tempdir'])) as tempdir:
+ with open(tempdir.getsyspath(filename), 'w') as f:
+ f.write(data)
+ exit_code, output, errors = self.app.runcmd_unchecked(
['autoconf', filename],
['grep', '^PACKAGE_VERSION='],
['cut', '-d=', '-f2'],
['sed', "s/'//g"],
- cwd=tempdir.dirname)
- tempdir.remove()
- version = None
- if output:
- output = output.strip()
- if output and output[0].isdigit():
- version = output
- if exit_code != 0:
- self.app.status(
+ cwd=tempdir.root_path)
+ version = None
+ if output:
+ output = output.strip()
+ if output and output[0].isdigit():
+ version = output
+ if exit_code != 0:
+ self.app.status(
msg='%(repo)s: Failed to detect version from '
- '%(ref)s:%(filename)s',
+ '%(ref)s:%(filename)s',
repo=repo, ref=ref, filename=filename, chatty=True)
return version
diff --git a/morphlib/plugins/gc_plugin.py b/morphlib/plugins/gc_plugin.py
index 1adabe78..abfa1a30 100644
--- a/morphlib/plugins/gc_plugin.py
+++ b/morphlib/plugins/gc_plugin.py
@@ -19,6 +19,7 @@ import os
import shutil
import time
+import fs.osfs
import cliapp
import morphlib
@@ -114,7 +115,7 @@ class GCPlugin(cliapp.Plugin):
chatty=True)
return
lac = morphlib.localartifactcache.LocalArtifactCache(
- os.path.join(cache_path, 'artifacts'))
+ fs.osfs.OSFS(os.path.join(cache_path, 'artifacts')))
max_age, min_age = self.calculate_delete_range()
logging.debug('Must remove artifacts older than timestamp %d'
% max_age)