From f0b739f15f3369273ea372eb29a2b841ad6d0ddd Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 2 May 2013 14:46:02 +0000 Subject: buildman: Allow conflicting tags to avoid spurious errors Conflicting tags can prevent buildman from building two series which exist one after the other in a branch. There is no reason not to allow this sort of workflow with buildman, so ignore conflicting tags in buildman. Change-Id: I2231d04d8684fe0f8fe77f8ea107e5899a3da5e8 Signed-off-by: Simon Glass Reviewed-by: Tom Rini diff --git a/tools/buildman/control.py b/tools/buildman/control.py index 8d7b9b5..3e5f56c 100644 --- a/tools/buildman/control.py +++ b/tools/buildman/control.py @@ -137,6 +137,11 @@ def DoBuildman(options, args): upstream_commit = gitutil.GetUpstream(options.git_dir, options.branch) series = patchstream.GetMetaDataForList(upstream_commit, options.git_dir, 1) + # Conflicting tags are not a problem for buildman, since it does not use + # them. For example, Series-version is not useful for buildman. On the + # other hand conflicting tags will cause an error. So allow later tags + # to overwrite earlier ones. + series.allow_overwrite = True series = patchstream.GetMetaDataForList(range_expr, options.git_dir, None, series) diff --git a/tools/patman/series.py b/tools/patman/series.py index 783b3dd..85ed316 100644 --- a/tools/patman/series.py +++ b/tools/patman/series.py @@ -40,6 +40,7 @@ class Series(dict): notes: List of lines in the notes changes: (dict) List of changes for each version, The key is the integer version number + allow_overwrite: Allow tags to overwrite an existing tag """ def __init__(self): self.cc = [] @@ -49,6 +50,7 @@ class Series(dict): self.cover = None self.notes = [] self.changes = {} + self.allow_overwrite = False # Written in MakeCcFile() # key: name of patch file @@ -72,7 +74,7 @@ class Series(dict): """ # If we already have it, then add to our list name = name.replace('-', '_') - if name in self: + if name in self and not self.allow_overwrite: values = value.split(',') values = [str.strip() for str in values] if type(self[name]) != type([]): -- cgit v0.10.2 From e85707570cf44f7b2d1da5ae92af3684c72c28f2 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Mon, 6 May 2013 04:11:58 +0000 Subject: patman: Do not hardcode python path Patman requires python 2.7.4 to run but it doesn't need to be placed in /usr/bin/python. Use env to ensure that the interpreter used is the first one on environment's $PATH on system with several versions of Python installed. Signed-off-by: Michal Simek Reviewed-by: Tom Rini Acked-by: Simon Glass diff --git a/tools/patman/patman.py b/tools/patman/patman.py index a8061a9..7a317c5 100755 --- a/tools/patman/patman.py +++ b/tools/patman/patman.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # # Copyright (c) 2011 The Chromium OS Authors. # -- cgit v0.10.2