INN commit: trunk (5 files)
INN Commit
rra at isc.org
Fri Nov 13 22:20:09 UTC 2020
Date: Friday, November 13, 2020 @ 14:20:07
Author: iulius
Revision: 10402
Update to latest Libtool and install-sh upstream versions
Libtool => use Debian-2.4.6-14 version
install-sh => upstream has integrated local modifications we had
carried for years in INN. Parameters have been integrated with different
names, so update Makefile accordingly (-c is now -p; -B is now -S) as well
as documentation
Modified:
trunk/Makefile.global.in
trunk/doc/pod/hacking.pod
trunk/m4/libtool.m4
trunk/support/install-sh
trunk/support/ltmain.sh
---------------------+
Makefile.global.in | 4 -
doc/pod/hacking.pod | 9 +-
m4/libtool.m4 | 12 ++-
support/install-sh | 180 +++++++++++++++++++++++++-------------------------
support/ltmain.sh | 16 ++--
5 files changed, 114 insertions(+), 107 deletions(-)
Modified: Makefile.global.in
===================================================================
--- Makefile.global.in 2020-11-13 22:14:57 UTC (rev 10401)
+++ Makefile.global.in 2020-11-13 22:20:07 UTC (rev 10402)
@@ -258,7 +258,7 @@
OWNER = -o $(RUNASUSER) -g $(RUNASGROUP)
ROWNER = -o $(RUNASUSER) -g $(RNEWSGROUP)
-INSTALL = $(top)/support/install-sh -c
+INSTALL = $(top)/support/install-sh -p
## Installation commands. These commands are used by the installation
## rules of each separate subdirectory. The naming scheme is as follows:
@@ -281,7 +281,7 @@
## files like active and newsgroups that should have the same permissions as
## article files.
-BACKUP_OPTION = -B .OLD
+BACKUP_OPTION = -S .OLD
LI_SPRI = $(LIBTOOLINST) $(INSTALL) -o root -g $(RUNASGROUP) -m 4550 $(BACKUP_OPTION)
LI_XPRI = $(LIBTOOLINST) $(INSTALL) $(OWNER) -m 0550 $(BACKUP_OPTION)
Modified: doc/pod/hacking.pod
===================================================================
--- doc/pod/hacking.pod 2020-11-13 22:14:57 UTC (rev 10401)
+++ doc/pod/hacking.pod 2020-11-13 22:20:07 UTC (rev 10402)
@@ -77,17 +77,16 @@
redirects to L<http://git.savannah.gnu.org/gitweb/?p=config.git;a=tree>).
In addition, F<m4/libtool.m4> and a few others m4 files used
by INN are just a copy of the corresponding files in the
-F<debian/libtool/usr/share/aclocal> subdirectory of the Debian
+F<debian/tmp/usr/share/aclocal> subdirectory of the Debian
package of the libtool distribution. (Using libtool without
using B<automake> requires a few odd hacks.) New versions
should be checked in periodically when available. There are no
INN-specific modifications to those files except for F<ltmain.sh>
-which recognizes the additional B<-B> flag that INN's B<install-sh>
+which recognizes the additional B<-S> flag that INN's B<install-sh>
script uses. This script should also be updated at the same time from
L<http://git.savannah.gnu.org/gitweb/?p=automake.git;a=tree;f=lib>;
-it similarly contains local modifications in order to support the
-additional B<-B> flag, as well as a few other changes mentioned in a
-comment at the beginning of the file.
+it similarly contains local modifications mentioned in a comment
+at the beginning of the file.
=head1 Autobuilds
Modified: m4/libtool.m4
===================================================================
--- m4/libtool.m4 2020-11-13 22:14:57 UTC (rev 10401)
+++ m4/libtool.m4 2020-11-13 22:20:07 UTC (rev 10402)
@@ -1041,8 +1041,8 @@
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
- echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
- $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
cat > conftest.c << _LT_EOF
@@ -1492,7 +1492,7 @@
m4_defun([_LT_PROG_AR],
[AC_CHECK_TOOLS(AR, [ar], false)
: ${AR=ar}
-: ${AR_FLAGS=cru}
+: ${AR_FLAGS=cr}
_LT_DECL([], [AR], [1], [The archiver])
_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
@@ -4704,6 +4704,12 @@
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
+ # flang / f18. f95 an alias for gfortran or flang on Debian
+ flang* | f18* | f95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
# icc used to be incompatible with GCC.
# ICC 10 doesn't accept -KPIC any more.
icc* | ifort*)
Modified: support/install-sh
===================================================================
--- support/install-sh 2020-11-13 22:14:57 UTC (rev 10401)
+++ support/install-sh 2020-11-13 22:20:07 UTC (rev 10402)
@@ -1,19 +1,14 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2018-03-11.20; # UTC
+scriptversion=2020-11-13.01; # UTC
#############################
# NOTICE TO INN MAINTAINERS #
#############################
# This file has been modified from the standard libtool version by adding
-# the -B option to request saving of the original file (if install is
-# overwriting an existing file). -B takes an argument: the suffix to use.
-# INN invokes this script as "install-sh -B .OLD". Also modified to use
-# cp -p instead of just cp to install programs when invoked as install -c.
-# It also handles .exe extensions, for Cygwin portability, and prevents
-# existing directories from being chown'ed.
-# Search for comments below containing "INN".
+# code to handle .exe extensions, for Cygwin portability.
+# Search for the comment below containing "INN".
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -81,7 +76,10 @@
# Desired mode of installed file.
mode=0755
-# INN addition: backupsuffix (for -B).
+# Create dirs (including intermediate dirs) using mode 755.
+# This is like GNU 'install' as of coreutils 8.32 (2020).
+mkdir_umask=22
+
backupsuffix=
chgrpcmd=
chmodcmd=$chmodprog
@@ -98,7 +96,6 @@
copy_on_change=false
is_target_a_directory=possibly
-# INN addition: -B SUFFIX, and use -c.
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
@@ -113,14 +110,15 @@
--help display this help and exit.
--version display version info and exit.
- -B SUFFIX backup a file with the suffix SUFFIX.
- -c use 'cp -p' instead of 'cp'
- -C install only if different (preserve the last data modification time)
+ -c (ignored)
+ -C install only if different (preserve data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
+ -p pass -p to $cpprog.
-s $stripprog installed files.
+ -S SUFFIX attempt to back up existing files, with suffix SUFFIX.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
@@ -127,15 +125,19 @@
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
+
+By default, rm is invoked with -f; when overridden with RMPROG,
+it's up to you to specify -f if you want it.
+
+If -S is not specified, no backups are attempted.
+
+Email bug reports to bug-automake at gnu.org.
+Automake home page: https://www.gnu.org/software/automake/
"
-# INN modification: add -B and do something with -c.
while test $# -ne 0; do
case $1 in
- -B) backupsuffix="$2"
- shift;;
-
- -c) cpprog="$cpprog -p";;
+ -c) ;;
-C) copy_on_change=true;;
@@ -157,8 +159,13 @@
-o) chowncmd="$chownprog $2"
shift;;
+ -p) cpprog="$cpprog -p";;
+
-s) stripcmd=$stripprog;;
+ -S) backupsuffix="$2"
+ shift;;
+
-t)
is_target_a_directory=always
dst_arg=$2
@@ -280,7 +287,7 @@
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
- # INN modification: don't chown directories that already exist.
+ # Don't chown directories that already exist.
if test $dstdir_status = 0; then
chowncmd=""
fi
@@ -309,8 +316,8 @@
dstdir=$dst
dstbase=`basename "$src"`
case $dst in
- */) dst=$dst$dstbase;;
- *) dst=$dst/$dstbase;;
+ */) dst=$dst$dstbase;;
+ *) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
@@ -330,22 +337,6 @@
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
@@ -355,52 +346,49 @@
fi
posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # 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-$$
+ # The $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/a/b" "$tmpdir/a" "$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 &&
- $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.
- 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 -- "$test_tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ # 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'.
+ if (umask $mkdir_umask &&
+ $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.
+ 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 -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+ fi
+ trap '' 0;;
esac
if
@@ -411,7 +399,7 @@
then :
else
- # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
@@ -440,7 +428,7 @@
prefixes=
else
if $posix_mkdir; then
- (umask=$mkdir_umask &&
+ (umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
@@ -480,7 +468,18 @@
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
- (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+ (umask $cp_umask &&
+ { test -z "$stripcmd" || {
+ # Create $dsttmp read-write so that cp doesn't create it read-only,
+ # which would cause strip to fail.
+ if test -z "$doit"; then
+ : >"$dsttmp" # No need to fork-exec 'touch'.
+ else
+ $doit touch "$dsttmp"
+ fi
+ }
+ } &&
+ $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@@ -506,12 +505,13 @@
then
rm -f "$dsttmp"
else
- # INN addition: use -B.
- # If $backupsuffix is set, rename the existing file if it exists.
- if [ x"$backupsuffix" != x ] && [ -f "$dst" ]; then
+ # If $backupsuffix is set, and the file being installed
+ # already exists, attempt a backup. Don't worry if it fails,
+ # e.g., if mv doesn't support -f.
+ if test -n "$backupsuffix" && test -f "$dst"; then
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
fi
-
+
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
@@ -526,9 +526,9 @@
# file should still install successfully.
{
test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
+ $doit $rmcmd "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
Modified: support/ltmain.sh
===================================================================
--- support/ltmain.sh 2020-11-13 22:14:57 UTC (rev 10401)
+++ support/ltmain.sh 2020-11-13 22:20:07 UTC (rev 10402)
@@ -4,7 +4,7 @@
# NOTICE TO INN MAINTAINERS #
#############################
# This file has been modified from the standard libtool version to
-# recognize the additional -B flag that INN's install-sh program
+# recognize the additional -S flag that INN's install-sh program
# recognizes; apart from that, it is identical to the stock libtool
# distribution.
# Only one part of the code is modified; search for the comment below
@@ -39,7 +39,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-9"
+VERSION="2.4.6 Debian-2.4.6-14"
package_revision=2.4.6
@@ -395,7 +395,7 @@
# putting '$debug_cmd' at the start of all your functions, you can get
# bash to show function call trace with:
#
-# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
debug_cmd=${debug_cmd-":"}
exit_cmd=:
@@ -2149,7 +2149,7 @@
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname $scriptversion Debian-2.4.6-9
+ version: $progname $scriptversion Debian-2.4.6-14
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
@@ -4240,8 +4240,8 @@
prev=$arg
fi
;;
- -g | -m | -o | -B)
- # Modification for INN just above (add support for the -B flag).
+ -g | -m | -o | -S)
+ # Modification for INN just above (add support for the -S flag).
prev=$arg
;;
-s)
@@ -7377,10 +7377,12 @@
# -stdlib=* select c++ std lib with clang
# -fsanitize=* Clang/GCC memory and address sanitizer
# -fuse-ld=* Linker select flags for GCC
+ # -static-* direct GCC to link specific libraries statically
+ # -fcilkplus Cilk Plus language extension features for C/C++
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*|-fsanitize=*|-fuse-ld=*)
+ -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
More information about the inn-committers
mailing list