[Spice-devel] [PATCH spice-common] codegen: Allows to specify license of generated files

Frediano Ziglio fziglio at redhat.com
Fri May 5 15:58:17 UTC 2017


Had an idea... would be a --license-file option more flexible?
Maybe would be more complicated if we had to quote with the output
language... perhaps we just support C output?
And what if user wants to specify the copyright line with
the header?
I think I'm complicating too much. I'll go for the ack if nobody
has other opinions in the meantime.

Frediano

> 
> Ack
> 
> On Fri, 2017-05-05 at 11:06 +0100, Frediano Ziglio wrote:
> > Some headers for spice are distributed using MIT licenses.
> > Allows to generate such headers if needed.
> > 
> > Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> > ---
> >  spice_codegen.py | 40 +++++++++++++++++++++++++++++++++++++++-
> >  1 file changed, 39 insertions(+), 1 deletion(-)
> > 
> > diff --git a/spice_codegen.py b/spice_codegen.py
> > index 410acbd..d14abc4 100755
> > --- a/spice_codegen.py
> > +++ b/spice_codegen.py
> > @@ -149,6 +149,8 @@ parser.add_option("--prefix", dest="prefix",
> >                    help="set public symbol prefix", default="")
> >  parser.add_option("--ptrsize", dest="ptrsize",
> >                    help="set default pointer size", default="4")
> > +parser.add_option("--license", dest="license",
> > +                  help="license to use for generated file(s)
> > (LGPL/MIT)", default="LGPL")
> >  
> >  (options, args) = parser.parse_args()
> >  
> > @@ -173,7 +175,8 @@ writer.header = codegen.CodeWriter()
> >  writer.header.set_option("dest_file", dest_file)
> >  writer.set_option("source", os.path.basename(proto_file))
> >  
> > -license = """/*
> > +if options.license == "LGPL":
> > +    license = """/*
> >    Copyright (C) 2013 Red Hat, Inc.
> >  
> >    This library is free software; you can redistribute it and/or
> > @@ -191,6 +194,41 @@ license = """/*
> >  */
> >  
> >  """
> > +elif options.license == "MIT":
> > +    license = """/*
> > +   Copyright (C) 2013 Red Hat, Inc.
> > +
> > +   Redistribution and use in source and binary forms, with or
> > without
> > +   modification, are permitted provided that the following
> > conditions are
> > +   met:
> > +
> > +       * Redistributions of source code must retain the above
> > copyright
> > +         notice, this list of conditions and the following
> > disclaimer.
> > +       * Redistributions in binary form must reproduce the above
> > copyright
> > +         notice, this list of conditions and the following
> > disclaimer in
> > +         the documentation and/or other materials provided with the
> > +         distribution.
> > +       * Neither the name of the copyright holder nor the names of
> > its
> > +         contributors may be used to endorse or promote products
> > derived
> > +         from this software without specific prior written
> > permission.
> > +
> > +   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND
> > CONTRIBUTORS "AS
> > +   IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> > LIMITED
> > +   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> > +   PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> > COPYRIGHT
> > +   HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> > INCIDENTAL,
> > +   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> > +   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> > USE,
> > +   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> > ON ANY
> > +   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
> > TORT
> > +   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
> > THE USE
> > +   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
> > DAMAGE.
> > +*/
> > +
> > +"""
> > +else:
> > +    print >> sys.stderr, "Invalid license specified: %s" %
> > options.license
> > +    sys.exit(1)
> >  
> >  writer.public_prefix = options.prefix
> >  
> 


More information about the Spice-devel mailing list