diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/u-boot/tools/patman/series.py | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/u-boot/tools/patman/series.py')
-rw-r--r-- | qemu/roms/u-boot/tools/patman/series.py | 267 |
1 files changed, 0 insertions, 267 deletions
diff --git a/qemu/roms/u-boot/tools/patman/series.py b/qemu/roms/u-boot/tools/patman/series.py deleted file mode 100644 index 88c0d877d..000000000 --- a/qemu/roms/u-boot/tools/patman/series.py +++ /dev/null @@ -1,267 +0,0 @@ -# Copyright (c) 2011 The Chromium OS Authors. -# -# SPDX-License-Identifier: GPL-2.0+ -# - -import itertools -import os - -import get_maintainer -import gitutil -import terminal - -# Series-xxx tags that we understand -valid_series = ['to', 'cc', 'version', 'changes', 'prefix', 'notes', 'name', - 'cover-cc', 'process_log'] - -class Series(dict): - """Holds information about a patch series, including all tags. - - Vars: - cc: List of aliases/emails to Cc all patches to - commits: List of Commit objects, one for each patch - cover: List of lines in the cover letter - 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 = [] - self.to = [] - self.cover_cc = [] - self.commits = [] - self.cover = None - self.notes = [] - self.changes = {} - self.allow_overwrite = False - - # Written in MakeCcFile() - # key: name of patch file - # value: list of email addresses - self._generated_cc = {} - - # These make us more like a dictionary - def __setattr__(self, name, value): - self[name] = value - - def __getattr__(self, name): - return self[name] - - def AddTag(self, commit, line, name, value): - """Add a new Series-xxx tag along with its value. - - Args: - line: Source line containing tag (useful for debug/error messages) - name: Tag name (part after 'Series-') - value: Tag value (part after 'Series-xxx: ') - """ - # If we already have it, then add to our list - name = name.replace('-', '_') - if name in self and not self.allow_overwrite: - values = value.split(',') - values = [str.strip() for str in values] - if type(self[name]) != type([]): - raise ValueError("In %s: line '%s': Cannot add another value " - "'%s' to series '%s'" % - (commit.hash, line, values, self[name])) - self[name] += values - - # Otherwise just set the value - elif name in valid_series: - self[name] = value - else: - raise ValueError("In %s: line '%s': Unknown 'Series-%s': valid " - "options are %s" % (commit.hash, line, name, - ', '.join(valid_series))) - - def AddCommit(self, commit): - """Add a commit into our list of commits - - We create a list of tags in the commit subject also. - - Args: - commit: Commit object to add - """ - commit.CheckTags() - self.commits.append(commit) - - def ShowActions(self, args, cmd, process_tags): - """Show what actions we will/would perform - - Args: - args: List of patch files we created - cmd: The git command we would have run - process_tags: Process tags as if they were aliases - """ - col = terminal.Color() - print 'Dry run, so not doing much. But I would do this:' - print - print 'Send a total of %d patch%s with %scover letter.' % ( - len(args), '' if len(args) == 1 else 'es', - self.get('cover') and 'a ' or 'no ') - - # TODO: Colour the patches according to whether they passed checks - for upto in range(len(args)): - commit = self.commits[upto] - print col.Color(col.GREEN, ' %s' % args[upto]) - cc_list = list(self._generated_cc[commit.patch]) - - # Skip items in To list - if 'to' in self: - try: - map(cc_list.remove, gitutil.BuildEmailList(self.to)) - except ValueError: - pass - - for email in cc_list: - if email == None: - email = col.Color(col.YELLOW, "<alias '%s' not found>" - % tag) - if email: - print ' Cc: ',email - print - for item in gitutil.BuildEmailList(self.get('to', '<none>')): - print 'To:\t ', item - for item in gitutil.BuildEmailList(self.cc): - print 'Cc:\t ', item - print 'Version: ', self.get('version') - print 'Prefix:\t ', self.get('prefix') - if self.cover: - print 'Cover: %d lines' % len(self.cover) - cover_cc = gitutil.BuildEmailList(self.get('cover_cc', '')) - all_ccs = itertools.chain(cover_cc, *self._generated_cc.values()) - for email in set(all_ccs): - print ' Cc: ',email - if cmd: - print 'Git command: %s' % cmd - - def MakeChangeLog(self, commit): - """Create a list of changes for each version. - - Return: - The change log as a list of strings, one per line - - Changes in v4: - - Jog the dial back closer to the widget - - Changes in v3: None - Changes in v2: - - Fix the widget - - Jog the dial - - etc. - """ - final = [] - process_it = self.get('process_log', '').split(',') - process_it = [item.strip() for item in process_it] - need_blank = False - for change in sorted(self.changes, reverse=True): - out = [] - for this_commit, text in self.changes[change]: - if commit and this_commit != commit: - continue - if 'uniq' not in process_it or text not in out: - out.append(text) - line = 'Changes in v%d:' % change - have_changes = len(out) > 0 - if 'sort' in process_it: - out = sorted(out) - if have_changes: - out.insert(0, line) - else: - out = [line + ' None'] - if need_blank: - out.insert(0, '') - final += out - need_blank = have_changes - if self.changes: - final.append('') - return final - - def DoChecks(self): - """Check that each version has a change log - - Print an error if something is wrong. - """ - col = terminal.Color() - if self.get('version'): - changes_copy = dict(self.changes) - for version in range(1, int(self.version) + 1): - if self.changes.get(version): - del changes_copy[version] - else: - if version > 1: - str = 'Change log missing for v%d' % version - print col.Color(col.RED, str) - for version in changes_copy: - str = 'Change log for unknown version v%d' % version - print col.Color(col.RED, str) - elif self.changes: - str = 'Change log exists, but no version is set' - print col.Color(col.RED, str) - - def MakeCcFile(self, process_tags, cover_fname, raise_on_error): - """Make a cc file for us to use for per-commit Cc automation - - Also stores in self._generated_cc to make ShowActions() faster. - - Args: - process_tags: Process tags as if they were aliases - cover_fname: If non-None the name of the cover letter. - raise_on_error: True to raise an error when an alias fails to match, - False to just print a message. - Return: - Filename of temp file created - """ - # Look for commit tags (of the form 'xxx:' at the start of the subject) - fname = '/tmp/patman.%d' % os.getpid() - fd = open(fname, 'w') - all_ccs = [] - for commit in self.commits: - list = [] - if process_tags: - list += gitutil.BuildEmailList(commit.tags, - raise_on_error=raise_on_error) - list += gitutil.BuildEmailList(commit.cc_list, - raise_on_error=raise_on_error) - list += get_maintainer.GetMaintainer(commit.patch) - all_ccs += list - print >>fd, commit.patch, ', '.join(list) - self._generated_cc[commit.patch] = list - - if cover_fname: - cover_cc = gitutil.BuildEmailList(self.get('cover_cc', '')) - print >>fd, cover_fname, ', '.join(set(cover_cc + all_ccs)) - - fd.close() - return fname - - def AddChange(self, version, commit, info): - """Add a new change line to a version. - - This will later appear in the change log. - - Args: - version: version number to add change list to - info: change line for this version - """ - if not self.changes.get(version): - self.changes[version] = [] - self.changes[version].append([commit, info]) - - def GetPatchPrefix(self): - """Get the patch version string - - Return: - Patch string, like 'RFC PATCH v5' or just 'PATCH' - """ - version = '' - if self.get('version'): - version = ' v%s' % self['version'] - - # Get patch name prefix - prefix = '' - if self.get('prefix'): - prefix = '%s ' % self['prefix'] - return '%sPATCH%s' % (prefix, version) |