+2018-03-11 Mathieu Lirzin <mthl@gnu.org>
+
+ version 1.16.1
+
+ * configure.ac (AC_INIT): Bump version number to 1.16.1.
+ * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
+ * NEWS: Record release version.
+
+2018-03-11 Mathieu Lirzin <mthl@gnu.org>
+
+ maint: Update files from upstream with 'make fetch'
+
+ * lib/config.guess: Update.
+ * lib/config.sub: Likewise.
+ * lib/gendocs.sh: Likewise.
+ * lib/gitlog-to-changelog: Likewise.
+ * lib/gnupload: Likewise.
+ * lib/texinfo.tex: Likewise.
+ * lib/update-copyright: Likewise.
+
+2018-03-11 Pavel Raiskup <praiskup@redhat.com>
+
+ install-sh: avoid (low risk) race in "/tmp"
+
+ Ensure that nobody can cross privilege boundaries by pre-creating
+ symlink on '$tmpdir' destination directory.
+
+ Just testing 'mkdir -p' by creating "/tmp/ins$RANDOM-$$/d" is not safe
+ because "/tmp" directory is usually world-writeable and
+ "/tmp/ins$RANDOM-$$" content could be pretty easily guessed by
+ attacker (at least for shells where $RANDOM is not supported). So, as
+ the first step, create the "/tmp/ins$RANDOM-$$" without -p. This step
+ would fail early if somebody wanted catch us.
+
+ Systems that implement (and have enabled) fs.protected_symlinks kernel
+ feature are not affected even without this commit.
+
+ References:
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455
+ https://bugzilla.redhat.com/show_bug.cgi?id=1140725
+
+ * lib/install-sh: Implement safer 'mkdir -p' test by running
+ '$mkdirprog $mkdir_mode "$tmpdir"' first.
+ * NEWS: Update.
+
+2018-03-08 Mathieu Lirzin <mthl@gnu.org>
+
+ automake: Don't rely on List::Util to provide 'none'
+
+ This change fixes automake bug#30631.
+
+ This removes the use of List::Util which is not supported by Perl 5.6,
+ by reimplementing the 'none' subroutine.
+
+ * lib/Automake/General.pm (none): New subroutine.
+ * bin/automake.in (handle_single_transform): Use it.
+ * t/pm/General.pl: New test.
+ * t/list-of-tests.mk (perl_TESTS): Add it.
+ * NEWS: Update.
+
+2018-03-08 Mathieu Lirzin <mthl@gnu.org>
+
+ python: Support future python version up to 3.9
+
+ This change fixes automake bug#28160.
+
+ Since AM_PYTHON_PATH macro takes no maximum version argument, there is
+ no need to generate _AM_PYTHON_INTERPRETER_LIST dynamically, like what
+ was previously done by the reverted commit
+ 1d60fb72168e62d33fe433380af621de64e22f23. We could rely on M4 to
+ generate this list statically however this is likely to be a complex
+ solution that would not improve maintainability.
+
+ * m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add 'python3.7',
+ 'python3.8', and 'python3.9'.
+ * NEWS: Update.
+
+2018-03-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ maint: write-file-hooks -> before-save-hook
+
+ write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
+ it's time to use the recommended replacement.
+ Problem reported by Glenn Morris in:
+ https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
+ * contrib/tap-driver.pl, lib/compile, lib/depcomp, lib/install-sh:
+ * lib/mdate-sh, lib/missing, lib/mkinstalldirs, lib/py-compile:
+ * lib/tap-driver.sh, lib/test-driver, lib/ylwrap:
+ Update hook usage for files where Automake is the canonical source.
+
+2018-03-03 Mathieu Lirzin <mthl@gnu.org>
+
+ Revert "python: Generate python interpreter list"
+
+ This reverts commit 1d60fb72168e62d33fe433380af621de64e22f23.
+
+2018-02-25 Mathieu Lirzin <mthl@gnu.org>
+
+ maint: Post-release administrivia
+
+ * NEWS: Add header line for next release.
+ * configure.ac (AC_INIT): Bump version number to 1.16a.
+ * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
+
+2018-02-25 Mathieu Lirzin <mthl@gnu.org>
+
+ Merge branch 'release'
+
2018-02-25 Mathieu Lirzin <mthl@gnu.org>
version 1.16
-# Makefile.in generated by automake 1.16 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
t/pm/DisjCon3.pl \
t/pm/DisjConditions.pl \
t/pm/DisjConditions-t.pl \
+t/pm/General.pl \
t/pm/Version.pl \
t/pm/Version2.pl \
t/pm/Version3.pl \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+New in 1.16.1:
+
+* Bugs fixed:
+
+ - 'install-sh' now ensures that nobody can cross privilege boundaries by
+ pre-creating symlink on the directory inside "/tmp".
+
+ - 'automake' does not depend on the 'none' subroutine of the List::Util
+ module anymore to support older Perl version. (automake bug#30631)
+
+ - A regression in AM_PYTHON_PATH causing the rejection of non literal
+ minimum version parameter hasn't been fixed. (automake bug#30616)
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
New in 1.16:
* Miscellaneous changes
-# generated automatically by aclocal 1.16 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
use Automake::Language;
use File::Basename;
use File::Spec;
-use List::Util 'none';
use Carp;
## ----------------------- ##
my $dname = $derived;
if ($directory ne ''
&& option 'subdir-objects'
- && none { $dname =~ /$_$/ } @dup_shortnames)
+ && none { $dname =~ /$_[0]$/ } @dup_shortnames)
{
# At this point, we don't clear information about what
# parts of $derived are truly file name components. We can
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNU Automake 1.16.
+# Generated by GNU Autoconf 2.69 for GNU Automake 1.16.1.
#
# Report bugs to <bug-automake@gnu.org>.
#
# Identity of this package.
PACKAGE_NAME='GNU Automake'
PACKAGE_TARNAME='automake'
-PACKAGE_VERSION='1.16'
-PACKAGE_STRING='GNU Automake 1.16'
+PACKAGE_VERSION='1.16.1'
+PACKAGE_STRING='GNU Automake 1.16.1'
PACKAGE_BUGREPORT='bug-automake@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/automake/'
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU Automake 1.16 to adapt to many kinds of systems.
+\`configure' configures GNU Automake 1.16.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU Automake 1.16:";;
+ short | recursive ) echo "Configuration of GNU Automake 1.16.1:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU Automake configure 1.16
+GNU Automake configure 1.16.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU Automake $as_me 1.16, which was
+It was created by GNU Automake $as_me 1.16.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
# Define the identity of the package.
PACKAGE='automake'
- VERSION='1.16'
+ VERSION='1.16.1'
# Some tools Automake needs.
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU Automake $as_me 1.16, which was
+This file was extended by GNU Automake $as_me 1.16.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GNU Automake config.status 1.16
+GNU Automake config.status 1.16.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
# along with this program. If not, see <https://www.gnu.org/licenses/>.
AC_PREREQ([2.69])
-AC_INIT([GNU Automake], [1.16], [bug-automake@gnu.org])
+AC_INIT([GNU Automake], [1.16.1], [bug-automake@gnu.org])
AC_CONFIG_SRCDIR([bin/automake.in])
AC_CONFIG_AUX_DIR([lib])
# cperl-extra-newline-before-brace: t
# cperl-merge-trailing-else: nil
# cperl-continued-statement-offset: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "my $VERSION = "
# time-stamp-format: "'%:y-%02m-%02d.%02H'"
# time-stamp-time-zone: "UTC0"
This is automake.info, produced by makeinfo version 6.5 from
automake.texi.
-This manual is for GNU Automake (version 1.16, 25 February 2018), a
+This manual is for GNU Automake (version 1.16.1, 26 February 2018), a
program that creates GNU standards-compliant Makefiles from template
files.
\1f
Indirect:
-automake.info-1: 1081
-automake.info-2: 301692
+automake.info-1: 1083
+automake.info-2: 301698
\1f
Tag Table:
(Indirect)
-Node: Top\7f1081
-Node: Introduction\7f14408
-Ref: Introduction-Footnote-1\7f15817
-Node: Autotools Introduction\7f15976
-Node: GNU Build System\7f17357
-Node: Use Cases\7f20105
-Node: Basic Installation\7f22233
-Node: Standard Targets\7f25819
-Node: Standard Directory Variables\7f27422
-Node: Standard Configuration Variables\7f29279
-Node: config.site\7f30638
-Node: VPATH Builds\7f32064
-Node: Two-Part Install\7f36012
-Node: Cross-Compilation\7f38456
-Node: Renaming\7f41431
-Node: DESTDIR\7f42589
-Node: Preparing Distributions\7f44771
-Node: Dependency Tracking\7f47142
-Node: Nested Packages\7f49250
-Node: Why Autotools\7f50766
-Node: Hello World\7f52408
-Ref: amhello Explained\7f52830
-Node: Creating amhello\7f53002
-Node: amhello's configure.ac Setup Explained\7f58357
-Node: amhello's Makefile.am Setup Explained\7f63277
-Node: Generalities\7f66977
-Node: General Operation\7f67671
-Node: Strictness\7f71094
-Node: Uniform\7f72712
-Node: Length Limitations\7f77651
-Node: Canonicalization\7f79961
-Node: User Variables\7f81033
-Node: Auxiliary Programs\7f82523
-Node: Examples\7f86261
-Node: Complete\7f87131
-Node: true\7f89236
-Node: automake Invocation\7f91727
-Ref: Invoking automake\7f91882
-Node: configure\7f99664
-Node: Requirements\7f100593
-Node: Optional\7f105831
-Node: aclocal Invocation\7f115233
-Ref: Invoking aclocal\7f115394
-Node: aclocal Options\7f118449
-Node: Macro Search Path\7f122174
-Ref: ACLOCAL_PATH\7f126549
-Node: Extending aclocal\7f128119
-Node: Local Macros\7f131843
-Node: Serials\7f135827
-Node: Future of aclocal\7f141020
-Node: Macros\7f143409
-Node: Public Macros\7f143950
-Ref: Modernize AM_INIT_AUTOMAKE invocation\7f145581
-Node: Obsolete Macros\7f150062
-Node: Private Macros\7f151404
-Node: Directories\7f152854
-Node: Subdirectories\7f154450
-Node: Conditional Subdirectories\7f157841
-Node: SUBDIRS vs DIST_SUBDIRS\7f159521
-Node: Subdirectories with AM_CONDITIONAL\7f161159
-Node: Subdirectories with AC_SUBST\7f162353
-Node: Unconfigured Subdirectories\7f163180
-Node: Alternative\7f166631
-Ref: Alternative-Footnote-1\7f168823
-Node: Subpackages\7f168948
-Node: Programs\7f172295
-Node: A Program\7f173837
-Node: Program Sources\7f174560
-Node: Linking\7f176465
-Node: Conditional Sources\7f180110
-Node: Conditional Programs\7f183036
-Node: A Library\7f184926
-Node: A Shared Library\7f187603
-Node: Libtool Concept\7f188607
-Node: Libtool Libraries\7f190711
-Node: Conditional Libtool Libraries\7f192445
-Node: Conditional Libtool Sources\7f194902
-Node: Libtool Convenience Libraries\7f196289
-Node: Libtool Modules\7f199716
-Node: Libtool Flags\7f201032
-Node: LTLIBOBJS\7f202936
-Node: Libtool Issues\7f203571
-Node: Error required file ltmain.sh not found\7f203912
-Node: Objects created both with libtool and without\7f205133
-Node: Program and Library Variables\7f207057
-Ref: Program and Library Variables-Footnote-1\7f218433
-Node: Default _SOURCES\7f218508
-Node: LIBOBJS\7f220980
-Node: Program Variables\7f226207
-Node: Yacc and Lex\7f229771
-Ref: Yacc and Lex-Footnote-1\7f235395
-Node: C++ Support\7f235658
-Node: Objective C Support\7f236538
-Node: Objective C++ Support\7f237511
-Node: Unified Parallel C Support\7f238533
-Node: Assembly Support\7f239529
-Node: Fortran 77 Support\7f240701
-Ref: Fortran 77 Support-Footnote-1\7f242386
-Node: Preprocessing Fortran 77\7f242589
-Node: Compiling Fortran 77 Files\7f243193
-Node: Mixing Fortran 77 With C and C++\7f243805
-Ref: Mixing Fortran 77 With C and C++-Footnote-1\7f246128
-Node: How the Linker is Chosen\7f246435
-Node: Fortran 9x Support\7f247973
-Node: Compiling Fortran 9x Files\7f249019
-Node: Java Support with gcj\7f249655
-Node: Vala Support\7f251136
-Node: Support for Other Languages\7f253221
-Node: Dependencies\7f253929
-Node: EXEEXT\7f255816
-Node: Other Objects\7f258059
-Node: Scripts\7f258651
-Node: Headers\7f261510
-Node: Data\7f263313
-Node: Sources\7f263998
-Node: Built Sources Example\7f266943
-Node: Other GNU Tools\7f274131
-Node: Emacs Lisp\7f274660
-Node: gettext\7f276758
-Node: Libtool\7f277446
-Node: Java\7f277705
-Node: Python\7f280364
-Node: Documentation\7f285445
-Node: Texinfo\7f285749
-Node: Man Pages\7f292948
-Node: Install\7f296073
-Node: Basics of Installation\7f296777
-Node: The Two Parts of Install\7f298307
-Node: Extending Installation\7f299847
-Node: Staged Installs\7f301692
-Node: Install Rules for the User\7f303105
-Node: Clean\7f303663
-Node: Dist\7f305835
-Node: Basics of Distribution\7f306339
-Node: Fine-grained Distribution Control\7f309570
-Node: The dist Hook\7f310497
-Node: Checking the Distribution\7f312988
-Node: The Types of Distributions\7f319347
-Node: Tests\7f321585
-Node: Generalities about Testing\7f322781
-Node: Simple Tests\7f325716
-Node: Scripts-based Testsuites\7f326097
-Ref: Testsuite progress on console\7f328481
-Ref: Simple tests and color-tests\7f329584
-Node: Serial Test Harness\7f333600
-Node: Parallel Test Harness\7f335698
-Ref: Basics of test metadata\7f336204
-Node: Custom Test Drivers\7f344934
-Node: Overview of Custom Test Drivers Support\7f345225
-Node: Declaring Custom Test Drivers\7f348279
-Node: API for Custom Test Drivers\7f349701
-Node: Command-line arguments for test drivers\7f350478
-Node: Log files generation and test results recording\7f353192
-Node: Testsuite progress output\7f357403
-Node: Using the TAP test protocol\7f358825
-Node: Introduction to TAP\7f359187
-Node: Use TAP with the Automake test harness\7f361004
-Node: Incompatibilities with other TAP parsers and drivers\7f366420
-Node: Links and external resources on TAP\7f367815
-Node: DejaGnu Tests\7f369439
-Node: Install Tests\7f371566
-Node: Rebuilding\7f371876
-Node: Options\7f375551
-Node: Options generalities\7f375852
-Node: List of Automake options\7f377634
-Ref: tar-formats\7f384285
-Node: Miscellaneous\7f387749
-Node: Tags\7f388094
-Node: Suffixes\7f391211
-Node: Include\7f392843
-Node: Conditionals\7f394578
-Node: Usage of Conditionals\7f395437
-Node: Limits of Conditionals\7f398793
-Node: Silencing Make\7f399978
-Node: Make verbosity\7f400329
-Ref: Make verbosity-Footnote-1\7f401651
-Node: Tricks For Silencing Make\7f401725
-Node: Automake Silent Rules\7f404242
-Node: Gnits\7f411226
-Node: Not Enough\7f413706
-Node: Extending\7f414153
-Node: Third-Party Makefiles\7f419188
-Node: Distributing\7f426124
-Node: API Versioning\7f426773
-Node: Upgrading\7f429482
-Node: FAQ\7f431527
-Node: CVS\7f432651
-Node: maintainer-mode\7f441040
-Node: Wildcards\7f445204
-Node: Limitations on File Names\7f448643
-Node: Errors with distclean\7f451273
-Node: Flag Variables Ordering\7f456221
-Node: Renamed Objects\7f464052
-Node: Per-Object Flags\7f465643
-Node: Multiple Outputs\7f468648
-Node: Hard-Coded Install Paths\7f480603
-Node: Debugging Make Rules\7f485759
-Ref: Debugging Make Rules-Footnote-1\7f487916
-Node: Reporting Bugs\7f488094
-Node: Copying This Manual\7f490042
-Node: GNU Free Documentation License\7f490272
-Node: Indices\7f515575
-Node: Macro Index\7f515864
-Node: Variable Index\7f521503
-Node: General Index\7f552525
+Node: Top\7f1083
+Node: Introduction\7f14412
+Ref: Introduction-Footnote-1\7f15821
+Node: Autotools Introduction\7f15980
+Node: GNU Build System\7f17361
+Node: Use Cases\7f20109
+Node: Basic Installation\7f22237
+Node: Standard Targets\7f25823
+Node: Standard Directory Variables\7f27426
+Node: Standard Configuration Variables\7f29283
+Node: config.site\7f30642
+Node: VPATH Builds\7f32068
+Node: Two-Part Install\7f36016
+Node: Cross-Compilation\7f38460
+Node: Renaming\7f41435
+Node: DESTDIR\7f42593
+Node: Preparing Distributions\7f44775
+Node: Dependency Tracking\7f47146
+Node: Nested Packages\7f49254
+Node: Why Autotools\7f50770
+Node: Hello World\7f52412
+Ref: amhello Explained\7f52834
+Node: Creating amhello\7f53006
+Node: amhello's configure.ac Setup Explained\7f58361
+Node: amhello's Makefile.am Setup Explained\7f63281
+Node: Generalities\7f66981
+Node: General Operation\7f67675
+Node: Strictness\7f71098
+Node: Uniform\7f72716
+Node: Length Limitations\7f77655
+Node: Canonicalization\7f79965
+Node: User Variables\7f81037
+Node: Auxiliary Programs\7f82527
+Node: Examples\7f86265
+Node: Complete\7f87135
+Node: true\7f89240
+Node: automake Invocation\7f91731
+Ref: Invoking automake\7f91886
+Node: configure\7f99668
+Node: Requirements\7f100597
+Node: Optional\7f105835
+Node: aclocal Invocation\7f115237
+Ref: Invoking aclocal\7f115398
+Node: aclocal Options\7f118453
+Node: Macro Search Path\7f122178
+Ref: ACLOCAL_PATH\7f126553
+Node: Extending aclocal\7f128123
+Node: Local Macros\7f131847
+Node: Serials\7f135831
+Node: Future of aclocal\7f141024
+Node: Macros\7f143413
+Node: Public Macros\7f143954
+Ref: Modernize AM_INIT_AUTOMAKE invocation\7f145585
+Node: Obsolete Macros\7f150066
+Node: Private Macros\7f151408
+Node: Directories\7f152858
+Node: Subdirectories\7f154454
+Node: Conditional Subdirectories\7f157845
+Node: SUBDIRS vs DIST_SUBDIRS\7f159525
+Node: Subdirectories with AM_CONDITIONAL\7f161163
+Node: Subdirectories with AC_SUBST\7f162357
+Node: Unconfigured Subdirectories\7f163184
+Node: Alternative\7f166635
+Ref: Alternative-Footnote-1\7f168827
+Node: Subpackages\7f168952
+Node: Programs\7f172299
+Node: A Program\7f173841
+Node: Program Sources\7f174564
+Node: Linking\7f176469
+Node: Conditional Sources\7f180114
+Node: Conditional Programs\7f183040
+Node: A Library\7f184930
+Node: A Shared Library\7f187607
+Node: Libtool Concept\7f188611
+Node: Libtool Libraries\7f190715
+Node: Conditional Libtool Libraries\7f192449
+Node: Conditional Libtool Sources\7f194906
+Node: Libtool Convenience Libraries\7f196293
+Node: Libtool Modules\7f199720
+Node: Libtool Flags\7f201036
+Node: LTLIBOBJS\7f202940
+Node: Libtool Issues\7f203575
+Node: Error required file ltmain.sh not found\7f203916
+Node: Objects created both with libtool and without\7f205137
+Node: Program and Library Variables\7f207061
+Ref: Program and Library Variables-Footnote-1\7f218437
+Node: Default _SOURCES\7f218512
+Node: LIBOBJS\7f220984
+Node: Program Variables\7f226211
+Node: Yacc and Lex\7f229775
+Ref: Yacc and Lex-Footnote-1\7f235399
+Node: C++ Support\7f235662
+Node: Objective C Support\7f236542
+Node: Objective C++ Support\7f237515
+Node: Unified Parallel C Support\7f238537
+Node: Assembly Support\7f239533
+Node: Fortran 77 Support\7f240705
+Ref: Fortran 77 Support-Footnote-1\7f242390
+Node: Preprocessing Fortran 77\7f242593
+Node: Compiling Fortran 77 Files\7f243197
+Node: Mixing Fortran 77 With C and C++\7f243809
+Ref: Mixing Fortran 77 With C and C++-Footnote-1\7f246132
+Node: How the Linker is Chosen\7f246439
+Node: Fortran 9x Support\7f247977
+Node: Compiling Fortran 9x Files\7f249023
+Node: Java Support with gcj\7f249659
+Node: Vala Support\7f251140
+Node: Support for Other Languages\7f253225
+Node: Dependencies\7f253933
+Node: EXEEXT\7f255820
+Node: Other Objects\7f258063
+Node: Scripts\7f258655
+Node: Headers\7f261514
+Node: Data\7f263317
+Node: Sources\7f264002
+Node: Built Sources Example\7f266947
+Node: Other GNU Tools\7f274135
+Node: Emacs Lisp\7f274664
+Node: gettext\7f276762
+Node: Libtool\7f277450
+Node: Java\7f277709
+Node: Python\7f280368
+Node: Documentation\7f285449
+Node: Texinfo\7f285753
+Node: Man Pages\7f292952
+Node: Install\7f296077
+Node: Basics of Installation\7f296781
+Node: The Two Parts of Install\7f298311
+Node: Extending Installation\7f299851
+Node: Staged Installs\7f301698
+Node: Install Rules for the User\7f303111
+Node: Clean\7f303669
+Node: Dist\7f305841
+Node: Basics of Distribution\7f306345
+Node: Fine-grained Distribution Control\7f309576
+Node: The dist Hook\7f310503
+Node: Checking the Distribution\7f312994
+Node: The Types of Distributions\7f319353
+Node: Tests\7f321591
+Node: Generalities about Testing\7f322787
+Node: Simple Tests\7f325722
+Node: Scripts-based Testsuites\7f326103
+Ref: Testsuite progress on console\7f328487
+Ref: Simple tests and color-tests\7f329590
+Node: Serial Test Harness\7f333606
+Node: Parallel Test Harness\7f335704
+Ref: Basics of test metadata\7f336210
+Node: Custom Test Drivers\7f344940
+Node: Overview of Custom Test Drivers Support\7f345231
+Node: Declaring Custom Test Drivers\7f348285
+Node: API for Custom Test Drivers\7f349707
+Node: Command-line arguments for test drivers\7f350484
+Node: Log files generation and test results recording\7f353198
+Node: Testsuite progress output\7f357409
+Node: Using the TAP test protocol\7f358831
+Node: Introduction to TAP\7f359193
+Node: Use TAP with the Automake test harness\7f361010
+Node: Incompatibilities with other TAP parsers and drivers\7f366426
+Node: Links and external resources on TAP\7f367821
+Node: DejaGnu Tests\7f369445
+Node: Install Tests\7f371572
+Node: Rebuilding\7f371882
+Node: Options\7f375557
+Node: Options generalities\7f375858
+Node: List of Automake options\7f377640
+Ref: tar-formats\7f384291
+Node: Miscellaneous\7f387755
+Node: Tags\7f388100
+Node: Suffixes\7f391217
+Node: Include\7f392849
+Node: Conditionals\7f394584
+Node: Usage of Conditionals\7f395443
+Node: Limits of Conditionals\7f398799
+Node: Silencing Make\7f399984
+Node: Make verbosity\7f400335
+Ref: Make verbosity-Footnote-1\7f401657
+Node: Tricks For Silencing Make\7f401731
+Node: Automake Silent Rules\7f404248
+Node: Gnits\7f411232
+Node: Not Enough\7f413712
+Node: Extending\7f414159
+Node: Third-Party Makefiles\7f419194
+Node: Distributing\7f426130
+Node: API Versioning\7f426779
+Node: Upgrading\7f429488
+Node: FAQ\7f431533
+Node: CVS\7f432657
+Node: maintainer-mode\7f441046
+Node: Wildcards\7f445210
+Node: Limitations on File Names\7f448649
+Node: Errors with distclean\7f451279
+Node: Flag Variables Ordering\7f456227
+Node: Renamed Objects\7f464058
+Node: Per-Object Flags\7f465649
+Node: Multiple Outputs\7f468654
+Node: Hard-Coded Install Paths\7f480609
+Node: Debugging Make Rules\7f485765
+Ref: Debugging Make Rules-Footnote-1\7f487922
+Node: Reporting Bugs\7f488100
+Node: Copying This Manual\7f490048
+Node: GNU Free Documentation License\7f490278
+Node: Indices\7f515581
+Node: Macro Index\7f515870
+Node: Variable Index\7f521509
+Node: General Index\7f552531
\1f
End Tag Table
This is automake.info, produced by makeinfo version 6.5 from
automake.texi.
-This manual is for GNU Automake (version 1.16, 25 February 2018), a
+This manual is for GNU Automake (version 1.16.1, 26 February 2018), a
program that creates GNU standards-compliant Makefiles from template
files.
GNU Automake
************
-This manual is for GNU Automake (version 1.16, 25 February 2018), a
+This manual is for GNU Automake (version 1.16.1, 26 February 2018), a
program that creates GNU standards-compliant Makefiles from template
files.
This is automake.info, produced by makeinfo version 6.5 from
automake.texi.
-This manual is for GNU Automake (version 1.16, 25 February 2018), a
+This manual is for GNU Automake (version 1.16.1, 26 February 2018), a
program that creates GNU standards-compliant Makefiles from template
files.
-@set UPDATED 25 February 2018
+@set UPDATED 26 February 2018
@set UPDATED-MONTH February 2018
-@set EDITION 1.16
-@set VERSION 1.16
+@set EDITION 1.16.1
+@set VERSION 1.16.1
-@set UPDATED 25 February 2018
+@set UPDATED 26 February 2018
@set UPDATED-MONTH February 2018
-@set EDITION 1.16
-@set VERSION 1.16
+@set EDITION 1.16.1
+@set VERSION 1.16.1
use vars qw (@ISA @EXPORT);
@ISA = qw (Exporter);
-@EXPORT = qw (&uniq $me);
+@EXPORT = qw (&uniq &none $me);
# Variable we share with the main package. Be sure to have a single
# copy of them: using 'my' together with multiple inclusion of this
return wantarray ? @res : "@res";
}
+# $RES
+# none (&PRED, @LIST)
+# ------------
+# Return 1 when no element in LIST satisfies predicate PRED otherwise 0.
+sub none (&@)
+{
+ my ($pred, @list) = @_;
+ my $res = 1;
+ foreach my $item (@list)
+ {
+ if ($pred->($item))
+ {
+ $res = 0;
+ last;
+ }
+ }
+ return $res;
+}
1; # for require
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2017-09-16.17; # UTC
+scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# 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"
# Attempt to guess a canonical system name.
# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2018-02-24'
+timestamp='2018-03-08'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
exit ;;
x86_64:Linux:*:*)
- if objdump -f /bin/sh | grep -q elf32-x86-64; then
- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32
- else
- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
- fi
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
exit ;;
xtensa*:Linux:*:*)
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit 1
# Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# Configuration validation subroutine script.
# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2018-02-22'
+timestamp='2018-03-08'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
exit
# Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2017-09-16.17; # UTC
+scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# 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"
# 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=2018-01-01.00
+scriptversion=2018-03-06.19
# Copyright 2003-2018 Free Software Foundation, Inc.
#
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: "$"
if 0;
# Convert git log output to ChangeLog format.
-my $VERSION = '2017-09-13 06:45'; # UTC
+my $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
# 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-start: "my $VERSION = '"
# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
# time-stamp-time-zone: "UTC0"
#!/bin/sh
# Sign files and upload them.
-scriptversion=2017-09-13.06; # UTC
+scriptversion=2018-03-07.03; # UTC
# Copyright (C) 2004-2018 Free Software Foundation, Inc.
#
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"
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2017-09-23.17; # UTC
+scriptversion=2018-03-11.20; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
+ # Note that $RANDOM variable is not portable (e.g. dash); Use it
+ # here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ # Because "mkdir -p" follows existing symlinks and we likely work
+ # directly in world-writeable /tmp, make sure that the '$tmpdir'
+ # directory is successfully created first before we actually test
+ # 'mkdir -p' feature.
if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
- rmdir "$tmpdir/d" "$tmpdir"
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
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"
#!/bin/sh
# Get modification time of a file or directory and pretty-print it.
-scriptversion=2017-09-22.02; # UTC
+scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1995-2018 Free Software Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# 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"
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2018-01-04.22; # UTC
+scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
exit $st
# 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"
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
-scriptversion=2016-01-11.22; # UTC
+scriptversion=2018-03-07.03; # UTC
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# 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"
#!/bin/sh
# py-compile - Compile a Python program
-scriptversion=2017-09-16.17; # UTC
+scriptversion=2018-03-07.03; # UTC
# Copyright (C) 2000-2018 Free Software Foundation, Inc.
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# 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"
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# 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"
#! /bin/sh
# test-driver - basic testsuite driver script.
-scriptversion=2017-09-16.17; # UTC
+scriptversion=2018-03-07.03; # UTC
# Copyright (C) 2011-2018 Free Software Foundation, Inc.
#
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# 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"
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2018-01-09.11}
+\def\texinfoversion{2018-02-12.17}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
% Hyphenation fixes.
\hyphenation{
Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
- ap-pen-dix bit-map bit-maps
+ auto-ma-ti-cal-ly ap-pen-dix bit-map bit-maps
data-base data-bases eshell fall-ing half-way long-est man-u-script
man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
if 0;
# Update an FSF copyright year list to include the current year.
-my $VERSION = '2018-01-04.14:48'; # UTC
+my $VERSION = '2018-03-07.03:47'; # UTC
# Copyright (C) 2009-2018 Free Software Foundation, Inc.
#
# 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-start: "my $VERSION = '"
# time-stamp-format: "%:y-%02m-%02d.%02H:%02M"
# time-stamp-time-zone: "UTC0"
#! /bin/sh
# ylwrap - wrapper for lex/yacc invocations.
-scriptversion=2017-09-16.17; # UTC
+scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
#
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# 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"
[am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.16], [],
+m4_if([$1], [1.16.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16])dnl
+[AM_AUTOMAKE_VERSION([1.16.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
[
dnl Find a Python interpreter. Python versions prior to 2.0 are not
dnl supported. (2.0 was released on October 16, 2000).
- m4_define_default([am_py_min_ver], m4_ifval([$1], [$1], [2.0]))
- dnl The arbitrary default maximum version.
- m4_define_default([am_py_max_ver], [4.0])
-
m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
- [[python] \
- dnl If we want some Python 2 versions (min version <= 2.7),
- dnl also search for "python2".
- m4_if(m4_version_compare(am_py_min_ver, [2.8]), [-1], [python2], []) \
- [python3] \
- dnl Construct a comma-separated list of interpreter names (python2.6,
- dnl python2.7, etc). We only care about the first 3 characters of the
- dnl version strings (major-dot-minor; not
- dnl major-dot-minor-dot-bugfix[-dot-whatever])
- m4_foreach([py_ver],
- m4_esyscmd_s(seq -s[[", "]] -f["[[%.1f]]"] m4_substr(am_py_max_ver, [0], [3]) -0.1 m4_substr(am_py_min_ver, [0], [3])),
- dnl Remove python2.8 and python2.9 since they will never exist
- [m4_bmatch(py_ver, [2.[89]], [], [python]py_ver)])])
+[python python2 python3 dnl
+ python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 dnl
+ python3.2 python3.1 python3.0 dnl
+ python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 dnl
+ python2.0])
AC_ARG_VAR([PYTHON], [the Python interpreter])
t/pm/DisjCon3.pl \
t/pm/DisjConditions.pl \
t/pm/DisjConditions-t.pl \
+t/pm/General.pl \
t/pm/Version.pl \
t/pm/Version2.pl \
t/pm/Version3.pl \
--- /dev/null
+# Copyright (C) 2018 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 2, 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/>.
+
+use Automake::General;
+
+my $failed = 0;
+
+# Check 'none'.
+my $none_positive = none { $_[0] < 0 } (1, 7, 3, 8, 9);
+$failed = 1 if ($none_positive == 0);
+
+my $none_gt_8 = none { $_[0] >= 8 } (1, 7, 3, 8, 9);
+$failed = 1 if ($none_gt_8 == 1);
+
+exit $failed;