summaryrefslogtreecommitdiffstats
path: root/py
diff options
context:
space:
mode:
authorMichael E Brown <mebrown@michaels-house.net>2007-12-20 16:32:58 -0600
committerMichael E Brown <mebrown@michaels-house.net>2007-12-20 16:32:58 -0600
commit0c608ac26c2977e8dd74dc9c6518438c809b28ac (patch)
tree369527da426dcc873d1b9a841657816368eae74e /py
parent58102c86f292e3c6ce4703e07eabbc6c0fcbf171 (diff)
downloadmock-0c608ac26c2977e8dd74dc9c6518438c809b28ac.tar.gz
mock-0c608ac26c2977e8dd74dc9c6518438c809b28ac.tar.xz
mock-0c608ac26c2977e8dd74dc9c6518438c809b28ac.zip
fix privs for yum resolvdep, needs to be root to download addl filelists.
Diffstat (limited to 'py')
-rw-r--r--py/mock/backend.py38
1 files changed, 19 insertions, 19 deletions
diff --git a/py/mock/backend.py b/py/mock/backend.py
index 1f6f019..d4d0eb4 100644
--- a/py/mock/backend.py
+++ b/py/mock/backend.py
@@ -325,27 +325,27 @@ class Root(object):
decorate(traceLog())
def installSrpmDeps(self, *srpms):
"""figure out deps from srpm. call yum to install them"""
- arg_string = self.preExistingDeps
- for hdr in mock.util.yieldSrpmHeaders(srpms, plainRpmOk=1):
- # get text buildreqs
- a = mock.util.requiresTextFromHdr(hdr)
- b = mock.util.getAddtlReqs(hdr, self.more_buildreqs)
- for item in mock.util.uniqReqs(a, b):
- arg_string = arg_string + " '%s'" % item
-
- # everything exists, okay, install them all.
- # pass build reqs (as strings) to installer
- if arg_string != "":
- output = self._yum('resolvedep %s' % arg_string, returnOutput=1)
- for line in output.split('\n'):
- if line.lower().find('No Package found for'.lower()) != -1:
- raise mock.exception.BuildError, "Bad build req: %s. Exiting." % line
- # nothing made us exit, so we continue
+ try:
self.uidManager.becomeUser(0, 0)
- try:
+ arg_string = self.preExistingDeps
+ for hdr in mock.util.yieldSrpmHeaders(srpms, plainRpmOk=1):
+ # get text buildreqs
+ a = mock.util.requiresTextFromHdr(hdr)
+ b = mock.util.getAddtlReqs(hdr, self.more_buildreqs)
+ for item in mock.util.uniqReqs(a, b):
+ arg_string = arg_string + " '%s'" % item
+
+ # everything exists, okay, install them all.
+ # pass build reqs (as strings) to installer
+ if arg_string != "":
+ output = self._yum('resolvedep %s' % arg_string, returnOutput=1)
+ for line in output.split('\n'):
+ if line.lower().find('No Package found for'.lower()) != -1:
+ raise mock.exception.BuildError, "Bad build req: %s. Exiting." % line
+ # nothing made us exit, so we continue
self._yum('install %s' % arg_string, returnOutput=1)
- finally:
- self.uidManager.restorePrivs()
+ finally:
+ self.uidManager.restorePrivs()
#