glibc/scripts/update-copyrights
Arjun Shankar b121fdc552 Remove 'grp' and merge into 'nss' and 'posix'
The majority of grp routines are entry points for nss functionality.
This commit removes the 'grp' subdirectory and moves all nss-relevant
functionality and all tests to 'nss', and the 'setgroups' stub into
'posix' (alongside the 'getgroups' stub).  References to grp/ are
accordingly changed.  In addition, compat-initgroups.c, a fallback
implementation of initgroups is renamed to initgroups-fallback.c so that
the build system does not confuse it for nss_compat/compat-initgroups.c.

Build time improves very slightly; e.g. down from an average of 45.5s to
44.5s on an 8-thread mobile x86_64 CPU.
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2023-10-24 12:30:59 +02:00

84 lines
2.8 KiB
Bash
Executable File

#!/bin/sh
# Update copyright year lists.
# Copyright (C) 2012-2023 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# The GNU C Library 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
# Lesser General Public License for more details.
# You should have received a copy of the GNU Lesser General Public
# License along with the GNU C Library; if not, see
# <https://www.gnu.org/licenses/>.
# Run this script with the first argument being the location of
# gnulib's update-copyright script. Any other arguments are ignored.
# FSF copyright notices in the glibc source directory containing this
# script will be updated; glibc must then be built to update generated
# files. Copyright dates in --version copyright notices are not
# updated.
set -e
export LC_ALL=C
export UPDATE_COPYRIGHT_FORCE=1
export UPDATE_COPYRIGHT_USE_INTERVALS=2
export UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79
update_script=$1
if ! [ -f "$update_script" ]; then
echo "error: first argument must point to gnulib update-copyright script" >&2
exit 1
fi
cd "$(dirname "$0")/.."
files=$(find . -type f | sed 's|^\./||' | grep -v '^\.git/')
for f in $files; do
case $f in
COPYING | COPYING.LIB | manual/fdl-1.3.texi | manual/lgpl-2.1.texi)
# Licenses imported verbatim from FSF sources.
;;
manual/texinfo.tex | scripts/config.guess | scripts/config.sub \
| scripts/install-sh | scripts/mkinstalldirs | scripts/move-if-change)
# Other files imported verbatim from other GNU repositories.
;;
po/*.po)
# Files imported verbatim from the Translation Project.
;;
INSTALL \
| locale/programs/charmap-kw.h | locale/programs/locfile-kw.h \
| po/libc.pot | sysdeps/gnu/errlist.c)
# Generated files.
;;
configure | */configure | preconfigure | */preconfigure)
# Possibly generated files.
if ! [ -f "$f.ac" ]; then
"$update_script" "$f"
fi
;;
nss/initgroups.c | misc/bits/stab.def | posix/regex.h \
| sysdeps/wordsize-32/divdi3.c)
# Pre-1991 gaps in copyright years, so cannot use a single range.
UPDATE_COPYRIGHT_USE_INTERVALS=1 "$update_script" "$f"
;;
csu/version.c | elf/dl-usage.c)
# Update the copyright string in the output message.
year="$(date +%Y)"
sed -i 's/^Copyright (C) [0-9]\{4\} /Copyright (C) '"$year"' /' $f
"$update_script" "$f"
;;
*)
"$update_script" "$f"
;;
esac
done