summaryrefslogtreecommitdiffstats
path: root/py/mock
diff options
context:
space:
mode:
authorClark Williams <williams@redhat.com>2009-02-01 09:13:35 -0600
committerClark Williams <williams@redhat.com>2009-02-01 09:13:35 -0600
commit43b9b5a58bc1533c245202bde51e8f091d25b440 (patch)
tree4678d068e72fafa325e39935e5823eeb0ed4b2af /py/mock
parent9eb2dc48fb1097416a42fe4835274b9c4d8a9ad9 (diff)
parentfd41e6e363e0a08ba1f71670ad9a1206b7982ed0 (diff)
downloadmock-43b9b5a58bc1533c245202bde51e8f091d25b440.tar.gz
mock-43b9b5a58bc1533c245202bde51e8f091d25b440.tar.xz
mock-43b9b5a58bc1533c245202bde51e8f091d25b440.zip
Merge branch 'master' into clark
Diffstat (limited to 'py/mock')
-rw-r--r--py/mock/backend.py7
-rw-r--r--py/mock/exception.py14
-rw-r--r--py/mock/util.py1
3 files changed, 19 insertions, 3 deletions
diff --git a/py/mock/backend.py b/py/mock/backend.py
index 6cfd603..f259afe 100644
--- a/py/mock/backend.py
+++ b/py/mock/backend.py
@@ -31,6 +31,7 @@ class Root(object):
self.preExistingDeps = ""
self.logging_initialized = False
self.buildrootLock = None
+ self.version = config['version']
self.sharedRootName = config['root']
if config.has_key('unique-ext'):
@@ -169,8 +170,9 @@ class Root(object):
self.uidManager.dropPrivsTemp()
try:
mock.util.mkdirIfAbsent(self.resultdir)
- except OSError:
- pass
+ except (OSError,), e:
+ if e.errno == 13:
+ raise mock.exception.ResultDirNotAccessible( ResultDirNotAccessible.__doc__ % self.resultdir )
self.uidManager.restorePrivs()
# lock this buildroot so we dont get stomped on.
@@ -544,6 +546,7 @@ class Root(object):
fh.setFormatter(formatter)
fh.setLevel(logging.NOTSET)
log.addHandler(fh)
+ log.info("Mock Version: %s" % self.version)
finally:
self.uidManager.restorePrivs()
diff --git a/py/mock/exception.py b/py/mock/exception.py
index d02bddb..3c84606 100644
--- a/py/mock/exception.py
+++ b/py/mock/exception.py
@@ -35,6 +35,7 @@ class Error(Exception):
# 40 = some error in the pkg we're building
# 50 = tried to fork a subcommand and it errored out
# 60 = buildroot locked
+# 70 = result dir could not be created
class BuildError(Error):
"rpmbuild failed."
@@ -77,3 +78,16 @@ class BadCmdline(Error):
Error.__init__(self, msg)
self.msg = msg
self.resultcode = 05
+
+class ResultDirNotAccessible(Error):
+ """
+Could not create output directory for built rpms. The directory specified was:
+ %s
+
+Try using the --resultdir= option to select another location. Recommended location is --resultdir=~/mock/.
+"""
+ def __init__(self, msg):
+ Error.__init__(self, msg)
+ self.msg = msg
+ self.resultcode = 70
+
diff --git a/py/mock/util.py b/py/mock/util.py
index 42f7ba6..f52003e 100644
--- a/py/mock/util.py
+++ b/py/mock/util.py
@@ -10,7 +10,6 @@ import ctypes
import fcntl
import os
import os.path
-import popen2
import rpm
import rpmUtils
import rpmUtils.transaction