commit 64e4cccb8404a43635a72486227484cd952968b3
Author: Michal Srb <msrb(a)redhat.com>
Date: Mon Jul 7 18:29:32 2014 +0200
Store cache files in buildroot
Storing them in /tmp wasn't good idea...
depgenerators/maven.req | 15 ++++++++-------
depgenerators/osgi.req | 10 ++++------
python/javapackages/common/config.py | 8 ++++++++
python/javapackages/common/osgi.py | 10 ++++------
test/maven_req_test.py | 6 +++---
test/test_common.py | 2 +-
6 files changed, 28 insertions(+), 23 deletions(-)
---
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
index fe4ef5f..717e215 100755
--- a/depgenerators/maven.req
+++ b/depgenerators/maven.req
@@ -43,7 +43,7 @@ import pickle
from lxml import etree
-from javapackages.common.config import get_configs
+from javapackages.common.config import get_configs, get_buildroot
from javapackages.maven.pom import POM
from javapackages.maven.artifact import Artifact
from javapackages.metadata.metadata import Metadata, MetadataInvalidException
@@ -103,9 +103,10 @@ class TagBuilder(object):
self.metadata_dir = os.path.dirname(paths[0])
metadata_paths = None
metadata = None
+ buildroot = get_buildroot()
try:
- cachefile = open('/tmp/.provided_artifacts.cache', 'r')
+ cachefile = open(os.path.join(buildroot,
'.provided_artifacts.cache'), 'r')
self.provided_artifacts = pickle.load(cachefile)
cachefile.close()
except IOError:
@@ -114,11 +115,11 @@ class TagBuilder(object):
if not metadata:
metadata = Metadata(metadata_paths)
self.provided_artifacts.extend(metadata.get_provided_artifacts())
- cachefile = open('/tmp/.provided_artifacts.cache', 'w')
+ cachefile =
open(os.path.join(buildroot,'.provided_artifacts.cache'), 'w')
pickle.dump(self.provided_artifacts, cachefile)
cachefile.close()
try:
- cachefile = open('/tmp/.provided_osgi.cache', 'r')
+ cachefile = open(os.path.join(buildroot, '.provided_osgi.cache'),
'r')
self.provided_osgi = pickle.load(cachefile)
cachefile.close()
except IOError:
@@ -127,11 +128,11 @@ class TagBuilder(object):
if not metadata:
metadata = Metadata(metadata_paths)
self.provided_osgi.extend(metadata.get_osgi_provides())
- cachefile = open('/tmp/.provided_osgi.cache', 'w')
+ cachefile = open(os.path.join(buildroot, '.provided_osgi.cache'),
'w')
pickle.dump(self.provided_osgi, cachefile)
cachefile.close()
try:
- cachefile = open('/tmp/.skipped_artifacts.cache', 'r')
+ cachefile = open(os.path.join(buildroot,
'.skipped_artifacts.cache'), 'r')
self.skipped_artifacts = pickle.load(cachefile)
cachefile.close()
except IOError:
@@ -140,7 +141,7 @@ class TagBuilder(object):
if not metadata:
metadata = Metadata(metadata_paths)
self.skipped_artifacts.extend(metadata.get_skipped_artifacts())
- cachefile = open('/tmp/.skipped_artifacts.cache', 'w')
+ cachefile = open(os.path.join(buildroot,
'.skipped_artifacts.cache'), 'w')
pickle.dump(self.skipped_artifacts, cachefile)
cachefile.close()
diff --git a/depgenerators/osgi.req b/depgenerators/osgi.req
index d9e6d8a..9c05b58 100755
--- a/depgenerators/osgi.req
+++ b/depgenerators/osgi.req
@@ -31,6 +31,7 @@
# Authors: Alexander Kurtakov <akurtako(a)redhat.com>
import javapackages.common.osgi as osgi
+import javapackages.common.config
import sys
import pickle
import os
@@ -41,15 +42,12 @@ class TagBuilder(object):
if filelist == None:
filelist = sys.stdin
paths = [x.rstrip() for x in filelist.readlines()]
- try:
- buildroot = os.environ['RPM_BUILD_ROOT']
- except KeyError:
- raise Exception("RPM_BUILD_ROOT environment is not set")
+ buildroot = config.get_buildroot()
# get all provided bundles
provided = []
try:
- cachefile = open('/tmp/.provided_bundles.cache', 'r')
+ cachefile = open(os.path.join(buildroot, '.provided_bundles.cache'),
'r')
provided = pickle.load(cachefile)
cachefile.close()
except IOError:
@@ -61,7 +59,7 @@ class TagBuilder(object):
if not manifest:
continue
provided.append(osgi.OsgiProvideInfo.from_manifest(manifest))
- cachefile = open('/tmp/.provided_bundles.cache', 'w')
+ cachefile = open(os.path.join(buildroot, '.provided_bundles.cache'),
'w')
pickle.dump(provided, cachefile)
cachefile.close()
diff --git a/python/javapackages/common/config.py b/python/javapackages/common/config.py
index bb838c6..24b7b6b 100644
--- a/python/javapackages/common/config.py
+++ b/python/javapackages/common/config.py
@@ -24,3 +24,11 @@ def get_configs(cfg_paths=None):
print >> sys.stderr, "Unable to open config file
{path}".format(path=file_path)
pass
return configs
+
+
+def get_buildroot():
+ try:
+ buildroot = os.environ['RPM_BUILD_ROOT']
+ except KeyError:
+ raise Exception("RPM_BUILD_ROOT environment is not set")
+ return os.path.abspath(buildroot)
diff --git a/python/javapackages/common/osgi.py b/python/javapackages/common/osgi.py
index 6d454dd..ad17a3a 100644
--- a/python/javapackages/common/osgi.py
+++ b/python/javapackages/common/osgi.py
@@ -36,6 +36,7 @@ import pickle
import zipfile
from zipfile import ZipFile
+import config
from javapackages.metadata.metadata import Metadata, MetadataInvalidException
@@ -141,14 +142,11 @@ def get_requires_from_manifest(manifest):
def look_for_path_in_metadata(path):
- try:
- buildroot = os.environ['RPM_BUILD_ROOT']
- except KeyError:
- raise Exception("RPM_BUILD_ROOT environment is not set")
+ buildroot = config.get_buildroot()
artifacts = []
try:
- cachefile = open('/tmp/.provided_artifacts.cache', 'r')
+ cachefile = open(os.path.join(buildroot, '.provided_artifacts.cache'),
'r')
artifacts = pickle.load(cachefile)
cachefile.close()
except IOError:
@@ -162,7 +160,7 @@ def look_for_path_in_metadata(path):
try:
mdata = Metadata(metadata_paths)
artifacts = mdata.get_provided_artifacts()
- cachefile = open('/tmp/.provided_artifacts.cache', 'w')
+ cachefile = open(os.path.join(buildroot,
'.provided_artifacts.cache'), 'w')
pickle.dump(artifacts, cachefile)
cachefile.close()
except MetadataInvalidException:
diff --git a/test/maven_req_test.py b/test/maven_req_test.py
index cbd4805..3a99d39 100644
--- a/test/maven_req_test.py
+++ b/test/maven_req_test.py
@@ -7,9 +7,9 @@ class TestMavenReq(unittest.TestCase):
def tearDown(self):
try:
- os.remove(".provided_artifacts.cache")
- os.remove(".provided_osgi.cache")
- os.remove(".skipped_artifacts.cache")
+ os.remove("/tmp/.provided_artifacts.cache")
+ os.remove("/tmp/.provided_osgi.cache")
+ os.remove("/tmp/.skipped_artifacts.cache")
except OSError:
pass
diff --git a/test/test_common.py b/test/test_common.py
index 2745785..553967a 100644
--- a/test/test_common.py
+++ b/test/test_common.py
@@ -135,7 +135,7 @@ def requires_generator(name, filelist, config=None,
javaconfdirs=None):
def test_decorated(self):
scriptpath = path.join(DIRPATH, '..', 'depgenerators', name)
stdin = build_depmap_paths(filelist)
- env = {}
+ env = {"RPM_BUILD_ROOT":"/tmp"}
if javaconfdirs:
confdirs = [os.path.join(DIRPATH, conf) for conf in javaconfdirs]
env['JAVACONFDIRS'] = os.pathsep.join(confdirs)