Quoting Markus Armbruster (2018-02-11 03:35:41) > 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 <arm...@redhat.com> > Reviewed-by: Eric Blake <ebl...@redhat.com> > Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Michael Roth <mdr...@linux.vnet.ibm.com> > --- > 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 8e8da7c796..84a980d882 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 <aligu...@us.ibm.com> > -# Michael Roth <mdr...@linux.vnet.ibm.com> > -# Markus Armbruster <arm...@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 <aligu...@us.ibm.com> > + Michael Roth <mdr...@linux.vnet.ibm.com> > + Markus Armbruster <arm...@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 * > > @@ -257,16 +258,11 @@ class QAPISchemaGenCommandVisitor(QAPISchemaVisitor): > > blurb = ''' > * Schema-defined QAPI/QMP commands > - * > - * Copyright IBM, Corp. 2011 > - * > - * Authors: > - * Anthony Liguori <aligu...@us.ibm.com> > ''' > > (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 2b7d720c08..0a098803e2 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 <wenchaoq...@gmail.com> > -# Markus Armbruster <arm...@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 <wenchaoq...@gmail.com> > + Markus Armbruster <arm...@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 * > > @@ -173,16 +174,11 @@ class QAPISchemaGenEventVisitor(QAPISchemaVisitor): > > blurb = ''' > * Schema-defined QAPI/QMP events > - * > - * Copyright (c) 2014 Wenchao Xia > - * > - * Authors: > - * Wenchao Xia <wenchaoq...@gmail.com> > ''' > > (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 <arm...@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 <arm...@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 * > > @@ -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 <aligu...@us.ibm.com> > -# Markus Armbruster <arm...@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 <aligu...@us.ibm.com> > + Michael Roth <mdr...@linux.vnet.ibm.com> > + Markus Armbruster <arm...@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 * > > @@ -252,17 +254,11 @@ for o, a in opts: > > blurb = ''' > * Schema-defined QAPI types > - * > - * Copyright IBM, Corp. 2011 > - * > - * Authors: > - * Anthony Liguori <aligu...@us.ibm.com> > - * Michael Roth <mdr...@linux.vnet.ibm.com> > ''' > > (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 0a367072fb..e56b3c1256 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 <aligu...@us.ibm.com> > -# Michael Roth <mdr...@linux.vnet.ibm.com> > -# Markus Armbruster <arm...@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 <aligu...@us.ibm.com> > + Michael Roth <mdr...@linux.vnet.ibm.com> > + Markus Armbruster <arm...@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 * > > @@ -336,16 +337,11 @@ for o, a in opts: > > blurb = ''' > * Schema-defined QAPI visitors > - * > - * Copyright IBM, Corp. 2011 > - * > - * Authors: > - * Anthony Liguori <aligu...@us.ibm.com> > ''' > > (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 2e5a1ce6a8..26c45cee34 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.strip('\n'), copyright=copyright) > > if output_dir: > try: > -- > 2.13.6 >