From: Eric Blake <eblake@redhat.com>
To: qemu-devel@nongnu.org
Cc: Markus Armbruster <armbru@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
Cleber Rosa <crosa@redhat.com>,
Michael Roth <mdroth@linux.vnet.ibm.com>
Subject: [Qemu-devel] [PULL 03/30] qapi: Generate up-to-date copyright notice
Date: Thu, 1 Mar 2018 13:42:18 -0600 [thread overview]
Message-ID: <20180301194245.29854-4-eblake@redhat.com> (raw)
In-Reply-To: <20180301194245.29854-1-eblake@redhat.com>
From: Markus Armbruster <armbru@redhat.com>
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. Note that the fix doesn't copy the "Authors:" part; the
generated files' outdated Authors list goes away without replacement.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20180211093607.27351-4-armbru@redhat.com>
Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
[eblake: Flatten each 'blurb' to one line]
Signed-off-by: Eric Blake <eblake@redhat.com>
---
scripts/qapi.py | 7 +++++--
scripts/qapi-commands.py | 38 ++++++++++++++++----------------------
scripts/qapi-event.py | 36 +++++++++++++++---------------------
scripts/qapi-introspect.py | 29 +++++++++++++----------------
scripts/qapi-types.py | 36 +++++++++++++++---------------------
scripts/qapi-visit.py | 38 ++++++++++++++++----------------------
6 files changed, 80 insertions(+), 104 deletions(-)
diff --git a/scripts/qapi.py b/scripts/qapi.py
index 2e5a1ce6a8f..d2695cd8d60 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -1985,21 +1985,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, copyright=copyright)
if output_dir:
try:
diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py
index 8e8da7c7962..035a28acb2a 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 <aliguori@us.ibm.com>
-# Michael Roth <mdroth@linux.vnet.ibm.com>
-# Markus Armbruster <armbru@redhat.com>
-#
-# 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 <aliguori@us.ibm.com>
+ Michael Roth <mdroth@linux.vnet.ibm.com>
+ Markus Armbruster <armbru@redhat.com>
+
+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 *
@@ -255,18 +256,11 @@ class QAPISchemaGenCommandVisitor(QAPISchemaVisitor):
(input_file, output_dir, do_c, do_h, prefix, opts) = parse_command_line()
-blurb = '''
- * Schema-defined QAPI/QMP commands
- *
- * Copyright IBM, Corp. 2011
- *
- * Authors:
- * Anthony Liguori <aliguori@us.ibm.com>
-'''
+blurb = ' * Schema-defined QAPI/QMP commands'
(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 2b7d720c08f..91874d84fbd 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 <wenchaoqemu@gmail.com>
-# Markus Armbruster <armbru@redhat.com>
-#
-# 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 <wenchaoqemu@gmail.com>
+ Markus Armbruster <armbru@redhat.com>
+
+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 *
@@ -171,18 +172,11 @@ class QAPISchemaGenEventVisitor(QAPISchemaVisitor):
(input_file, output_dir, do_c, do_h, prefix, dummy) = parse_command_line()
-blurb = '''
- * Schema-defined QAPI/QMP events
- *
- * Copyright (c) 2014 Wenchao Xia
- *
- * Authors:
- * Wenchao Xia <wenchaoqemu@gmail.com>
-'''
+blurb = ' * Schema-defined QAPI/QMP events'
(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 83da2bdb942..cc1c3cb7032 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 <armbru@redhat.com>
-#
-# 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 <armbru@redhat.com>
+
+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 *
@@ -176,15 +177,11 @@ for o, a in opts:
if o in ('-u', '--unmask-non-abi-names'):
opt_unmask = True
-blurb = '''
- * QAPI/QMP schema introspection
- *
- * Copyright (C) 2015 Red Hat, Inc.
-'''
+blurb = ' * QAPI/QMP schema introspection'
(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 86afc57f923..766c7737d84 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 <aliguori@us.ibm.com>
-# Markus Armbruster <armbru@redhat.com>
-#
-# 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 <aliguori@us.ibm.com>
+ Michael Roth <mdroth@linux.vnet.ibm.com>
+ Markus Armbruster <armbru@redhat.com>
+
+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 *
@@ -250,19 +252,11 @@ for o, a in opts:
if o in ('-b', '--builtins'):
do_builtins = True
-blurb = '''
- * Schema-defined QAPI types
- *
- * Copyright IBM, Corp. 2011
- *
- * Authors:
- * Anthony Liguori <aliguori@us.ibm.com>
- * Michael Roth <mdroth@linux.vnet.ibm.com>
-'''
+blurb = ' * Schema-defined QAPI types'
(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 0a367072fbc..269227a38e0 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 <aliguori@us.ibm.com>
-# Michael Roth <mdroth@linux.vnet.ibm.com>
-# Markus Armbruster <armbru@redhat.com>
-#
-# 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 <aliguori@us.ibm.com>
+ Michael Roth <mdroth@linux.vnet.ibm.com>
+ Markus Armbruster <armbru@redhat.com>
+
+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 *
@@ -334,18 +335,11 @@ for o, a in opts:
if o in ('-b', '--builtins'):
do_builtins = True
-blurb = '''
- * Schema-defined QAPI visitors
- *
- * Copyright IBM, Corp. 2011
- *
- * Authors:
- * Anthony Liguori <aliguori@us.ibm.com>
-'''
+blurb = ' * Schema-defined QAPI visitors'
(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"
--
2.14.3
next prev parent reply other threads:[~2018-03-01 19:43 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-01 19:42 [Qemu-devel] [PULL 00/30] QAPI patches for 2018-03-01 Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 01/30] Include qapi/qmp/qerror.h exactly where needed Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 02/30] qapi: Streamline boilerplate comment generation Eric Blake
2018-03-01 19:42 ` Eric Blake [this message]
2018-03-01 19:42 ` [Qemu-devel] [PULL 04/30] qapi: Rename variable holding the QAPISchemaGenFOOVisitor Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 05/30] qapi: New classes QAPIGenC, QAPIGenH, QAPIGenDoc Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 06/30] qapi: Reduce use of global variables in generators some Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 07/30] qapi: Turn generators into modules Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 08/30] qapi-gen: New common driver for code and doc generators Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 09/30] qapi-gen: Convert from getopt to argparse Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 10/30] qapi: Touch generated files only when they change Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 11/30] qapi: Improve include file name reporting in error messages Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 12/30] qapi/common: Eliminate QAPISchema.exprs Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 13/30] qapi: Lift error reporting from QAPISchema.__init__() to callers Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 14/30] qapi: Concentrate QAPISchemaParser.exprs updates in .__init__() Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 15/30] qapi: Record 'include' directives in parse tree Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 16/30] qapi: Generate in source order Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 17/30] qapi: Record 'include' directives in intermediate representation Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 18/30] qapi: Rename generated qmp-marshal.c to qmp-commands.c Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 19/30] qapi: Make code-generating visitors use QAPIGen more Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 20/30] qapi/types qapi/visit: Generate built-in stuff into separate files Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 21/30] qapi/common: Fix guardname() for funny filenames Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 22/30] qapi: Generate separate .h, .c for each module Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 23/30] Include less of the generated modular QAPI headers Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 24/30] watchdog: Consolidate QAPI into single file Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 25/30] qapi: Empty out qapi-schema.json Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 26/30] docs/devel/writing-qmp-commands: Update for modular QAPI Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 27/30] docs: Correct outdated information on QAPI Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 28/30] qapi: Move qapi-schema.json to qapi/, rename generated files Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 29/30] Fix up dangling references to qmp-commands.* in comment and doc Eric Blake
2018-03-01 19:42 ` [Qemu-devel] [PULL 30/30] qapi: Don't create useless directory qapi-generated Eric Blake
2018-03-01 20:54 ` [Qemu-devel] [PULL 00/30] QAPI patches for 2018-03-01 no-reply
2018-03-01 21:00 ` Eric Blake
2018-03-01 21:03 ` no-reply
2018-03-01 21:31 ` no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180301194245.29854-4-eblake@redhat.com \
--to=eblake@redhat.com \
--cc=armbru@redhat.com \
--cc=crosa@redhat.com \
--cc=ehabkost@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).