[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC 02/21] qapi: Generate up-to-date copyright n
From: |
Marc-Andre Lureau |
Subject: |
Re: [Qemu-devel] [PATCH RFC 02/21] qapi: Generate up-to-date copyright notice |
Date: |
Mon, 5 Feb 2018 14:44:43 +0100 |
Hi
On Fri, Feb 2, 2018 at 2:03 PM, Markus Armbruster <address@hidden> wrote:
> Each generator carries a copyright notice for the generator itself,
> and another one for the files it generates. Only the former have been
> updated along the way, the latter have not, and are all out of date.
>
> Fix by copying the generator's copyright notice to the generated files
> instead.
That makes sense, but we loose the Author lines in the generated
files. Not a big deal I guess, but worth to point out, no?
>
> Signed-off-by: Markus Armbruster <address@hidden>
Other than that,
Reviewed-by: Marc-André Lureau <address@hidden>
> ---
> scripts/qapi-commands.py | 34 +++++++++++++++-------------------
> scripts/qapi-event.py | 32 ++++++++++++++------------------
> scripts/qapi-introspect.py | 25 ++++++++++++-------------
> scripts/qapi-types.py | 32 ++++++++++++++------------------
> scripts/qapi-visit.py | 34 +++++++++++++++-------------------
> scripts/qapi.py | 7 +++++--
> 6 files changed, 75 insertions(+), 89 deletions(-)
>
> diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py
> index 25ac52503a..a861ac52e7 100644
> --- a/scripts/qapi-commands.py
> +++ b/scripts/qapi-commands.py
> @@ -1,16 +1,17 @@
> -#
> -# QAPI command marshaller generator
> -#
> -# Copyright IBM, Corp. 2011
> -# Copyright (C) 2014-2016 Red Hat, Inc.
> -#
> -# Authors:
> -# Anthony Liguori <address@hidden>
> -# Michael Roth <address@hidden>
> -# Markus Armbruster <address@hidden>
> -#
> -# This work is licensed under the terms of the GNU GPL, version 2.
> -# See the COPYING file in the top-level directory.
> +"""
> +QAPI command marshaller generator
> +
> +Copyright IBM, Corp. 2011
> +Copyright (C) 2014-2018 Red Hat, Inc.
> +
> +Authors:
> + Anthony Liguori <address@hidden>
> + Michael Roth <address@hidden>
> + Markus Armbruster <address@hidden>
> +
> +This work is licensed under the terms of the GNU GPL, version 2.
> +See the COPYING file in the top-level directory.
> +"""
>
> from qapi import *
>
> @@ -257,16 +258,11 @@ class QAPISchemaGenCommandVisitor(QAPISchemaVisitor):
>
> blurb = '''
> * Schema-defined QAPI/QMP commands
> - *
> - * Copyright IBM, Corp. 2011
> - *
> - * Authors:
> - * Anthony Liguori <address@hidden>
> '''
>
> (fdef, fdecl) = open_output(output_dir, do_c, do_h, prefix,
> 'qmp-marshal.c', 'qmp-commands.h',
> - blurb)
> + blurb, __doc__)
>
> fdef.write(mcgen('''
>
> diff --git a/scripts/qapi-event.py b/scripts/qapi-event.py
> index 31faedc689..b1d611c5ea 100644
> --- a/scripts/qapi-event.py
> +++ b/scripts/qapi-event.py
> @@ -1,15 +1,16 @@
> -#
> -# QAPI event generator
> -#
> -# Copyright (c) 2014 Wenchao Xia
> -# Copyright (c) 2015-2016 Red Hat Inc.
> -#
> -# Authors:
> -# Wenchao Xia <address@hidden>
> -# Markus Armbruster <address@hidden>
> -#
> -# This work is licensed under the terms of the GNU GPL, version 2.
> -# See the COPYING file in the top-level directory.
> +"""
> +QAPI event generator
> +
> +Copyright (c) 2014 Wenchao Xia
> +Copyright (c) 2015-2018 Red Hat Inc.
> +
> +Authors:
> + Wenchao Xia <address@hidden>
> + Markus Armbruster <address@hidden>
> +
> +This work is licensed under the terms of the GNU GPL, version 2.
> +See the COPYING file in the top-level directory.
> +"""
>
> from qapi import *
>
> @@ -173,16 +174,11 @@ class QAPISchemaGenEventVisitor(QAPISchemaVisitor):
>
> blurb = '''
> * Schema-defined QAPI/QMP events
> - *
> - * Copyright (c) 2014 Wenchao Xia
> - *
> - * Authors:
> - * Wenchao Xia <address@hidden>
> '''
>
> (fdef, fdecl) = open_output(output_dir, do_c, do_h, prefix,
> 'qapi-event.c', 'qapi-event.h',
> - blurb)
> + blurb, __doc__)
>
> fdef.write(mcgen('''
> #include "qemu/osdep.h"
> diff --git a/scripts/qapi-introspect.py b/scripts/qapi-introspect.py
> index 83da2bdb94..bd9253a172 100644
> --- a/scripts/qapi-introspect.py
> +++ b/scripts/qapi-introspect.py
> @@ -1,13 +1,14 @@
> -#
> -# QAPI introspection generator
> -#
> -# Copyright (C) 2015-2016 Red Hat, Inc.
> -#
> -# Authors:
> -# Markus Armbruster <address@hidden>
> -#
> -# This work is licensed under the terms of the GNU GPL, version 2.
> -# See the COPYING file in the top-level directory.
> +"""
> +QAPI introspection generator
> +
> +Copyright (C) 2015-2018 Red Hat, Inc.
> +
> +Authors:
> + Markus Armbruster <address@hidden>
> +
> +This work is licensed under the terms of the GNU GPL, version 2.
> +See the COPYING file in the top-level directory.
> +"""
>
> from qapi import *
>
> @@ -178,13 +179,11 @@ for o, a in opts:
>
> blurb = '''
> * QAPI/QMP schema introspection
> - *
> - * Copyright (C) 2015 Red Hat, Inc.
> '''
>
> (fdef, fdecl) = open_output(output_dir, do_c, do_h, prefix,
> 'qmp-introspect.c', 'qmp-introspect.h',
> - blurb)
> + blurb, __doc__)
>
> fdef.write(mcgen('''
> #include "qemu/osdep.h"
> diff --git a/scripts/qapi-types.py b/scripts/qapi-types.py
> index 86afc57f92..1103dbda2d 100644
> --- a/scripts/qapi-types.py
> +++ b/scripts/qapi-types.py
> @@ -1,15 +1,17 @@
> -#
> -# QAPI types generator
> -#
> -# Copyright IBM, Corp. 2011
> -# Copyright (c) 2013-2016 Red Hat Inc.
> -#
> -# Authors:
> -# Anthony Liguori <address@hidden>
> -# Markus Armbruster <address@hidden>
> -#
> -# This work is licensed under the terms of the GNU GPL, version 2.
> +"""
> +QAPI types generator
> +
> +Copyright IBM, Corp. 2011
> +Copyright (c) 2013-2018 Red Hat Inc.
> +
> +Authors:
> + Anthony Liguori <address@hidden>
> + Michael Roth <address@hidden>
> + Markus Armbruster <address@hidden>
> +
> +This work is licensed under the terms of the GNU GPL, version 2.
> # See the COPYING file in the top-level directory.
> +"""
>
> from qapi import *
>
> @@ -252,17 +254,11 @@ for o, a in opts:
>
> blurb = '''
> * Schema-defined QAPI types
> - *
> - * Copyright IBM, Corp. 2011
> - *
> - * Authors:
> - * Anthony Liguori <address@hidden>
> - * Michael Roth <address@hidden>
> '''
>
> (fdef, fdecl) = open_output(output_dir, do_c, do_h, prefix,
> 'qapi-types.c', 'qapi-types.h',
> - blurb)
> + blurb, __doc__)
>
> fdef.write(mcgen('''
> #include "qemu/osdep.h"
> diff --git a/scripts/qapi-visit.py b/scripts/qapi-visit.py
> index 9f7127e548..5231f89c36 100644
> --- a/scripts/qapi-visit.py
> +++ b/scripts/qapi-visit.py
> @@ -1,16 +1,17 @@
> -#
> -# QAPI visitor generator
> -#
> -# Copyright IBM, Corp. 2011
> -# Copyright (C) 2014-2016 Red Hat, Inc.
> -#
> -# Authors:
> -# Anthony Liguori <address@hidden>
> -# Michael Roth <address@hidden>
> -# Markus Armbruster <address@hidden>
> -#
> -# This work is licensed under the terms of the GNU GPL, version 2.
> -# See the COPYING file in the top-level directory.
> +"""
> +QAPI visitor generator
> +
> +Copyright IBM, Corp. 2011
> +Copyright (C) 2014-2018 Red Hat, Inc.
> +
> +Authors:
> + Anthony Liguori <address@hidden>
> + Michael Roth <address@hidden>
> + Markus Armbruster <address@hidden>
> +
> +This work is licensed under the terms of the GNU GPL, version 2.
> +See the COPYING file in the top-level directory.
> +"""
>
> from qapi import *
>
> @@ -336,16 +337,11 @@ for o, a in opts:
>
> blurb = '''
> * Schema-defined QAPI visitors
> - *
> - * Copyright IBM, Corp. 2011
> - *
> - * Authors:
> - * Anthony Liguori <address@hidden>
> '''
>
> (fdef, fdecl) = open_output(output_dir, do_c, do_h, prefix,
> 'qapi-visit.c', 'qapi-visit.h',
> - blurb)
> + blurb, __doc__)
>
> fdef.write(mcgen('''
> #include "qemu/osdep.h"
> diff --git a/scripts/qapi.py b/scripts/qapi.py
> index 2e4b2bc9eb..d0816f7479 100644
> --- a/scripts/qapi.py
> +++ b/scripts/qapi.py
> @@ -1975,21 +1975,24 @@ def parse_command_line(extra_options='',
> extra_long_options=[]):
> #
>
>
> -def open_output(output_dir, do_c, do_h, prefix, c_file, h_file, blurb):
> +def open_output(output_dir, do_c, do_h, prefix, c_file, h_file, blurb, doc):
> guard = guardname(prefix + h_file)
> c_file = output_dir + prefix + c_file
> h_file = output_dir + prefix + h_file
> + copyright = '\n * '.join(re.findall(r'^Copyright .*', doc, re.MULTILINE))
> comment = mcgen('''/* AUTOMATICALLY GENERATED, DO NOT MODIFY */
>
> /*
> %(blurb)s
> *
> + * %(copyright)s
> + *
> * This work is licensed under the terms of the GNU LGPL, version 2.1 or
> later.
> * See the COPYING.LIB file in the top-level directory.
> */
>
> ''',
> - blurb=blurb.strip('\n'))
> + blurb=blurb.strip('\n'), copyright=copyright)
>
> if output_dir:
> try:
> --
> 2.13.6
>
- Re: [Qemu-devel] [PATCH RFC 09/21] qapi: Don't absolutize include file name in error messages, (continued)
Re: [Qemu-devel] [PATCH RFC 09/21] qapi: Don't absolutize include file name in error messages, Marc-Andre Lureau, 2018/02/05
[Qemu-devel] [PATCH RFC 15/21] qapi: Record 'include' directives in intermediate representation, Markus Armbruster, 2018/02/02
[Qemu-devel] [PATCH RFC 13/21] qapi: Record 'include' directives in parse tree, Markus Armbruster, 2018/02/02
[Qemu-devel] [PATCH RFC 02/21] qapi: Generate up-to-date copyright notice, Markus Armbruster, 2018/02/02
[Qemu-devel] [PATCH RFC 07/21] qapi: Move parse_command_line() next to its only use, Markus Armbruster, 2018/02/02
[Qemu-devel] [PATCH RFC 19/21] qapi/types: Generate separate .h, .c for each module, Markus Armbruster, 2018/02/02
[Qemu-devel] [PATCH RFC 01/21] qapi: Streamline boilerplate comment generation, Markus Armbruster, 2018/02/02