diff options
author | Michael E Brown <mebrown@michaels-house.net> | 2007-12-20 16:32:58 -0600 |
---|---|---|
committer | Michael E Brown <mebrown@michaels-house.net> | 2007-12-20 22:17:25 -0600 |
commit | 32e71af96859d0b8b1b27005487552493618d316 (patch) | |
tree | 6e5876621d50756019626eff88f533b5c4d05691 | |
parent | 0f1f446039ef3f84c3187d21a1bced6793f19884 (diff) | |
download | mock-32e71af96859d0b8b1b27005487552493618d316.tar.gz mock-32e71af96859d0b8b1b27005487552493618d316.tar.xz mock-32e71af96859d0b8b1b27005487552493618d316.zip |
fix privs for yum resolvdep, needs to be root to download addl filelists.
-rw-r--r-- | py/mock/backend.py | 38 |
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() # |