From b2d485f7f46643b356e99f71a9e71380baea41de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Thu, 15 Jan 2015 11:08:18 +0100 Subject: [PATCH] 1151943 - correctly pass arguments to mock --- src/FedoraReview/mock.py | 16 ++++++++-------- test/run-tests | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/FedoraReview/mock.py b/src/FedoraReview/mock.py index 7504d10..0b44b81 100644 --- a/src/FedoraReview/mock.py +++ b/src/FedoraReview/mock.py @@ -40,7 +40,7 @@ from review_error import ReviewError _RPMLINT_SCRIPT = """ -mock @config@ --shell << 'EOF' +mock @config@ --chroot -- << 'EOF' echo 'rpmlint:' rpmlint @rpm_names@ echo 'rpmlint-done:' @@ -229,7 +229,7 @@ class _Mock(HelpersMixin): if self._topdir: return cmd = self._mock_cmd() - cmd.extend(['-q', '--shell', 'rpm --eval %_topdir']) + cmd.extend(['-q', '--chroot', '--', 'rpm --eval %_topdir']) try: self._topdir = check_output(cmd).strip() self.log.debug("_topdir: " + str(self._topdir)) @@ -241,7 +241,7 @@ class _Mock(HelpersMixin): def _clear_rpm_db(self): """ Mock install uses host's yum -> bad rpm database. """ cmd = self._mock_cmd() - cmd.extend(['--shell', 'rm -f /var/lib/rpm/__db*']) + cmd.extend(['--shell', "'rm -f /var/lib/rpm/__db*'"]) self._run_cmd(cmd) def _get_rpm_paths(self, pattern): @@ -255,7 +255,7 @@ class _Mock(HelpersMixin): def _rpm_eval(self, arg): ''' Run rpm --eval inside mock, return output. ''' cmd = self._mock_cmd() - cmd.extend(['--quiet', '--shell', 'rpm --eval \\"' + arg + '\\"']) + cmd.extend(['--quiet', '--chroot', '--', 'rpm --eval "' + arg + '"']) return check_output(cmd).decode('utf-8').strip() # Last (cached?) output from rpmlint, list of lines. @@ -363,7 +363,7 @@ class _Mock(HelpersMixin): def clear_builddir(self): ''' Remove all sources installed in BUILD. ''' cmd = self._mock_cmd() - cmd.append('--shell') + cmd += ['--chroot', '--'] cmd.append('rm -rf $(rpm --eval %_builddir)/*') errmsg = self._run_cmd(cmd) if errmsg: @@ -383,7 +383,7 @@ class _Mock(HelpersMixin): def is_installed(self, package): ''' Return true iff package is installed in mock chroot. ''' cmd = self._mock_cmd() - cmd.append('--shell') + cmd += ('--chroot', '--') cmd.append('"rpm -q ' + package + '" &>/dev/null') cmd = ' '.join(cmd) rc = call(cmd, shell=True) @@ -403,7 +403,7 @@ class _Mock(HelpersMixin): self.log.warning("Cannot run mock --copyin: " + errmsg) return errmsg cmd = self._mock_cmd() - cmd.append('--shell') + cmd += ['--chroot', '--'] script = 'rpm -i ' + os.path.basename(srpm.filename) + '; ' script += 'rpmbuild --nodeps -bp $(rpm --eval %_specdir)/' \ + srpm.name + '.spec;' @@ -411,7 +411,7 @@ class _Mock(HelpersMixin): cmd.append(script) errmsg = self._run_cmd(cmd) if errmsg: - self.log.warning("Cannot run mock --shell rpmbuild -bp: " + self.log.warning("Cannot run mock --chroot rpmbuild -bp: " + errmsg) return errmsg return None diff --git a/test/run-tests b/test/run-tests index d20721b..cb47da1 100755 --- a/test/run-tests +++ b/test/run-tests @@ -31,7 +31,7 @@ function init_mockroot() root="-r $*" rootmsg="$*" fi - mock -q $root --shell "echo $rootmsg OK >/dev/null" || { + mock -q $root --chroot -- "echo $rootmsg OK >/dev/null" || { echo "Re-initializing mock root $rootmsg" mock -q $root --init } -- 2.1.0