From 95c04ed7230671bc813fa1e5df99dc01101f1e85 Mon Sep 17 00:00:00 2001 From: Björn Esser Date: Jun 02 2017 21:33:58 +0000 Subject: Add mock-option '--no-bootstrap-chroot' to defaults This is a temporary fix for mock >= 1.4.1 --- diff --git a/fedora-review.1 b/fedora-review.1 index e4389ed..0e7a25f 100644 --- a/fedora-review.1 +++ b/fedora-review.1 @@ -117,9 +117,9 @@ with the .cfg suffix stripped. Defaults to the root defined in /etc/mock/default.cfg .TP 4 .B -o, --mock-options "options..." -Mock options for the build. Defaults to --no-cleanup-after, you might -want this along with other options -you provide. +Mock options for the build. Defaults to --no-cleanup-after --no-clean, +for use with mock >= 1.4.1 --no-bootstrap-chroot additionally, you might +want this along with other options you provide. .TP 4 .B --no-report Do not generate the review template. diff --git a/src/FedoraReview/settings.py b/src/FedoraReview/settings.py index 8d22751..c637775 100644 --- a/src/FedoraReview/settings.py +++ b/src/FedoraReview/settings.py @@ -26,9 +26,11 @@ import errno import os import os.path import re +import subprocess import sys import ansi +from packaging import version from review_error import ReviewError from xdg_dirs import XdgDirs @@ -53,6 +55,21 @@ def _check_mock_grp(): raise ReviewError(mock_msg) +def _check_mock_ver(): + try: + mock_ver = subprocess.check_output(['mock', '--version']) + except subprocess.CalledProcessError: + mock_ver = '0' + return mock_ver + + +def _mock_options_default(): + mock_opts = '--no-cleanup-after --no-clean' + if(version.parse(_check_mock_ver()) >= version.parse('1.4.1')): + mock_opts = '--no-bootstrap-chroot %s' % mock_opts + return mock_opts + + def _add_modes(modes): ''' Add all mode arguments to the option parser group modes. ''' modes.add_argument('-b', '--bug', metavar='', @@ -111,10 +128,10 @@ def _add_optionals(optional): help='Do not rebuild or install the srpm, use last' ' built one in mock. Implies --cache') optional.add_argument('-o', '--mock-options', metavar='', - default='--no-cleanup-after --no-clean', + default=_mock_options_default(), dest='mock_options', - help='Options to specify to mock for the build,' - ' defaults to --no-cleanup-after --no-clean') + help=('Options to specify to mock for the build,' + ' defaults to %s' % _mock_options_default())) optional.add_argument('--other-bz', default=None, metavar='', dest='other_bz', help='Alternative bugzilla URL')