mirror of
git://git.sv.gnu.org/autoconf
synced 2025-02-05 11:10:57 +08:00
make fetch
This commit is contained in:
parent
b3eb40f9c9
commit
c92f7606d6
@ -5,7 +5,7 @@
|
||||
# It is necessary if you want to build targets usually of interest
|
||||
# only to the maintainer.
|
||||
|
||||
# Copyright (C) 2001, 2003, 2006-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001, 2003, 2006-2020 Free Software Foundation, Inc.
|
||||
|
||||
# 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
|
||||
|
@ -1,40 +1,54 @@
|
||||
eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"'
|
||||
& eval 'exec perl -wS "$0" $argv:q'
|
||||
if 0;
|
||||
#!/bin/sh
|
||||
#! -*-perl-*-
|
||||
|
||||
# Generate a release announcement message.
|
||||
|
||||
my $VERSION = '2017-09-13 06:45'; # UTC
|
||||
# Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Written by Jim Meyering
|
||||
|
||||
# This is a prologue that allows to run a perl script as an executable
|
||||
# on systems that are compliant to a POSIX version before POSIX:2017.
|
||||
# On such systems, the usual invocation of an executable through execlp()
|
||||
# or execvp() fails with ENOEXEC if it is a script that does not start
|
||||
# with a #! line. The script interpreter mentioned in the #! line has
|
||||
# to be /bin/sh, because on GuixSD systems that is the only program that
|
||||
# has a fixed file name. The second line is essential for perl and is
|
||||
# also useful for editing this file in Emacs. The next two lines below
|
||||
# are valid code in both sh and perl. When executed by sh, they re-execute
|
||||
# the script through the perl program found in $PATH. The '-x' option
|
||||
# is essential as well; without it, perl would re-execute the script
|
||||
# through /bin/sh. When executed by perl, the next two lines are a no-op.
|
||||
eval 'exec perl -wSx "$0" "$@"'
|
||||
if 0;
|
||||
|
||||
my $VERSION = '2020-05-10 16:13'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Jim Meyering
|
||||
|
||||
use strict;
|
||||
|
||||
use Getopt::Long;
|
||||
use POSIX qw(strftime);
|
||||
|
||||
(my $ME = $0) =~ s|.*/||;
|
||||
|
||||
my %valid_release_types = map {$_ => 1} qw (alpha beta stable);
|
||||
my @archive_suffixes = ('tar.gz', 'tar.bz2', 'tar.lzma', 'tar.xz');
|
||||
my @archive_suffixes = qw (tar.gz tar.bz2 tar.lz tar.lzma tar.xz);
|
||||
my %digest_classes =
|
||||
(
|
||||
'md5' => (eval { require Digest::MD5; } and 'Digest::MD5'),
|
||||
@ -357,8 +371,8 @@ sub get_tool_versions ($$)
|
||||
}
|
||||
|
||||
{
|
||||
# Neutralize the locale, so that, for instance, "du" does not
|
||||
# issue "1,2" instead of "1.2", what confuses our regexps.
|
||||
# Use the C locale so that, for instance, "du" does not
|
||||
# print "1,2" instead of "1.2", which would confuse our regexps.
|
||||
$ENV{LC_ALL} = "C";
|
||||
|
||||
my $mail_headers;
|
||||
@ -549,7 +563,8 @@ EOF
|
||||
## perl-label-offset: -2
|
||||
## perl-extra-newline-before-brace: t
|
||||
## perl-merge-trailing-else: nil
|
||||
## eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
## eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
## time-stamp-line-limit: 50
|
||||
## time-stamp-start: "my $VERSION = '"
|
||||
## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
|
||||
## time-stamp-time-zone: "UTC0"
|
||||
|
846
build-aux/config.guess
vendored
846
build-aux/config.guess
vendored
File diff suppressed because it is too large
Load Diff
2868
build-aux/config.sub
vendored
2868
build-aux/config.sub
vendored
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,9 @@
|
||||
# gendocs.sh -- generate a GNU manual in many formats. This script is
|
||||
# mentioned in maintain.texi. See the help message below for usage details.
|
||||
|
||||
scriptversion=2017-09-12.23
|
||||
scriptversion=2020-01-01.00
|
||||
|
||||
# Copyright 2003-2017 Free Software Foundation, Inc.
|
||||
# Copyright 2003-2020 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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
|
||||
@ -59,6 +59,7 @@ commonarg= # passed to all makeinfo/texi2html invcations.
|
||||
dirargs= # passed to all tools (-I dir).
|
||||
dirs= # -I directories.
|
||||
htmlarg="--css-ref=/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual"
|
||||
default_htmlarg=true
|
||||
infoarg=--no-split
|
||||
generate_ascii=true
|
||||
generate_html=true
|
||||
@ -72,7 +73,7 @@ texarg="-t @finalout"
|
||||
|
||||
version="gendocs.sh $scriptversion
|
||||
|
||||
Copyright 2017 Free Software Foundation, Inc.
|
||||
Copyright 2020 Free Software Foundation, Inc.
|
||||
There is NO warranty. You may redistribute this software
|
||||
under the terms of the GNU General Public License.
|
||||
For more information about these matters, see the files named COPYING."
|
||||
@ -163,7 +164,7 @@ while test $# -gt 0; do
|
||||
--common) shift; commonarg=$1;;
|
||||
--docbook) docbook=yes;;
|
||||
--email) shift; EMAIL=$1;;
|
||||
--html) shift; htmlarg=$1;;
|
||||
--html) shift; default_htmlarg=false; htmlarg=$1;;
|
||||
--info) shift; infoarg=$1;;
|
||||
--no-ascii) generate_ascii=false;;
|
||||
--no-html) generate_ascii=false;;
|
||||
@ -199,6 +200,11 @@ commonarg=" $dirargs $commonarg"
|
||||
# For most of the following, the base name is just $PACKAGE
|
||||
base=$PACKAGE
|
||||
|
||||
if $default_htmlarg && test -n "$use_texi2html"; then
|
||||
# The legacy texi2html doesn't support TOP_NODE_UP_URL
|
||||
htmlarg="--css-ref=/software/gnulib/manual.css"
|
||||
fi
|
||||
|
||||
if test -n "$srcfile"; then
|
||||
# but here, we use the basename of $srcfile
|
||||
base=`basename "$srcfile"`
|
||||
@ -497,7 +503,7 @@ $GENDOCS_TEMPLATE_DIR/gendocs_template >"$outdir/index.html"
|
||||
echo "Done, see $outdir/ subdirectory for new files."
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
|
@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
# Print a version string.
|
||||
scriptversion=2017-09-13.06; # UTC
|
||||
scriptversion=2019-10-13.15; # UTC
|
||||
|
||||
# Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2007-2020 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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
|
||||
@ -72,9 +72,10 @@ scriptversion=2017-09-13.06; # UTC
|
||||
|
||||
me=$0
|
||||
|
||||
year=`expr "$scriptversion" : '\([^-]*\)'`
|
||||
version="git-version-gen $scriptversion
|
||||
|
||||
Copyright 2011 Free Software Foundation, Inc.
|
||||
Copyright $year Free Software Foundation, Inc.
|
||||
There is NO warranty. You may redistribute this software
|
||||
under the terms of the GNU General Public License.
|
||||
For more information about these matters, see the files named COPYING."
|
||||
@ -141,11 +142,9 @@ then
|
||||
v=`cat $tarball_version_file` || v=
|
||||
case $v in
|
||||
*$nl*) v= ;; # reject multi-line output
|
||||
[0-9]*) ;;
|
||||
*) v= ;;
|
||||
esac
|
||||
test "x$v" = x \
|
||||
&& echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2
|
||||
&& echo "$0: WARNING: $tarball_version_file is damaged" 1>&2
|
||||
fi
|
||||
|
||||
if test "x$v" != x
|
||||
@ -219,7 +218,7 @@ fi
|
||||
printf %s "$v"
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
|
@ -1,31 +1,46 @@
|
||||
eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"'
|
||||
& eval 'exec perl -wS "$0" $argv:q'
|
||||
if 0;
|
||||
#!/bin/sh
|
||||
#! -*-perl-*-
|
||||
|
||||
# Convert git log output to ChangeLog format.
|
||||
|
||||
my $VERSION = '2017-09-13 06:45'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
# Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||
|
||||
# Copyright (C) 2008-2020 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
|
||||
#
|
||||
# Written by Jim Meyering
|
||||
|
||||
# This is a prologue that allows to run a perl script as an executable
|
||||
# on systems that are compliant to a POSIX version before POSIX:2017.
|
||||
# On such systems, the usual invocation of an executable through execlp()
|
||||
# or execvp() fails with ENOEXEC if it is a script that does not start
|
||||
# with a #! line. The script interpreter mentioned in the #! line has
|
||||
# to be /bin/sh, because on GuixSD systems that is the only program that
|
||||
# has a fixed file name. The second line is essential for perl and is
|
||||
# also useful for editing this file in Emacs. The next two lines below
|
||||
# are valid code in both sh and perl. When executed by sh, they re-execute
|
||||
# the script through the perl program found in $PATH. The '-x' option
|
||||
# is essential as well; without it, perl would re-execute the script
|
||||
# through /bin/sh. When executed by perl, the next two lines are a no-op.
|
||||
eval 'exec perl -wSx "$0" "$@"'
|
||||
if 0;
|
||||
|
||||
my $VERSION = '2020-04-04 15:07'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Getopt::Long;
|
||||
@ -174,7 +189,7 @@ sub parse_amend_file($)
|
||||
|
||||
if (!$in_code)
|
||||
{
|
||||
$line =~ /^([0-9a-fA-F]{40})$/
|
||||
$line =~ /^([[:xdigit:]]{40})$/
|
||||
or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"),
|
||||
$fail = 1, next;
|
||||
$sha = lc $1;
|
||||
@ -288,7 +303,7 @@ sub git_dir_option($)
|
||||
my ($sha, $rest) = split ':', $log, 2;
|
||||
defined $sha
|
||||
or die "$ME:$.: malformed log entry\n";
|
||||
$sha =~ /^[0-9a-fA-F]{40}$/
|
||||
$sha =~ /^[[:xdigit:]]{40}$/
|
||||
or die "$ME:$.: invalid SHA1: $sha\n";
|
||||
|
||||
my $skipflag = 0;
|
||||
@ -376,7 +391,7 @@ sub git_dir_option($)
|
||||
@skipshas = ();
|
||||
next;
|
||||
}
|
||||
if ($found && $_ =~ /^([0-9a-fA-F]{7,}) [^ ]/)
|
||||
if ($found && $_ =~ /^([[:xdigit:]]{7,}) [^ ]/)
|
||||
{
|
||||
push ( @skipshas, $1 );
|
||||
}
|
||||
@ -491,7 +506,8 @@ sub git_dir_option($)
|
||||
# Local Variables:
|
||||
# mode: perl
|
||||
# indent-tabs-mode: nil
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-line-limit: 50
|
||||
# time-stamp-start: "my $VERSION = '"
|
||||
# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Sign files and upload them.
|
||||
|
||||
scriptversion=2017-09-13.06; # UTC
|
||||
scriptversion=2018-05-19.18; # UTC
|
||||
|
||||
# Copyright (C) 2004-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004-2020 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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
|
||||
@ -24,7 +24,30 @@ scriptversion=2017-09-13.06; # UTC
|
||||
|
||||
set -e
|
||||
|
||||
GPG='gpg --batch --no-tty'
|
||||
GPG=gpg
|
||||
# Choose the proper version of gpg, so as to avoid a
|
||||
# "gpg-agent is not available in this session" error
|
||||
# when gpg-agent is version 2 but gpg is still version 1.
|
||||
# FIXME-2020: remove, once all major distros ship gpg version 2 as /usr/bin/gpg
|
||||
gpg_agent_version=`(gpg-agent --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'`
|
||||
case "$gpg_agent_version" in
|
||||
2.*)
|
||||
gpg_version=`(gpg --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'`
|
||||
case "$gpg_version" in
|
||||
1.*)
|
||||
if (type gpg2) >/dev/null 2>/dev/null; then
|
||||
# gpg2 is present.
|
||||
GPG=gpg2
|
||||
else
|
||||
# gpg2 is missing. Ubuntu users should install the package 'gnupg2'.
|
||||
echo "WARNING: Using 'gpg', which is too old. You should install 'gpg2'." 1>&2
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
GPG="${GPG} --batch --no-tty"
|
||||
conffile=.gnuploadrc
|
||||
to=
|
||||
dry_run=false
|
||||
@ -54,10 +77,10 @@ Options:
|
||||
--user NAME sign with key NAME
|
||||
--replace allow replacements of existing files
|
||||
--symlink-regex[=EXPR] use sed script EXPR to compute symbolic link names
|
||||
--dry-run do nothing, show what would have been done
|
||||
-n, --dry-run do nothing, show what would have been done
|
||||
(including the constructed directive file)
|
||||
--version output version information and exit
|
||||
--help print this help text and exit
|
||||
-h, --help print this help text and exit
|
||||
|
||||
If --symlink-regex is given without EXPR, then the link target name
|
||||
is created by replacing the version information with '-latest', e.g.:
|
||||
@ -93,12 +116,22 @@ Examples:
|
||||
--symlink-regex \\
|
||||
foobar-1.0.tar.gz foobar-1.0.tar.xz
|
||||
|
||||
4. Upload foobar-0.9.90.tar.gz to two sites:
|
||||
4. Create a symbolic link foobar-latest.tar.gz -> foobar-1.0.tar.gz
|
||||
and likewise for the corresponding .sig file:
|
||||
gnupload --to ftp.gnu.org:foobar \\
|
||||
--symlink foobar-1.0.tar.gz foobar-latest.tar.gz \\
|
||||
foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig
|
||||
or (equivalent):
|
||||
gnupload --to ftp.gnu.org:foobar \\
|
||||
--symlink foobar-1.0.tar.gz foobar-latest.tar.gz \\
|
||||
--symlink foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig
|
||||
|
||||
5. Upload foobar-0.9.90.tar.gz to two sites:
|
||||
gnupload --to alpha.gnu.org:foobar \\
|
||||
--to sources.redhat.com:~ftp/pub/foobar \\
|
||||
foobar-0.9.90.tar.gz
|
||||
|
||||
5. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz
|
||||
6. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz
|
||||
(the -- terminates the list of files to delete):
|
||||
gnupload --to alpha.gnu.org:foobar \\
|
||||
--to sources.redhat.com:~ftp/pub/foobar \\
|
||||
@ -125,7 +158,7 @@ while test -n "$1"; do
|
||||
-*)
|
||||
collect_var=
|
||||
case $1 in
|
||||
--help)
|
||||
-h | --help)
|
||||
echo "$usage"
|
||||
exit $?
|
||||
;;
|
||||
@ -171,7 +204,7 @@ while test -n "$1"; do
|
||||
--symlink)
|
||||
collect_var=symlink_files
|
||||
;;
|
||||
--dry-run|-n)
|
||||
-n | --dry-run)
|
||||
dry_run=:
|
||||
;;
|
||||
--version)
|
||||
@ -432,7 +465,7 @@ done
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
|
@ -2,13 +2,13 @@
|
||||
# Like mv $1 $2, but if the files are the same, just delete $1.
|
||||
# Status is zero if successful, nonzero otherwise.
|
||||
|
||||
VERSION='2017-09-13 06:45'; # UTC
|
||||
VERSION='2018-03-07 03:47'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
|
||||
# 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
|
||||
@ -36,9 +36,10 @@ The variable CMPPROG can be used to specify an alternative to 'cmp'.
|
||||
|
||||
Report bugs to <bug-gnulib@gnu.org>."
|
||||
|
||||
year=`expr "$VERSION" : '\([^-]*\)'`
|
||||
version=`expr "$VERSION" : '\([^ ]*\)'`
|
||||
version="move-if-change (gnulib) $version
|
||||
Copyright (C) 2011 Free Software Foundation, Inc.
|
||||
Copyright $year Free Software Foundation, Inc.
|
||||
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law."
|
||||
@ -75,7 +76,7 @@ else
|
||||
fi
|
||||
|
||||
## Local Variables:
|
||||
## eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
## eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
## time-stamp-start: "VERSION='"
|
||||
## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
|
||||
## time-stamp-time-zone: "UTC0"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,9 @@
|
||||
eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" "$@"'
|
||||
& eval 'exec perl -wS -0777 -pi "$0" $argv:q'
|
||||
if 0;
|
||||
#!/bin/sh
|
||||
#! -*-perl-*-
|
||||
|
||||
# Update an FSF copyright year list to include the current year.
|
||||
|
||||
my $VERSION = '2017-09-13.06:45'; # UTC
|
||||
|
||||
# Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2009-2020 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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
|
||||
@ -19,9 +17,12 @@ my $VERSION = '2017-09-13.06:45'; # UTC
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#
|
||||
# Written by Jim Meyering and Joel E. Denny
|
||||
|
||||
# This script updates an FSF copyright year list to include the current year.
|
||||
# Usage: update-copyright [FILE...]
|
||||
#
|
||||
# The arguments to this script should be names of files that contain
|
||||
# copyright statements to be updated. The copyright holder's name
|
||||
# defaults to "Free Software Foundation, Inc." but may be changed to
|
||||
@ -81,6 +82,7 @@ my $VERSION = '2017-09-13.06:45'; # UTC
|
||||
# B. (c)
|
||||
# C. @copyright{}
|
||||
# D. ©
|
||||
# E. ©
|
||||
#
|
||||
# 4. The "Copyright" appears at the beginning of a line, except that it
|
||||
# may be prefixed by any sequence (e.g., a comment) of no more than
|
||||
@ -96,7 +98,7 @@ my $VERSION = '2017-09-13.06:45'; # UTC
|
||||
# 6. Blank lines, even if preceded by the prefix, do not appear
|
||||
# within the FSF copyright statement.
|
||||
# 7. Each copyright year is 2 or 4 digits, and years are separated by
|
||||
# commas or dashes. Whitespace may appear after commas.
|
||||
# commas, "-", or "--". Whitespace may appear after commas.
|
||||
#
|
||||
# Environment variables:
|
||||
#
|
||||
@ -120,11 +122,32 @@ my $VERSION = '2017-09-13.06:45'; # UTC
|
||||
# 5. Set UPDATE_COPYRIGHT_HOLDER if the copyright holder is other
|
||||
# than "Free Software Foundation, Inc.".
|
||||
|
||||
# This is a prologue that allows to run a perl script as an executable
|
||||
# on systems that are compliant to a POSIX version before POSIX:2017.
|
||||
# On such systems, the usual invocation of an executable through execlp()
|
||||
# or execvp() fails with ENOEXEC if it is a script that does not start
|
||||
# with a #! line. The script interpreter mentioned in the #! line has
|
||||
# to be /bin/sh, because on GuixSD systems that is the only program that
|
||||
# has a fixed file name. The second line is essential for perl and is
|
||||
# also useful for editing this file in Emacs. The next two lines below
|
||||
# are valid code in both sh and perl. When executed by sh, they re-execute
|
||||
# the script through the perl program found in $PATH. The '-x' option
|
||||
# is essential as well; without it, perl would re-execute the script
|
||||
# through /bin/sh. When executed by perl, the next two lines are a no-op.
|
||||
eval 'exec perl -wSx -0777 -pi "$0" "$@"'
|
||||
if 0;
|
||||
|
||||
my $VERSION = '2020-04-04.15:07'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
my $copyright_re = 'Copyright';
|
||||
my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©)';
|
||||
my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©|©)';
|
||||
my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER};
|
||||
$holder ||= 'Free Software Foundation, Inc.';
|
||||
my $prefix_max = 5;
|
||||
@ -169,7 +192,7 @@ while (/(^|\n)(.{0,$prefix_max})$copyright_re/g)
|
||||
$holder_re =~ s/\s/$ws_re/g;
|
||||
my $stmt_remainder_re =
|
||||
"(?:$ws_re$circle_c_re)?"
|
||||
. "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|-))*"
|
||||
. "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|--?))*"
|
||||
. "((?:\\d\\d)?\\d\\d)$ws_re$holder_re";
|
||||
if (/\G$stmt_remainder_re/)
|
||||
{
|
||||
@ -208,26 +231,28 @@ if (defined $stmt_re)
|
||||
# Make the use of intervals consistent.
|
||||
if (!$ENV{UPDATE_COPYRIGHT_USE_INTERVALS})
|
||||
{
|
||||
$stmt =~ s/(\d{4})-(\d{4})/join(', ', $1..$2)/eg;
|
||||
$stmt =~ s/(\d{4})--?(\d{4})/join(', ', $1..$2)/eg;
|
||||
}
|
||||
else
|
||||
{
|
||||
my $ndash = $ARGV =~ /\.tex(i(nfo)?)?$/ ? "--" : "-";
|
||||
|
||||
$stmt =~
|
||||
s/
|
||||
(\d{4})
|
||||
(?:
|
||||
(,\ |-)
|
||||
(,\ |--?)
|
||||
((??{
|
||||
if ($2 eq '-') { '\d{4}'; }
|
||||
if ($2 ne ', ') { '\d{4}'; }
|
||||
elsif (!$3) { $1 + 1; }
|
||||
else { $3 + 1; }
|
||||
}))
|
||||
)+
|
||||
/$1-$3/gx;
|
||||
/$1$ndash$3/gx;
|
||||
|
||||
# When it's 2, emit a single range encompassing all year numbers.
|
||||
$ENV{UPDATE_COPYRIGHT_USE_INTERVALS} == 2
|
||||
and $stmt =~ s/\b(\d{4})\b.*\b(\d{4})\b/$1-$2/;
|
||||
and $stmt =~ s/\b(\d{4})\b.*\b(\d{4})\b/$1$ndash$2/;
|
||||
}
|
||||
|
||||
# Format within margin.
|
||||
@ -263,10 +288,13 @@ else
|
||||
print STDERR "$ARGV: warning: copyright statement not found\n";
|
||||
}
|
||||
|
||||
# Hey Emacs!
|
||||
# Local variables:
|
||||
# coding: utf-8
|
||||
# mode: perl
|
||||
# indent-tabs-mode: nil
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-line-limit: 200
|
||||
# time-stamp-start: "my $VERSION = '"
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H:%02M"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
|
@ -1,32 +1,47 @@
|
||||
eval '(exit $?0)' && eval 'exec perl -wST "$0" "$@"'
|
||||
& eval 'exec perl -wST "$0" $argv:q'
|
||||
if 0;
|
||||
#!/bin/sh
|
||||
#! -*-perl-*-
|
||||
|
||||
# Detect instances of "if (p) free (p);".
|
||||
# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
|
||||
|
||||
my $VERSION = '2017-09-13 06:45'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
# Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||
|
||||
# Copyright (C) 2008-2020 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
|
||||
#
|
||||
# Written by Jim Meyering
|
||||
|
||||
# This is a prologue that allows to run a perl script as an executable
|
||||
# on systems that are compliant to a POSIX version before POSIX:2017.
|
||||
# On such systems, the usual invocation of an executable through execlp()
|
||||
# or execvp() fails with ENOEXEC if it is a script that does not start
|
||||
# with a #! line. The script interpreter mentioned in the #! line has
|
||||
# to be /bin/sh, because on GuixSD systems that is the only program that
|
||||
# has a fixed file name. The second line is essential for perl and is
|
||||
# also useful for editing this file in Emacs. The next two lines below
|
||||
# are valid code in both sh and perl. When executed by sh, they re-execute
|
||||
# the script through the perl program found in $PATH. The '-x' option
|
||||
# is essential as well; without it, perl would re-execute the script
|
||||
# through /bin/sh. When executed by perl, the next two lines are a no-op.
|
||||
eval 'exec perl -wSx "$0" "$@"'
|
||||
if 0;
|
||||
|
||||
my $VERSION = '2020-04-04 15:07'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Getopt::Long;
|
||||
@ -202,7 +217,8 @@ EOF
|
||||
## Local Variables:
|
||||
## mode: perl
|
||||
## indent-tabs-mode: nil
|
||||
## eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
## eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
## time-stamp-line-limit: 50
|
||||
## time-stamp-start: "my $VERSION = '"
|
||||
## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
|
||||
## time-stamp-time-zone: "UTC0"
|
||||
|
@ -2,9 +2,9 @@
|
||||
# List version-controlled file names.
|
||||
|
||||
# Print a version string.
|
||||
scriptversion=2017-09-13.06; # UTC
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2006-2020 Free Software Foundation, Inc.
|
||||
|
||||
# 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
|
||||
@ -25,7 +25,7 @@ scriptversion=2017-09-13.06; # UTC
|
||||
# list the version-controlled files in that directory.
|
||||
|
||||
# If there's an argument, it must be a single, "."-relative directory name.
|
||||
# cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/
|
||||
# cvsu is part of the cvsutils package: https://www.red-bean.com/cvsutils/
|
||||
|
||||
postprocess=
|
||||
case $1 in
|
||||
@ -105,7 +105,7 @@ do
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
@display
|
||||
Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
||||
@uref{http://fsf.org/}
|
||||
@uref{https://fsf.org/}
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
@ -414,7 +414,7 @@ The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
@uref{http://www.gnu.org/copyleft/}.
|
||||
@uref{https://www.gnu.org/copyleft/}.
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
|
@ -1,5 +1,15 @@
|
||||
<!--#include virtual="/server/header.html" -->
|
||||
<!-- Parent-Version: 1.77 -->
|
||||
<!-- Parent-Version: 1.78 -->
|
||||
|
||||
<!--
|
||||
Copyright (C) 2006-2020 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. This file is offered as-is,
|
||||
without any warranty.
|
||||
-->
|
||||
|
||||
<title>%%TITLE%% - GNU Project - Free Software Foundation</title>
|
||||
<!--#include virtual="/server/banner.html" -->
|
||||
<h2>%%TITLE%%</h2>
|
||||
@ -77,7 +87,7 @@ the FSF. Broken links and other corrections or suggestions can be sent
|
||||
to <a href="mailto:%%EMAIL%%"><%%EMAIL%%></a>.</p>
|
||||
</div>
|
||||
|
||||
<p>Copyright © 2017 Free Software Foundation, Inc.</p>
|
||||
<p>Copyright © 2020 Free Software Foundation, Inc.</p>
|
||||
|
||||
<p>This page is licensed under a <a rel="license"
|
||||
href="https://creativecommons.org/licenses/by-nd/3.0/us/">Creative
|
||||
|
@ -549,15 +549,15 @@ should normally be @file{/usr/local/include}, but write it as
|
||||
|
||||
Most compilers other than GCC do not look for header files in directory
|
||||
@file{/usr/local/include}. So installing the header files this way is
|
||||
only useful with GCC. Sometimes this is not a problem because some
|
||||
libraries are only really intended to work with GCC. But some libraries
|
||||
only useful with GCC@. Sometimes this is not a problem because some
|
||||
libraries are only really intended to work with GCC@. But some libraries
|
||||
are intended to work with other compilers. They should install their
|
||||
header files in two places, one specified by @code{includedir} and one
|
||||
specified by @code{oldincludedir}.
|
||||
|
||||
@item oldincludedir
|
||||
The directory for installing @samp{#include} header files for use with
|
||||
compilers other than GCC. This should normally be @file{/usr/include}.
|
||||
compilers other than GCC@. This should normally be @file{/usr/include}.
|
||||
(If you are using Autoconf, you can write it as @samp{@@oldincludedir@@}.)
|
||||
|
||||
The Makefile commands should check whether the value of
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
|
||||
# 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
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2020 Free Software Foundation, Inc.
|
||||
|
||||
# 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
|
||||
@ -47,11 +47,13 @@ use vars qw (@ISA @EXPORT);
|
||||
@ISA = qw (Exporter);
|
||||
@EXPORT = qw (&contents
|
||||
&find_file &mtime
|
||||
&update_file &up_to_date_p
|
||||
&update_file
|
||||
&xsystem &xsystem_hint &xqx
|
||||
&dir_has_case_matching_file &reset_dir_cache
|
||||
&set_dir_cache_file);
|
||||
|
||||
=over 4
|
||||
|
||||
=item C<find_file ($file_name, @include)>
|
||||
|
||||
Return the first path for a C<$file_name> in the C<include>s.
|
||||
@ -161,48 +163,21 @@ sub update_file ($$;$)
|
||||
return
|
||||
}
|
||||
|
||||
my $exists = (-f "$to");
|
||||
if ($exists)
|
||||
if (-f "$to")
|
||||
{
|
||||
# Back up any existing destination.
|
||||
# Back up and install the new one.
|
||||
move ("$to", "$to$SIMPLE_BACKUP_SUFFIX")
|
||||
or fatal "cannot backup $to: $!";
|
||||
move ("$from", "$to")
|
||||
or fatal "cannot rename $from as $to: $!";
|
||||
msg 'note', "'$to' is updated";
|
||||
}
|
||||
|
||||
# Do not use move ("$from", "$to"), as it truncates file timestamps.
|
||||
rename ("$from", "$to")
|
||||
or system ("mv", "$from", "$to") == 0
|
||||
or fatal "cannot rename $from as $to: $!";
|
||||
|
||||
msg 'note', ($exists ? "'$to' is updated" : "'$to is created")
|
||||
}
|
||||
|
||||
|
||||
=item C<up_to_date_p ($file, @dep)>
|
||||
|
||||
Is C<$file> more recent than C<@dep>?
|
||||
|
||||
=cut
|
||||
|
||||
# $BOOLEAN
|
||||
# &up_to_date_p ($FILE, @DEP)
|
||||
# ---------------------------
|
||||
sub up_to_date_p ($@)
|
||||
{
|
||||
my ($file, @dep) = @_;
|
||||
my $mtime = mtime ($file);
|
||||
|
||||
foreach my $dep (@dep)
|
||||
else
|
||||
{
|
||||
if ($mtime < mtime ($dep))
|
||||
{
|
||||
verb "up_to_date ($file): outdated: $dep";
|
||||
return 0;
|
||||
}
|
||||
move ("$from", "$to")
|
||||
or fatal "cannot rename $from as $to: $!";
|
||||
msg 'note', "'$to' is created";
|
||||
}
|
||||
|
||||
verb "up_to_date ($file): up to date";
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
@ -404,4 +379,6 @@ sub set_dir_cache_file ($$)
|
||||
if exists $_directory_cache{$dirname};
|
||||
}
|
||||
|
||||
=back
|
||||
|
||||
1; # for require
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2012-2017, 2020 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2012-2020 Free Software Foundation, Inc.
|
||||
|
||||
# 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
|
||||
@ -96,20 +96,3 @@ L<Getopt::Long>
|
||||
=cut
|
||||
|
||||
1; # for require
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
## perl-continued-statement-offset: 2
|
||||
## perl-continued-brace-offset: 0
|
||||
## perl-brace-offset: 0
|
||||
## perl-brace-imaginary-offset: 0
|
||||
## perl-label-offset: -2
|
||||
## cperl-indent-level: 2
|
||||
## cperl-brace-offset: 0
|
||||
## cperl-continued-brace-offset: 0
|
||||
## cperl-label-offset: -2
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## End:
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
||||
|
||||
# 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
|
||||
|
@ -1,5 +1,5 @@
|
||||
# autobuild.m4 serial 7
|
||||
dnl Copyright (C) 2004, 2006-2017 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2004, 2006-2020 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
266
maint.mk
266
maint.mk
@ -2,7 +2,7 @@
|
||||
# This Makefile fragment tries to be general-purpose enough to be
|
||||
# used by many projects via the gnulib maintainer-makefile module.
|
||||
|
||||
## Copyright (C) 2001-2017, 2020 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
||||
##
|
||||
## 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
|
||||
@ -21,6 +21,13 @@
|
||||
# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
|
||||
ME := maint.mk
|
||||
|
||||
# These variables ought to be defined through the configure.ac section
|
||||
# of the module description. But some packages import this file directly,
|
||||
# ignoring the module description.
|
||||
AWK ?= awk
|
||||
GREP ?= grep
|
||||
SED ?= sed
|
||||
|
||||
# Helper variables.
|
||||
_empty =
|
||||
_sp = $(_empty) $(_empty)
|
||||
@ -46,7 +53,7 @@ member-check = \
|
||||
# Do not save the original name or timestamp in the .tar.gz file.
|
||||
# Use --rsyncable if available.
|
||||
gzip_rsyncable := \
|
||||
$(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null \
|
||||
$(shell gzip --help 2>/dev/null|$(GREP) rsyncable >/dev/null \
|
||||
&& printf %s --rsyncable)
|
||||
GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
|
||||
|
||||
@ -83,9 +90,9 @@ _sc_excl = \
|
||||
$(or $(exclude_file_name_regexp--$@),^$$)
|
||||
VC_LIST_EXCEPT = \
|
||||
$(VC_LIST) | $(SED) 's|^$(_dot_escaped_srcdir)/||' \
|
||||
| if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \
|
||||
else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \
|
||||
| grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \
|
||||
| if test -f $(srcdir)/.x-$@; then $(GREP) -vEf $(srcdir)/.x-$@; \
|
||||
else $(GREP) -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \
|
||||
| $(GREP) -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \
|
||||
$(_prepend_srcdir_prefix)
|
||||
|
||||
ifeq ($(origin prev_version_file), undefined)
|
||||
@ -184,7 +191,7 @@ $(sc_z_rules_): %.z: %
|
||||
@end=$$(date +%s.%N); \
|
||||
start=$$(cat .sc-start-$*); \
|
||||
rm -f .sc-start-$*; \
|
||||
awk -v s=$$start -v e=$$end \
|
||||
$(AWK) -v s=$$start -v e=$$end \
|
||||
'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null
|
||||
|
||||
# The patsubst here is to replace each sc_% rule with its sc_%.z wrapper
|
||||
@ -292,42 +299,56 @@ define _sc_search_regexp
|
||||
\
|
||||
: Filter by file name; \
|
||||
if test -n "$$in_files"; then \
|
||||
files=$$(find $(srcdir) | grep -E "$$in_files" \
|
||||
| grep -Ev '$(_sc_excl)'); \
|
||||
files=$$(find $(srcdir) | $(GREP) -E "$$in_files" \
|
||||
| $(GREP) -Ev '$(_sc_excl)'); \
|
||||
else \
|
||||
files=$$($(VC_LIST_EXCEPT)); \
|
||||
if test -n "$$in_vc_files"; then \
|
||||
files=$$(echo "$$files" | grep -E "$$in_vc_files"); \
|
||||
files=$$(echo "$$files" | $(GREP) -E "$$in_vc_files"); \
|
||||
fi; \
|
||||
fi; \
|
||||
\
|
||||
: Filter by content; \
|
||||
test -n "$$files" && test -n "$$containing" \
|
||||
&& { files=$$(grep -l "$$containing" $$files); } || :; \
|
||||
test -n "$$files" && test -n "$$non_containing" \
|
||||
&& { files=$$(grep -vl "$$non_containing" $$files); } || :; \
|
||||
test -n "$$files" \
|
||||
&& test -n "$$containing" \
|
||||
&& { files=$$(echo "$$files" | xargs $(GREP) -l "$$containing"); } \
|
||||
|| :; \
|
||||
test -n "$$files" \
|
||||
&& test -n "$$non_containing" \
|
||||
&& { files=$$(echo "$$files" | xargs $(GREP) -vl "$$non_containing"); } \
|
||||
|| :; \
|
||||
\
|
||||
: Check for the construct; \
|
||||
if test -n "$$files"; then \
|
||||
if test -n "$$prohibit"; then \
|
||||
grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \
|
||||
| grep -vE "$${exclude:-^$$}" \
|
||||
&& { msg="$$halt" $(_sc_say_and_exit) } || :; \
|
||||
echo "$$files" \
|
||||
| xargs $(GREP) $$with_grep_options $(_ignore_case) -nE \
|
||||
"$$prohibit" /dev/null \
|
||||
| $(GREP) -vE "$${exclude:-^$$}" \
|
||||
&& { msg="$$halt" $(_sc_say_and_exit) } \
|
||||
|| :; \
|
||||
else \
|
||||
grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \
|
||||
| grep . \
|
||||
&& { msg="$$halt" $(_sc_say_and_exit) } || :; \
|
||||
echo "$$files" \
|
||||
| xargs \
|
||||
$(GREP) $$with_grep_options $(_ignore_case) -LE "$$require" \
|
||||
| $(GREP) . \
|
||||
&& { msg="$$halt" $(_sc_say_and_exit) } \
|
||||
|| :; \
|
||||
fi \
|
||||
else :; \
|
||||
fi || :;
|
||||
endef
|
||||
|
||||
sc_avoid_if_before_free:
|
||||
@$(srcdir)/$(_build-aux)/useless-if-before-free \
|
||||
$(useless_free_options) \
|
||||
$$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \
|
||||
{ echo '$(ME): found useless "if" before "free" above' 1>&2; \
|
||||
exit 1; } || :
|
||||
@$(VC_LIST_EXCEPT) \
|
||||
| $(GREP) -v useless-if-before-free \
|
||||
| xargs \
|
||||
$(srcdir)/$(_build-aux)/useless-if-before-free \
|
||||
$(useless_free_options) \
|
||||
&& { printf '$(ME): found useless "if"' \
|
||||
' before "free" above\n' 1>&2; \
|
||||
exit 1; } \
|
||||
|| :
|
||||
|
||||
sc_cast_of_argument_to_free:
|
||||
@prohibit='\<free *\( *\(' halt="don't cast free argument" \
|
||||
@ -388,6 +409,43 @@ sc_prohibit_magic_number_exit:
|
||||
halt='use EXIT_* values rather than magic number' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Check that we don't use $< in non-implicit Makefile rules.
|
||||
#
|
||||
# To find the Makefiles, trace AC_CONFIG_FILES. Using VC_LIST would
|
||||
# miss the Makefiles that are not under VC control (e.g., symlinks
|
||||
# installed for gettext). "Parsing" (recursive) uses of SUBDIRS seems
|
||||
# too delicate.
|
||||
#
|
||||
# Use GNU Make's --print-data-base to normalize the rules into some
|
||||
# easy to parse format: they are separated by two \n. Look for the
|
||||
# "section" about non-pattern rules (marked with "# Files") inside
|
||||
# which there are still the POSIX Make like implicit rules (".c.o").
|
||||
sc_prohibit_gnu_make_extensions_awk_ = \
|
||||
BEGIN { \
|
||||
RS = "\n\n"; \
|
||||
in_rules = 0; \
|
||||
} \
|
||||
/^\# Files/ { \
|
||||
in_rules = 1; \
|
||||
} \
|
||||
/\$$</ && in_rules && $$0 !~ /^(.*\n)*\.\w+(\.\w+)?:/ { \
|
||||
print "Error: " file ": $$< in a non implicit rule\n" $$0; \
|
||||
status = 1; \
|
||||
} \
|
||||
END { \
|
||||
exit status; \
|
||||
}
|
||||
sc_prohibit_gnu_make_extensions:
|
||||
@if $(AWK) --version | grep GNU >/dev/null 2>&1; then \
|
||||
(cd $(srcdir) && autoconf --trace AC_CONFIG_FILES:'$$1') | \
|
||||
tr ' ' '\n' | \
|
||||
$(SED) -ne '/Makefile/{s/\.in$$//;p;}' | \
|
||||
while read m; do \
|
||||
$(MAKE) -qp -f $$m .DUMMY-TARGET 2>/dev/null | \
|
||||
$(AWK) -v file=$$m -e '$($@_awk_)' || exit 1; \
|
||||
done; \
|
||||
fi
|
||||
|
||||
# Using EXIT_SUCCESS as the first argument to error is misleading,
|
||||
# since when that parameter is 0, error does not exit. Use '0' instead.
|
||||
sc_error_exit_success:
|
||||
@ -399,28 +457,35 @@ sc_error_exit_success:
|
||||
# "FATAL:" should be fully upper-cased in error messages
|
||||
# "WARNING:" should be fully upper-cased, or fully lower-cased
|
||||
sc_error_message_warn_fatal:
|
||||
@grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \
|
||||
| grep -E '"Warning|"Fatal|"fatal' && \
|
||||
{ echo '$(ME): use FATAL, WARNING or warning' 1>&2; \
|
||||
exit 1; } || :
|
||||
@$(VC_LIST_EXCEPT) \
|
||||
| xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \
|
||||
| $(GREP) -E '"Warning|"Fatal|"fatal' \
|
||||
&& { echo '$(ME): use FATAL, WARNING or warning' 1>&2; \
|
||||
exit 1; } \
|
||||
|| :
|
||||
|
||||
# Error messages should not start with a capital letter
|
||||
sc_error_message_uppercase:
|
||||
@grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \
|
||||
| grep -E '"[A-Z]' \
|
||||
| grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' && \
|
||||
{ echo '$(ME): found capitalized error message' 1>&2; \
|
||||
exit 1; } || :
|
||||
@$(VC_LIST_EXCEPT) \
|
||||
| xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \
|
||||
| $(GREP) -E '"[A-Z]' \
|
||||
| $(GREP) -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' \
|
||||
&& { echo '$(ME): found capitalized error message' 1>&2; \
|
||||
exit 1; } \
|
||||
|| :
|
||||
|
||||
# Error messages should not end with a period
|
||||
sc_error_message_period:
|
||||
@grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \
|
||||
| grep -E '[^."]\."' && \
|
||||
{ echo '$(ME): found error message ending in period' 1>&2; \
|
||||
exit 1; } || :
|
||||
@$(VC_LIST_EXCEPT) \
|
||||
| xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \
|
||||
| $(GREP) -E '[^."]\."' \
|
||||
&& { echo '$(ME): found error message ending in period' 1>&2; \
|
||||
exit 1; } \
|
||||
|| :
|
||||
|
||||
sc_file_system:
|
||||
@prohibit=file''system \
|
||||
exclude='/proc/filesystems' \
|
||||
ignore_case=1 \
|
||||
halt='found use of "file''system"; spell it "file system"' \
|
||||
$(_sc_search_regexp)
|
||||
@ -458,8 +523,8 @@ perl_config_h_first_ = \
|
||||
# You must include <config.h> before including any other header file.
|
||||
# This can possibly be via a package-specific header, if given by cfg.mk.
|
||||
sc_require_config_h_first:
|
||||
@if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \
|
||||
files=$$($(VC_LIST_EXCEPT) | grep '\.c$$') && \
|
||||
@if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then \
|
||||
files=$$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$') && \
|
||||
perl -n $(perl_config_h_first_) $$files || \
|
||||
{ echo '$(ME): the above files include some other header' \
|
||||
'before <config.h>' 1>&2; exit 1; } || :; \
|
||||
@ -477,10 +542,10 @@ sc_prohibit_HAVE_MBRTOWC:
|
||||
define _sc_header_without_use
|
||||
dummy=; : so we do not need a semicolon before each use; \
|
||||
h_esc=`echo '[<"]'"$$h"'[">]'|$(SED) 's/\./\\\\./g'`; \
|
||||
if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \
|
||||
files=$$(grep -l '^# *include '"$$h_esc" \
|
||||
$$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \
|
||||
grep -LE "$$re" $$files | grep . && \
|
||||
if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then \
|
||||
files=$$($(GREP) -l '^# *include '"$$h_esc" \
|
||||
$$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$')) && \
|
||||
$(GREP) -LE "$$re" $$files | $(GREP) . && \
|
||||
{ echo "$(ME): the above files include $$h but don't use it" \
|
||||
1>&2; exit 1; } || :; \
|
||||
else :; \
|
||||
@ -510,7 +575,7 @@ sc_prohibit_quote_without_use:
|
||||
|
||||
# Don't include this header unless you use one of its functions.
|
||||
sc_prohibit_long_options_without_use:
|
||||
@h='long-options.h' re='\<parse_long_options *\(' \
|
||||
@h='long-options.h' re='\<parse_(long_options|gnu_standard_options_only) *\(' \
|
||||
$(_sc_header_without_use)
|
||||
|
||||
# Don't include this header unless you use one of its functions.
|
||||
@ -571,7 +636,7 @@ sc_prohibit_posixver_without_use:
|
||||
@h='posixver.h' re='\<posix2_version *\(' $(_sc_header_without_use)
|
||||
|
||||
sc_prohibit_same_without_use:
|
||||
@h='same.h' re='\<same_name *\(' $(_sc_header_without_use)
|
||||
@h='same.h' re='\<same_name(at)? *\(' $(_sc_header_without_use)
|
||||
|
||||
sc_prohibit_hash_pjw_without_use:
|
||||
@h='hash-pjw.h' \
|
||||
@ -584,7 +649,7 @@ sc_prohibit_safe_read_without_use:
|
||||
|
||||
sc_prohibit_argmatch_without_use:
|
||||
@h='argmatch.h' \
|
||||
re='(\<(ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<(invalid_arg|argmatch(_exit_fn|_(in)?valid)?) *\()' \
|
||||
re='(\<(ARGMATCH_DEFINE_GROUP|ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<(invalid_arg|argmatch(_exit_fn|_(in)?valid)?) *\()' \
|
||||
$(_sc_header_without_use)
|
||||
|
||||
sc_prohibit_canonicalize_without_use:
|
||||
@ -734,9 +799,9 @@ Exit_base := $(notdir $(Exit_witness_file))
|
||||
sc_require_test_exit_idiom:
|
||||
@if test -f $(srcdir)/$(Exit_witness_file); then \
|
||||
die=0; \
|
||||
for i in $$(grep -l -F 'srcdir/$(Exit_base)' \
|
||||
for i in $$($(GREP) -l -F 'srcdir/$(Exit_base)' \
|
||||
$$($(VC_LIST) tests)); do \
|
||||
tail -n1 $$i | grep '^Exit .' > /dev/null \
|
||||
tail -n1 $$i | $(GREP) '^Exit .' > /dev/null \
|
||||
&& : || { die=1; echo $$i; } \
|
||||
done; \
|
||||
test $$die = 1 && \
|
||||
@ -841,18 +906,23 @@ endef
|
||||
# Don't define macros that we already get from gnulib header files.
|
||||
sc_prohibit_always-defined_macros:
|
||||
@if test -d $(gnulib_dir); then \
|
||||
case $$(echo all: | grep -l -f - Makefile) in Makefile);; *) \
|
||||
case $$(echo all: | $(GREP) -l -f - Makefile) in Makefile);; *) \
|
||||
echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \
|
||||
esac; \
|
||||
$(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT)) \
|
||||
&& { echo '$(ME): define the above via some gnulib .h file' \
|
||||
1>&2; exit 1; } || :; \
|
||||
regex=$$($(def_sym_regex)); export regex; \
|
||||
$(VC_LIST_EXCEPT) \
|
||||
| xargs sh -c 'echo $$regex | $(GREP) -E -f - "$$@"' \
|
||||
dummy /dev/null \
|
||||
&& { printf '$(ME): define the above' \
|
||||
' via some gnulib .h file\n' 1>&2; \
|
||||
exit 1; } \
|
||||
|| :; \
|
||||
fi
|
||||
# ==================================================================
|
||||
|
||||
# Prohibit checked in backup files.
|
||||
sc_prohibit_backup_files:
|
||||
@$(VC_LIST) | grep '~$$' && \
|
||||
@$(VC_LIST) | $(GREP) '~$$' && \
|
||||
{ echo '$(ME): found version controlled backup file' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
@ -871,7 +941,7 @@ sc_GFDL_version:
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Don't use Texinfo's @acronym{}.
|
||||
# https://lists.gnu.org/archive/html/bug-gnulib/2010-03/msg00321.html
|
||||
# https://lists.gnu.org/r/bug-gnulib/2010-03/msg00321.html
|
||||
texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$
|
||||
sc_texinfo_acronym:
|
||||
@prohibit='@acronym\{' \
|
||||
@ -926,9 +996,11 @@ require_exactly_one_NL_at_EOF_ = \
|
||||
} \
|
||||
END { exit defined $$fail }
|
||||
sc_prohibit_empty_lines_at_EOF:
|
||||
@perl -le '$(require_exactly_one_NL_at_EOF_)' $$($(VC_LIST_EXCEPT)) \
|
||||
|| { echo '$(ME): empty line(s) or no newline at EOF' \
|
||||
1>&2; exit 1; } || :
|
||||
@$(VC_LIST_EXCEPT) \
|
||||
| xargs perl -le '$(require_exactly_one_NL_at_EOF_)' \
|
||||
|| { echo '$(ME): empty line(s) or no newline at EOF' 1>&2; \
|
||||
exit 1; } \
|
||||
|| :
|
||||
|
||||
# Make sure we don't use st_blocks. Use ST_NBLOCKS instead.
|
||||
# This is a bit of a kludge, since it prevents use of the string
|
||||
@ -971,9 +1043,12 @@ prohibit_doubled_word_ = \
|
||||
ignore_doubled_word_match_RE_ ?= ^$$
|
||||
|
||||
sc_prohibit_doubled_word:
|
||||
@perl -n -0777 $(prohibit_doubled_word_) $$($(VC_LIST_EXCEPT)) \
|
||||
| grep -vE '$(ignore_doubled_word_match_RE_)' \
|
||||
| grep . && { echo '$(ME): doubled words' 1>&2; exit 1; } || :
|
||||
@$(VC_LIST_EXCEPT) \
|
||||
| xargs perl -n -0777 $(prohibit_doubled_word_) \
|
||||
| $(GREP) -vE '$(ignore_doubled_word_match_RE_)' \
|
||||
| $(GREP) . \
|
||||
&& { echo '$(ME): doubled words' 1>&2; exit 1; } \
|
||||
|| :
|
||||
|
||||
# A regular expression matching undesirable combinations of words like
|
||||
# "can not"; this matches them even when the two words appear on different
|
||||
@ -997,10 +1072,12 @@ prohibit_undesirable_word_seq_ = \
|
||||
ignore_undesirable_word_sequence_RE_ ?= ^$$
|
||||
|
||||
sc_prohibit_undesirable_word_seq:
|
||||
@perl -n -0777 $(prohibit_undesirable_word_seq_) \
|
||||
$$($(VC_LIST_EXCEPT)) \
|
||||
| grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \
|
||||
&& { echo '$(ME): undesirable word sequence' >&2; exit 1; } || :
|
||||
@$(VC_LIST_EXCEPT) \
|
||||
| xargs perl -n -0777 $(prohibit_undesirable_word_seq_) \
|
||||
| $(GREP) -vE '$(ignore_undesirable_word_sequence_RE_)' \
|
||||
| $(GREP) . \
|
||||
&& { echo '$(ME): undesirable word sequence' >&2; exit 1; } \
|
||||
|| :
|
||||
|
||||
# Except for shell files and for loops, double semicolon is probably a mistake
|
||||
sc_prohibit_double_semicolon:
|
||||
@ -1032,7 +1109,8 @@ sc_prohibit_test_double_equal:
|
||||
# definition of LDADD from the appropriate Makefile.am and exits 0
|
||||
# when it contains "ICONV".
|
||||
sc_proper_name_utf8_requires_ICONV:
|
||||
@progs=$$(grep -l 'proper_name_utf8 ''("' $$($(VC_LIST_EXCEPT)));\
|
||||
@progs=$$($(VC_LIST_EXCEPT) \
|
||||
| xargs $(GREP) -l 'proper_name_utf8 ''("'); \
|
||||
if test "x$$progs" != x; then \
|
||||
fail=0; \
|
||||
for p in $$progs; do \
|
||||
@ -1041,7 +1119,7 @@ sc_proper_name_utf8_requires_ICONV:
|
||||
-ne 'exit !(/^LDADD =(.+?[^\\]\n)/ms && $$1 =~ /ICONV/)' \
|
||||
$$dir/Makefile.am && continue; \
|
||||
base=$$(basename "$$p" .c); \
|
||||
grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \
|
||||
$(GREP) "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \
|
||||
|| { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \
|
||||
done; \
|
||||
test $$fail = 1 && \
|
||||
@ -1102,12 +1180,12 @@ sc_makefile_at_at_check:
|
||||
-e ' && !/(\w+)\s+=.*\@\1\@$$/' \
|
||||
-e ''$(_makefile_at_at_check_exceptions) \
|
||||
-e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \
|
||||
$$($(VC_LIST_EXCEPT) | grep -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \
|
||||
$$($(VC_LIST_EXCEPT) | $(GREP) -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \
|
||||
&& { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
|
||||
|
||||
news-check: NEWS
|
||||
$(AM_V_GEN)if $(SED) -n $(news-check-lines-spec)p $< \
|
||||
| grep -E $(news-check-regexp) >/dev/null; then \
|
||||
| $(GREP) -E $(news-check-regexp) >/dev/null; then \
|
||||
:; \
|
||||
else \
|
||||
echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2; \
|
||||
@ -1152,12 +1230,13 @@ generated_files ?= $(srcdir)/lib/*.[ch]
|
||||
_gl_translatable_string_re ?= \b(N?_|gettext *)\([^)"]*("|$$)
|
||||
sc_po_check:
|
||||
@if test -f $(po_file); then \
|
||||
grep -E -v '^(#|$$)' $(po_file) \
|
||||
| grep -v '^src/false\.c$$' | sort > $@-1; \
|
||||
files=$$(perl $(perl_translatable_files_list_) \
|
||||
$$($(VC_LIST_EXCEPT)) $(generated_files)); \
|
||||
grep -E -l '$(_gl_translatable_string_re)' $$files \
|
||||
| $(SED) 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2; \
|
||||
$(GREP) -E -v '^(#|$$)' $(po_file) \
|
||||
| $(GREP) -v '^src/false\.c$$' | sort > $@-1; \
|
||||
{ $(VC_LIST_EXCEPT); echo $(generated_files); } \
|
||||
| xargs perl $(perl_translatable_files_list_) \
|
||||
| xargs $(GREP) -E -l '$(_gl_translatable_string_re)' \
|
||||
| $(SED) 's|^$(_dot_escaped_srcdir)/||' \
|
||||
| sort -u > $@-2; \
|
||||
diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \
|
||||
|| { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \
|
||||
rm -f $@-1 $@-2; \
|
||||
@ -1221,18 +1300,21 @@ _hv_regex_weak ?= ^ *\. .*/init\.sh"
|
||||
_hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh"
|
||||
sc_cross_check_PATH_usage_in_tests:
|
||||
@if test -f $(_hv_file); then \
|
||||
grep -l 'VERSION mismatch' $(_hv_file) >/dev/null \
|
||||
$(GREP) -l 'VERSION mismatch' $(_hv_file) >/dev/null \
|
||||
|| { echo "$@: skipped: no such file: $(_hv_file)" 1>&2; \
|
||||
exit 0; }; \
|
||||
grep -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \
|
||||
$(GREP) -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \
|
||||
|| { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \
|
||||
exit 1; }; \
|
||||
good=$$(grep -E '$(_hv_regex_strong)' $(_hv_file)); \
|
||||
grep -LFx "$$good" \
|
||||
$$(grep -lE '$(_hv_regex_weak)' $$($(VC_LIST_EXCEPT))) \
|
||||
| grep . && \
|
||||
{ echo "$(ME): the above files use path_prepend_ inconsistently" \
|
||||
1>&2; exit 1; } || :; \
|
||||
good=$$($(GREP) -E '$(_hv_regex_strong)' $(_hv_file)); \
|
||||
$(VC_LIST_EXCEPT) \
|
||||
| xargs $(GREP) -lE '$(_hv_regex_weak)' \
|
||||
| xargs $(GREP) -LFx "$$good" \
|
||||
| $(GREP) . \
|
||||
&& { printf "$(ME): the above files use" \
|
||||
" path_prepend_ inconsistently\n" 1>&2; \
|
||||
exit 1; } \
|
||||
|| :; \
|
||||
fi
|
||||
|
||||
# BRE regex of file contents to identify a test script.
|
||||
@ -1304,7 +1386,7 @@ gpg_key_ID ?= \
|
||||
$$(cd $(srcdir) \
|
||||
&& git cat-file tag v$(VERSION) \
|
||||
| $(gpgv) --status-fd 1 --keyring /dev/null - - 2>/dev/null \
|
||||
| awk '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
|
||||
| $(AWK) '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
|
||||
|
||||
translation_project_ ?= coordinator@translationproject.org
|
||||
|
||||
@ -1425,7 +1507,7 @@ check: $(gl_public_submodule_commit)
|
||||
ALL_RECURSIVE_TARGETS += alpha beta stable
|
||||
alpha beta stable: $(local-check) writable-files $(submodule-checks)
|
||||
$(AM_V_GEN)test $@ = stable \
|
||||
&& { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
|
||||
&& { echo $(VERSION) | $(GREP) -E '^[0-9]+(\.[0-9]+)+$$' \
|
||||
|| { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
|
||||
|| :
|
||||
$(AM_V_at)$(MAKE) vc-diff-check
|
||||
@ -1523,7 +1605,7 @@ refresh-gnulib-patches:
|
||||
-e 'END{defined $$d and print $$d}' bootstrap.conf); \
|
||||
test -n "$$t" && gl=$$t; \
|
||||
fi; \
|
||||
for diff in $$(cd $$gl; git ls-files | grep '\.diff$$'); do \
|
||||
for diff in $$(cd $$gl; git ls-files | $(GREP) '\.diff$$'); do \
|
||||
b=$$(printf %s "$$diff"|$(SED) 's/\.diff$$//'); \
|
||||
VERSION_CONTROL=none \
|
||||
patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1; \
|
||||
@ -1566,7 +1648,7 @@ update-copyright-env ?=
|
||||
# in the file .x-update-copyright.
|
||||
.PHONY: update-copyright
|
||||
update-copyright:
|
||||
$(AM_V_GEN)grep -l -w Copyright \
|
||||
$(AM_V_GEN)$(GREP) -l -w Copyright \
|
||||
$$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \
|
||||
| $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@
|
||||
|
||||
@ -1580,9 +1662,9 @@ _gl_TS_dir ?= src
|
||||
ALL_RECURSIVE_TARGETS += sc_tight_scope
|
||||
sc_tight_scope: tight-scope.mk
|
||||
@fail=0; \
|
||||
if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \
|
||||
if ! $(GREP) '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \
|
||||
> /dev/null \
|
||||
&& ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \
|
||||
&& ! $(GREP) -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \
|
||||
> /dev/null 2>&1; then \
|
||||
echo '$(ME): skipping $@'; \
|
||||
else \
|
||||
@ -1654,12 +1736,12 @@ _gl_tight_scope: $(bin_PROGRAMS)
|
||||
hdr=`for f in $(_gl_TS_headers); do \
|
||||
test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \
|
||||
( printf '%s\n' '__.*' $(_gl_TS_unmarked_extern_functions); \
|
||||
grep -h -A1 '^extern .*[^;]$$' $$src \
|
||||
| grep -vE '^(extern |--|#)' | $(SED) 's/ .*//; /^$$/d'; \
|
||||
$(GREP) -h -A1 '^extern .*[^;]$$' $$src \
|
||||
| $(GREP) -vE '^(extern |--|#)' | $(SED) 's/ .*//; /^$$/d'; \
|
||||
perl -lne \
|
||||
'$(_gl_TS_function_match) and print $$1' $$hdr; \
|
||||
) | sort -u | $(SED) "$$sed_wrap" > $$t; \
|
||||
nm -g $(_gl_TS_obj_files)|$(SED) -n 's/.* T //p'|grep -Ev -f $$t \
|
||||
nm -g $(_gl_TS_obj_files)|$(SED) -n 's/.* T //p'|$(GREP) -Ev -f $$t \
|
||||
&& { echo the above functions should have static scope >&2; \
|
||||
exit 1; } || : ; \
|
||||
( printf '%s\n' '__.*' main $(_gl_TS_unmarked_extern_vars); \
|
||||
@ -1667,7 +1749,7 @@ _gl_tight_scope: $(bin_PROGRAMS)
|
||||
$$hdr $(_gl_TS_other_headers) \
|
||||
) | sort -u | $(SED) "$$sed_wrap" > $$t; \
|
||||
nm -g $(_gl_TS_obj_files) | $(SED) -n 's/.* [BCDGRS] //p' \
|
||||
| sort -u | grep -Ev -f $$t \
|
||||
| sort -u | $(GREP) -Ev -f $$t \
|
||||
&& { echo the above variables should have static scope >&2; \
|
||||
exit 1; } || :
|
||||
# TS-end
|
||||
|
Loading…
Reference in New Issue
Block a user