summaryrefslogtreecommitdiff
path: root/scripts/cros_mark_as_stable.py
diff options
context:
space:
mode:
authorBertrand SIMONNET <bsimonnet@chromium.org>2015-08-05 10:12:49 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-08-11 19:52:29 +0000
commit6af543017d0c90acd45ce496e25003a1b16aa3d6 (patch)
treeb31ad15e247f1ef39faa0ca259af00aac8a10c1d /scripts/cros_mark_as_stable.py
parent93c0ca255080717ad1b199603058d59e1bf6c132 (diff)
downloadchromite-6af543017d0c90acd45ce496e25003a1b16aa3d6.tar.gz
cros_mark_as_stable: Add a --force option.
When force is set, cros_mark_as_stable will try to uprev the blacklisted cros-workon ebuilds. BUG=chromium:514447 TEST=* blacklist libchromeos. * commit a change in src/platform2 * `cros_mark_as_stable -p chromeos-base/libchromeos commit` does nothing. * `cros_mark_as_stable -p chromeos-base/libchromeos --force commit` stabilizes libchromeos. CQ-DEPEND=CL:291137 Change-Id: Icf4935a5026db551531d6420fb103c0fa778137a Reviewed-on: https://chromium-review.googlesource.com/290625 Tested-by: Bertrand Simonnet <bsimonnet@chromium.org> Trybot-Ready: Bertrand Simonnet <bsimonnet@chromium.org> Reviewed-by: Christopher Wiley <wiley@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
Diffstat (limited to 'scripts/cros_mark_as_stable.py')
-rw-r--r--scripts/cros_mark_as_stable.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/scripts/cros_mark_as_stable.py b/scripts/cros_mark_as_stable.py
index dca0432f2..531f652de 100644
--- a/scripts/cros_mark_as_stable.py
+++ b/scripts/cros_mark_as_stable.py
@@ -196,6 +196,9 @@ def GetParser():
help='File to list packages that were revved.')
parser.add_argument('--dryrun', action='store_true',
help='Passes dry-run to git push if pushing a change.')
+ parser.add_argument('--force', action='store_true',
+ help='Force the stabilization of blacklisted packages. '
+ '(only compatible with -p)')
parser.add_argument('-o', '--overlays',
help='Colon-separated list of overlays to modify.')
parser.add_argument('-p', '--packages',
@@ -213,14 +216,18 @@ def GetParser():
def main(argv):
parser = GetParser()
options = parser.parse_args(argv)
+ options.Freeze()
+
+ if options.command == 'commit':
+ if not options.packages and not options.all:
+ parser.error('Please specify at least one package (--packages)')
+ if options.force and options.all:
+ parser.error('Cannot use --force with --all. You must specify a list of '
+ 'packages you want to force uprev.')
- if not options.packages and options.command == 'commit' and not options.all:
- parser.error('Please specify at least one package (--packages)')
if not os.path.isdir(options.srcroot):
parser.error('srcroot is not a valid path: %s' % options.srcroot)
- options.Freeze()
-
portage_util.EBuild.VERBOSE = options.verbose
package_list = None
@@ -243,7 +250,8 @@ def main(argv):
manifest = git.ManifestCheckout.Cached(options.srcroot)
if options.command == 'commit':
- portage_util.BuildEBuildDictionary(overlays, options.all, package_list)
+ portage_util.BuildEBuildDictionary(overlays, options.all, package_list,
+ allow_blacklisted=options.force)
# Contains the array of packages we actually revved.
revved_packages = []