diff --git a/.mailmap b/.mailmap index b8e08297c9..0756a0bf66 100644 --- a/.mailmap +++ b/.mailmap @@ -1,23 +1,29 @@ # This mailmap fixes up author names/addresses. +# +# If you are adding to this file consider if a similar change needs to +# be made to contrib/gitdm/aliases. They are not however completely +# analogous. .mailmap is concerned with fixing up damaged author +# fields where as the gitdm equivalent is more concerned with making +# sure multiple email addresses get mapped onto the same author. +# +# From man git-shortlog the forms are: +# +# Proper Name +# +# Proper Name +# Proper Name Commit Name +# # The first section translates weird addresses from the original git import # into proper addresses so that they are counted properly by git shortlog. Andrzej Zaborowski balrog Anthony Liguori aliguori -Anthony Liguori Anthony Liguori Aurelien Jarno aurel32 Blue Swirl blueswir1 Edgar E. Iglesias edgar_igl Fabrice Bellard bellard -James Hogan Jocelyn Mayer j_mayer Paul Brook pbrook -Yongbok Kim -Aleksandar Markovic -Aleksandar Markovic -Paul Burton -Paul Burton -Paul Burton Thiemo Seufer ths malc malc @@ -32,8 +38,123 @@ Ian McKellar Ian McKellar via Qemu-devel Julia Suvorova via Qemu-devel Justin Terry (VM) Justin Terry (VM) via Qemu-devel +# Next, replace old addresses by a more recent one. +Anthony Liguori Anthony Liguori +James Hogan +Aleksandar Markovic +Aleksandar Markovic +Paul Burton +Paul Burton +Paul Burton +Philippe Mathieu-Daudé +Yongbok Kim # Also list preferred name forms where people have changed their # git author config, or had utf8/latin1 encoding issues. +Aaron Lindsay +Alexey Gerasimenko +Alex Ivanov +Andreas Färber +Bandan Das +Benjamin MARSILI +Benoît Canet +Benoît Canet +Benoît Canet +Boqun Feng +Boqun Feng +Brad Smith +Brijesh Singh +Brilly Wu +Cédric Vincent +CheneyLin +Chen Gang +Chen Gang +Chen Gang +Chen Wei-Ren +Christophe Lyon +Collin L. Walling Daniel P. Berrangé +Eduardo Otubo +Fabrice Desclaux +Fernando Luis Vázquez Cao +Fernando Luis Vázquez Cao +Gautham R. Shenoy +Gautham R. Shenoy +Gonglei (Arei) +Guang Wang +Hailiang Zhang +Hervé Poussineau +Jakub Jermář +Jakub Jermář +Jean-Christophe Dubois +Jindřich Makovička +John Arbuckle +Juha Riihimäki +Juha Riihimäki +Jun Li +Laurent Vivier +Leandro Lupori +Li Guang +Liming Wang +linzhecheng +Liran Schour +Liu Yu +Liu Yu +Li Zhang +Li Zhang +Lluís Vilanova +Lluís Vilanova +Longpeng (Mike) +Luc Michel +Luc Michel +Marc Marí +Marc Marí +Michael Avdienko +Michael S. Tsirkin +Munkyu Im +Nicholas Bellinger +Nicholas Thomas +Nikunj A Dadhania +Orit Wasserman +Paolo Bonzini +Pavel Dovgaluk +Pavel Dovgaluk +Pavel Dovgaluk +Peter Crosthwaite +Peter Crosthwaite +Peter Crosthwaite +Prasad J Pandit +Prasad J Pandit +Qiao Nuohan Reimar Döffinger +Remy Noel +Roger Pau Monné +Shin'ichiro Kawasaki +Shin'ichiro Kawasaki +Sochin Jiang +Takashi Yoshii +Thomas Huth +Thomas Knych +Timothy Baldwin +Tony Nguyen +Venkateswararao Jujjuri +Vibi Sreenivasan +Vijaya Kumar K +Vijaya Kumar K +Vijay Kumar +Vijay Kumar +Wang Guang +Wenchao Xia +Wenshuang Ma +Xiaoqiang Zhao +Xinhua Cao +Xiong Zhang +Yin Yin +yuchenlin +YunQiang Su +YunQiang Su +Yuri Pudgorodskiy +Zhengui Li +Zhenwei Pi +Zhenwei Pi +Zhuang Yanying diff --git a/contrib/gitdm/aliases b/contrib/gitdm/aliases index 07fd3391a5..c1e744312f 100644 --- a/contrib/gitdm/aliases +++ b/contrib/gitdm/aliases @@ -1,6 +1,22 @@ # -# This is the email aliases file, mapping secondary addresses -# onto a single, canonical address. Duplicates some info from .mailmap +# This is the email aliases file, mapping secondary addresses onto a +# single, canonical address. It duplicates some info from .mailmap so +# if you are adding something here also consider if the .mailmap needs +# updating. +# +# If you just want to avoid gitdm complaining about author fields +# which are actually email addresses with the message: +# +# "...is an author name, probably not what you want" +# +# you can just apply --use-mailmap to you git-log command, e.g: +# +# git log --use-mailmap --numstat --since "last 2 years" | $GITDM +# +# however that will have the effect of squashing multiple addresses to +# a canonical address which will distort the stats of those who +# contribute in both personal and professional capacities from +# different addresses. # # weird commits diff --git a/contrib/gitdm/domain-map b/contrib/gitdm/domain-map index fa9d454473..9efe066ec9 100644 --- a/contrib/gitdm/domain-map +++ b/contrib/gitdm/domain-map @@ -18,6 +18,7 @@ nokia.com Nokia oracle.com Oracle proxmox.com Proxmox redhat.com Red Hat +rt-rk.com RT-RK siemens.com Siemens sifive.com SiFive suse.de SUSE diff --git a/contrib/gitdm/filetypes.txt b/contrib/gitdm/filetypes.txt index 165b71b3f9..2d5002fea0 100644 --- a/contrib/gitdm/filetypes.txt +++ b/contrib/gitdm/filetypes.txt @@ -34,7 +34,7 @@ # If there is an filetype which is not in order but has values, it will # be added at the end. # -order build,tests,code,documentation,devel-doc,blobs +order build,interface,tests,code,documentation,devel-doc,blobs # # diff --git a/contrib/gitdm/group-map-individuals b/contrib/gitdm/group-map-individuals index 05e355d30e..1c84717438 100644 --- a/contrib/gitdm/group-map-individuals +++ b/contrib/gitdm/group-map-individuals @@ -2,7 +2,8 @@ # Individual and personal contributors # # This is simply to allow prolific developers with no company -# affiliations to be grouped together in the summary stats. +# affiliations (or non-company related personal work) to be grouped +# together in the summary stats. # f4bug@amsat.org diff --git a/contrib/gitdm/group-map-redhat b/contrib/gitdm/group-map-redhat index 6d05c6b54f..d15db2d35e 100644 --- a/contrib/gitdm/group-map-redhat +++ b/contrib/gitdm/group-map-redhat @@ -5,3 +5,4 @@ david@gibson.dropbear.id.au laurent@vivier.eu pjp@fedoraproject.org +armbru@pond.sub.org diff --git a/gdbstub.c b/gdbstub.c index b92ba59e4d..4cf8af365e 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1820,11 +1820,15 @@ static void handle_read_all_regs(GdbCmdContext *gdb_ctx, void *user_ctx) static void handle_file_io(GdbCmdContext *gdb_ctx, void *user_ctx) { - if (gdb_ctx->num_params >= 2 && gdb_ctx->s->current_syscall_cb) { + if (gdb_ctx->num_params >= 1 && gdb_ctx->s->current_syscall_cb) { target_ulong ret, err; ret = (target_ulong)gdb_ctx->params[0].val_ull; - err = (target_ulong)gdb_ctx->params[1].val_ull; + if (gdb_ctx->num_params >= 2) { + err = (target_ulong)gdb_ctx->params[1].val_ull; + } else { + err = 0; + } gdb_ctx->s->current_syscall_cb(gdb_ctx->s->c_cpu, ret, err); gdb_ctx->s->current_syscall_cb = NULL; } @@ -2588,7 +2592,9 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf) break; } - run_cmd_parser(s, line_buf, cmd_parser); + if (cmd_parser) { + run_cmd_parser(s, line_buf, cmd_parser); + } return RS_IDLE; } diff --git a/tests/docker/docker.py b/tests/docker/docker.py index ac5baab4ca..4bba29e104 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # # Docker controlling module # @@ -11,7 +11,6 @@ # or (at your option) any later version. See the COPYING file in # the top-level directory. -from __future__ import print_function import os import sys import subprocess @@ -25,10 +24,7 @@ import tempfile import re import signal from tarfile import TarFile, TarInfo -try: - from StringIO import StringIO -except ImportError: - from io import StringIO +from io import StringIO from shutil import copy, rmtree from pwd import getpwuid from datetime import datetime, timedelta @@ -62,11 +58,13 @@ USE_ENGINE = EngineEnum.AUTO def _text_checksum(text): """Calculate a digest string unique to the text content""" - return hashlib.sha1(text).hexdigest() + return hashlib.sha1(text.encode('utf-8')).hexdigest() +def _read_dockerfile(path): + return open(path, 'rt', encoding='utf-8').read() def _file_checksum(filename): - return _text_checksum(open(filename, 'rb').read()) + return _text_checksum(_read_dockerfile(filename)) def _guess_engine_command(): @@ -192,7 +190,7 @@ def _read_qemu_dockerfile(img_name): df = os.path.join(os.path.dirname(__file__), "dockerfiles", img_name + ".docker") - return open(df, "r").read() + return _read_dockerfile(df) def _dockerfile_preprocess(df): @@ -262,6 +260,7 @@ class Docker(object): def _output(self, cmd, **kwargs): return subprocess.check_output(self._command + cmd, stderr=subprocess.STDOUT, + encoding='utf-8', **kwargs) def inspect_tag(self, tag): @@ -283,7 +282,9 @@ class Docker(object): if argv is None: argv = [] - tmp_df = tempfile.NamedTemporaryFile(dir=docker_dir, suffix=".docker") + tmp_df = tempfile.NamedTemporaryFile(mode="w+t", + encoding='utf-8', + dir=docker_dir, suffix=".docker") tmp_df.write(dockerfile) if user: @@ -396,7 +397,7 @@ class BuildCommand(SubCommand): help="Dockerfile name") def run(self, args, argv): - dockerfile = open(args.dockerfile, "rb").read() + dockerfile = _read_dockerfile(args.dockerfile) tag = args.tag dkr = Docker() @@ -442,7 +443,7 @@ class BuildCommand(SubCommand): cksum += [(filename, _file_checksum(filename))] argv += ["--build-arg=" + k.lower() + "=" + v - for k, v in os.environ.iteritems() + for k, v in os.environ.items() if k.lower() in FILTERED_ENV_NAMES] dkr.build_image(tag, docker_dir, dockerfile, quiet=args.quiet, user=args.user, argv=argv, @@ -611,7 +612,7 @@ class CheckCommand(SubCommand): print("Need a dockerfile for tag:%s" % (tag)) return 1 - dockerfile = open(args.dockerfile, "rb").read() + dockerfile = _read_dockerfile(args.dockerfile) if dkr.image_matches_dockerfile(tag, dockerfile): if not args.quiet: