diff options
author | Clark Williams <williams@redhat.com> | 2009-02-01 09:13:35 -0600 |
---|---|---|
committer | Clark Williams <williams@redhat.com> | 2009-02-01 09:13:35 -0600 |
commit | 43b9b5a58bc1533c245202bde51e8f091d25b440 (patch) | |
tree | 4678d068e72fafa325e39935e5823eeb0ed4b2af /py/mock | |
parent | 9eb2dc48fb1097416a42fe4835274b9c4d8a9ad9 (diff) | |
parent | fd41e6e363e0a08ba1f71670ad9a1206b7982ed0 (diff) | |
download | mock-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.py | 7 | ||||
-rw-r--r-- | py/mock/exception.py | 14 | ||||
-rw-r--r-- | py/mock/util.py | 1 |
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 |