contrib: Partial fix for failed update-copyright --this year [PR108413]

Message ID Y8UfdUzj63BuX6oj@tucnak
State Unresolved
Headers
Series contrib: Partial fix for failed update-copyright --this year [PR108413] |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Jakub Jelinek Jan. 16, 2023, 9:57 a.m. UTC
  Hi!

As mentioned on IRC or in PR108413, the last update-copyright.py --this year
failed and that is why we are in a strange state where some copyrights have
been updated and others have not.
The full list of errors I got was I think:
gcc/m2/mc-boot/GmcOptions.c: unrecognised copyright: comment (f, (const char *) "Copyright (C) ''2021'' Free Software Foundation, Inc.", 53);
gcc/m2/mc-boot/GmcOptions.c: unrecognised copyright: comment (f, (const char *) "Copyright (C) ''2021'' Free Software Foundation, Inc.", 53);
gcc/testsuite/gm2/switches/pedantic-params/pass/Strings.mod: unrecognised copyright holder: Faculty of Information Technology,
gcc/testsuite/gm2/switches/pedantic-params/pass/Strings2.mod: unrecognised copyright holder: Faculty of Information Technology,
libphobos/libdruntime/__builtins.di: unrecognised copyright: * Copyright: Copyright Digital Mars 2022
libstdc++-v3/src/c++17/fast_float/fast_float.h: unrecognised copyright holder: The fast_float authors
libstdc++-v3/include/c_compatibility/stdatomic.h: unrecognised copyright holder: The GCC developers

The following patch deals with the gcc/testsuite/gm2 ones and
with the fast_float.h one, ok for trunk?

Not really sure what we should do in the GmcOptions.c case
(perhaps obfuscate it in the source somehow by splitting
the string literals into different substrings
Perhaps "Copy" "right (" "C) ''..." would do it?  Or do we want
to bump there each year (manually or by the script)?
E.g. in gcc.cc we have
      printf ("Copyright %s 2023 Free Software Foundation, Inc.\n",
              _("(C)"));
which also prints (C) nicer in Unicode if possible and is updated
by hand each year.

I have no idea about the libphobos case, we have tons of
libphobos/src/std/format/spec.d:Copyright: Copyright The D Language Foundation 2000-2013.
libphobos/src/std/random.d:Copyright: Copyright Andrei Alexandrescu 2008 - 2009, Joseph Rushton Wakeling 2012.
etc. lines and those aren't reported as errors.

And the last one is that I think for The GCC developers we should treat it
similarly like FSF and bump copyright on it.
Would
        canon_gcc = 'The GCC developers'
        self.add_package_author ('The GCC developers', canon_gcc)
        self.add_package_author ('The GCC Developers', canon_gcc)
or something similar do the trick?

2023-01-16  Jakub Jelinek  <jakub@redhat.com>

	PR other/108413
	* update-copyright.py (TestsuiteFilter): Add .mod and .rs extensions.
	(GCCCopyright): Add 'The fast_float authors' as external author.


	Jakub
  

Comments

Richard Biener Jan. 16, 2023, 9:58 a.m. UTC | #1
On Mon, 16 Jan 2023, Jakub Jelinek wrote:

> Hi!
> 
> As mentioned on IRC or in PR108413, the last update-copyright.py --this year
> failed and that is why we are in a strange state where some copyrights have
> been updated and others have not.
> The full list of errors I got was I think:
> gcc/m2/mc-boot/GmcOptions.c: unrecognised copyright: comment (f, (const char *) "Copyright (C) ''2021'' Free Software Foundation, Inc.", 53);
> gcc/m2/mc-boot/GmcOptions.c: unrecognised copyright: comment (f, (const char *) "Copyright (C) ''2021'' Free Software Foundation, Inc.", 53);
> gcc/testsuite/gm2/switches/pedantic-params/pass/Strings.mod: unrecognised copyright holder: Faculty of Information Technology,
> gcc/testsuite/gm2/switches/pedantic-params/pass/Strings2.mod: unrecognised copyright holder: Faculty of Information Technology,
> libphobos/libdruntime/__builtins.di: unrecognised copyright: * Copyright: Copyright Digital Mars 2022
> libstdc++-v3/src/c++17/fast_float/fast_float.h: unrecognised copyright holder: The fast_float authors
> libstdc++-v3/include/c_compatibility/stdatomic.h: unrecognised copyright holder: The GCC developers
> 
> The following patch deals with the gcc/testsuite/gm2 ones and
> with the fast_float.h one, ok for trunk?

OK

> Not really sure what we should do in the GmcOptions.c case
> (perhaps obfuscate it in the source somehow by splitting
> the string literals into different substrings
> Perhaps "Copy" "right (" "C) ''..." would do it?  Or do we want
> to bump there each year (manually or by the script)?
> E.g. in gcc.cc we have
>       printf ("Copyright %s 2023 Free Software Foundation, Inc.\n",
>               _("(C)"));
> which also prints (C) nicer in Unicode if possible and is updated
> by hand each year.
> 
> I have no idea about the libphobos case, we have tons of
> libphobos/src/std/format/spec.d:Copyright: Copyright The D Language Foundation 2000-2013.
> libphobos/src/std/random.d:Copyright: Copyright Andrei Alexandrescu 2008 - 2009, Joseph Rushton Wakeling 2012.
> etc. lines and those aren't reported as errors.
> 
> And the last one is that I think for The GCC developers we should treat it
> similarly like FSF and bump copyright on it.
> Would
>         canon_gcc = 'The GCC developers'
>         self.add_package_author ('The GCC developers', canon_gcc)
>         self.add_package_author ('The GCC Developers', canon_gcc)
> or something similar do the trick?
> 
> 2023-01-16  Jakub Jelinek  <jakub@redhat.com>
> 
> 	PR other/108413
> 	* update-copyright.py (TestsuiteFilter): Add .mod and .rs extensions.
> 	(GCCCopyright): Add 'The fast_float authors' as external author.
> 
> --- contrib/update-copyright.py.jj	2023-01-06 10:01:50.217579023 +0100
> +++ contrib/update-copyright.py	2023-01-16 10:39:08.786185284 +0100
> @@ -596,6 +596,8 @@ class TestsuiteFilter (GenericFilter):
>                  '.go',
>                  '.inc',
>                  '.java',
> +                '.mod',
> +                '.rs'
>                  ])
>  
>      def skip_file (self, dir, filename):
> @@ -733,6 +735,7 @@ class GCCCopyright (Copyright):
>          self.add_external_author ('Stephen L. Moshier')
>          self.add_external_author ('Sun Microsystems, Inc. All rights reserved.')
>          self.add_external_author ('The D Language Foundation, All Rights Reserved')
> +        self.add_external_author ('The fast_float authors')
>          self.add_external_author ('The Go Authors.  All rights reserved.')
>          self.add_external_author ('The Go Authors. All rights reserved.')
>          self.add_external_author ('The Go Authors.')
> 
> 	Jakub
> 
>
  
Gaius Mulley Jan. 17, 2023, 3:52 p.m. UTC | #2
Jakub Jelinek <jakub@redhat.com> writes:

> Hi!
>
> As mentioned on IRC or in PR108413, the last update-copyright.py --this year
> failed and that is why we are in a strange state where some copyrights have
> been updated and others have not.
> The full list of errors I got was I think:
> gcc/m2/mc-boot/GmcOptions.c: unrecognised copyright: comment (f, (const char *) "Copyright (C) ''2021'' Free Software Foundation, Inc.", 53);
> gcc/m2/mc-boot/GmcOptions.c: unrecognised copyright: comment (f, (const char *) "Copyright (C) ''2021'' Free Software Foundation, Inc.", 53);
> gcc/testsuite/gm2/switches/pedantic-params/pass/Strings.mod: unrecognised copyright holder: Faculty of Information Technology,
> gcc/testsuite/gm2/switches/pedantic-params/pass/Strings2.mod: unrecognised copyright holder: Faculty of Information Technology,
> libphobos/libdruntime/__builtins.di: unrecognised copyright: * Copyright: Copyright Digital Mars 2022
> libstdc++-v3/src/c++17/fast_float/fast_float.h: unrecognised copyright holder: The fast_float authors
> libstdc++-v3/include/c_compatibility/stdatomic.h: unrecognised copyright holder: The GCC developers
>
> The following patch deals with the gcc/testsuite/gm2 ones and
> with the fast_float.h one, ok for trunk?
>
> Not really sure what we should do in the GmcOptions.c case
> (perhaps obfuscate it in the source somehow by splitting
> the string literals into different substrings
> Perhaps "Copy" "right (" "C) ''..." would do it?  Or do we want
> to bump there each year (manually or by the script)?
> E.g. in gcc.cc we have
>       printf ("Copyright %s 2023 Free Software Foundation, Inc.\n",
>               _("(C)"));
> which also prints (C) nicer in Unicode if possible and is updated
> by hand each year.
>

Hi,

I've git pushed some fixes for gcc/m2/mc/mcOptions.mod to obfuscate the
copyright text.  The change to mcOptions.mod also includes the removal
of the 'YEAR' constant and it queries the system for the year.  A
summary of the ChangeLog:

gcc/m2/ChangeLog:

        * mc-boot/GmcOptions.c: Rebuilt.
        * mc/mcOptions.mod (displayVersion):
        Split first printf into three components
        * mc/mcOptions.mod (YEAR): Remove.
        (getYear): New procedure function.
        (displayVersion): Use result from getYear instead of YEAR.
        Emit boilerplate for GPL v3.
        (gplBody): Use result from getYear instead of YEAR.
        (glplBody): Use result from getYear instead of YEAR.

regards,
Gaius
  

Patch

--- contrib/update-copyright.py.jj	2023-01-06 10:01:50.217579023 +0100
+++ contrib/update-copyright.py	2023-01-16 10:39:08.786185284 +0100
@@ -596,6 +596,8 @@  class TestsuiteFilter (GenericFilter):
                 '.go',
                 '.inc',
                 '.java',
+                '.mod',
+                '.rs'
                 ])
 
     def skip_file (self, dir, filename):
@@ -733,6 +735,7 @@  class GCCCopyright (Copyright):
         self.add_external_author ('Stephen L. Moshier')
         self.add_external_author ('Sun Microsystems, Inc. All rights reserved.')
         self.add_external_author ('The D Language Foundation, All Rights Reserved')
+        self.add_external_author ('The fast_float authors')
         self.add_external_author ('The Go Authors.  All rights reserved.')
         self.add_external_author ('The Go Authors. All rights reserved.')
         self.add_external_author ('The Go Authors.')