From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-il1-x12a.google.com (mail-il1-x12a.google.com [IPv6:2607:f8b0:4864:20::12a]) by sourceware.org (Postfix) with ESMTPS id E21483858420 for ; Mon, 14 Feb 2022 19:28:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E21483858420 Received: by mail-il1-x12a.google.com with SMTP id k18so6666776ils.11 for ; Mon, 14 Feb 2022 11:28:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oAGn4O2EYXv09mDCYFIFrVH+TNmN5Srw9XZyMQehG8U=; b=Ymyu1uyuLdouctcnIq2aqr2HAplhbbU/3XPvlM40Yd+k9LewEMZHZgwHr2ZfS+M4qD WAWGWx6Y/o7AgDGQauvrgw9xxL8eOppSSZ8F4y6DiAtB5FnmmoeQjFnvrMRthxzdmWPz zaLwQEnqCbKaoXCBYQKsnoN3ER4BXO6mByVDsA+iNJRqu3WSF4fkgRSXKWWy3XMYwjHK tGrgDKcdW44PHxRtILYGCl/cOHA5L2ddgO6OYiB8ISUGIj+dQP/kyQ6SGSUP0+HmzCoI +cjRZprVBg4IyrptnvZD2eoFrds/odlmgDqoTLWkgznMIQKXV1SoGG35ar1BZdOo92Xs XtTg== X-Gm-Message-State: AOAM533NZyIzFP/YYvOrAkyRlcL9x0pX+EApA/DZERtoWkWD/IC0pXOJ iWPFwq8fB25s5RHn2yj19AHU+DEUq8EInA== X-Google-Smtp-Source: ABdhPJwceMfOsH8X0+DAYC6he2t7OUBKKhoRUiXwWgzQZ3La9F/lPAjh0IlsWiWP8r93jTIoV2QEkw== X-Received: by 2002:a92:ab01:: with SMTP id v1mr212933ilh.149.1644866936224; Mon, 14 Feb 2022 11:28:56 -0800 (PST) Received: from murgatroyd.Home (75-166-128-165.hlrn.qwest.net. [75.166.128.165]) by smtp.gmail.com with ESMTPSA id g8sm19313065ilc.10.2022.02.14.11.28.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Feb 2022 11:28:55 -0800 (PST) From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 1/2] Move copyright code from gdbarch.py to new file Date: Mon, 14 Feb 2022 12:28:51 -0700 Message-Id: <20220214192852.3637933-2-tromey@adacore.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220214192852.3637933-1-tromey@adacore.com> References: <20220214192852.3637933-1-tromey@adacore.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2022 19:28:59 -0000 This moves the copyright code from gdbarch.py to a new Python source file, gdbcopyright.py. The function in this file will find the copyright dates by scanning the calling script. This will be reused in a future patch. This involved minor changes to the output of gdbarch.py. Also, I've updated copyright.py to remove the reference to gdbarch.sh. We don't need to mention gdbarch.py there, either. --- gdb/copyright.py | 1 - gdb/gdbarch-gen.h | 4 +++- gdb/gdbarch.c | 4 +++- gdb/gdbarch.py | 29 ++++--------------------- gdb/gdbcopyright.py | 52 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 62 insertions(+), 28 deletions(-) create mode 100644 gdb/gdbcopyright.py diff --git a/gdb/copyright.py b/gdb/copyright.py index 8ae9ffff65b..48192e80560 100644 --- a/gdb/copyright.py +++ b/gdb/copyright.py @@ -245,7 +245,6 @@ BY_HAND = ( MULTIPLE_COPYRIGHT_HEADERS = ( "gdb/doc/gdb.texinfo", "gdb/doc/refcard.tex", - "gdb/gdbarch.sh", "gdb/syscalls/update-netbsd.sh", ) diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h index d9d81b7d386..b7beb73d36d 100644 --- a/gdb/gdbarch-gen.h +++ b/gdb/gdbarch-gen.h @@ -20,7 +20,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* This file was created with the aid of ``gdbarch.py''. */ +/* To regenerate this file, run: + ./gdbarch.py +*/ diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 3f7a1e35789..55dd602b27f 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -20,7 +20,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* This file was created with the aid of ``gdbarch.py''. */ +/* To regenerate this file, run: + ./gdbarch.py +*/ /* Maintain the struct gdbarch object. */ diff --git a/gdb/gdbarch.py b/gdb/gdbarch.py index 9b538a7d5c6..3bd6400355e 100755 --- a/gdb/gdbarch.py +++ b/gdb/gdbarch.py @@ -20,11 +20,11 @@ # along with this program. If not, see . import textwrap +import gdbcopyright # All the components created in gdbarch-components.py. components = [] - def join_type_and_name(t, n): "Combine the type T and the name N into a C declaration." if t.endswith("*") or t.endswith("&"): @@ -161,30 +161,9 @@ class Method(Function): with open("gdbarch-components.py") as fd: exec(fd.read()) -copyright = """/* *INDENT-OFF* */ /* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */ -/* vi:set ro: */ - -/* Dynamic architecture support for GDB, the GNU debugger. - - Copyright (C) 1998-2022 Free Software Foundation, Inc. - - This file is part of GDB. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -/* This file was created with the aid of ``gdbarch.py''. */ -""" +copyright = gdbcopyright.copyright( + "gdbarch.py", "Dynamic architecture support for GDB, the GNU debugger." +) def info(c): diff --git a/gdb/gdbcopyright.py b/gdb/gdbcopyright.py new file mode 100644 index 00000000000..9526eac4e20 --- /dev/null +++ b/gdb/gdbcopyright.py @@ -0,0 +1,52 @@ +# Copyright constant for Python code to use. +# +# Copyright (C) 2022 Free Software Foundation, Inc. +# +# This file is part of GDB. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +def copyright(tool, description): + # Search the tool source itself for the correct copyright years. + with open(tool, 'r') as f: + for line in f: + if line.startswith('# Copyright (C) '): + dateline = line[1:].strip() + break + return f"""/* *INDENT-OFF* */ /* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */ +/* vi:set ro: */ + +/* {description} + + {dateline} + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* To regenerate this file, run: + ./{tool} +*/ +""" -- 2.31.1