INN commit: branches/2.6 (5 files)

INN Commit rra at isc.org
Sat Nov 21 09:08:41 UTC 2020


    Date: Saturday, November 21, 2020 @ 01:08:40
  Author: iulius
Revision: 10411

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:
  branches/2.6/Makefile.global.in
  branches/2.6/doc/pod/hacking.pod
  branches/2.6/m4/libtool.m4
  branches/2.6/support/install-sh
  branches/2.6/support/ltmain.sh

---------------------+
 Makefile.global.in  |    4 -
 doc/pod/hacking.pod |   62 ++++++++++++-----
 m4/libtool.m4       |   12 ++-
 support/install-sh  |  180 +++++++++++++++++++++++++-------------------------
 support/ltmain.sh   |   16 ++--
 5 files changed, 154 insertions(+), 120 deletions(-)

Modified: Makefile.global.in
===================================================================
--- Makefile.global.in	2020-11-21 09:05:45 UTC (rev 10410)
+++ Makefile.global.in	2020-11-21 09:08:40 UTC (rev 10411)
@@ -314,7 +314,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:
@@ -337,7 +337,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-21 09:05:45 UTC (rev 10410)
+++ doc/pod/hacking.pod	2020-11-21 09:08:40 UTC (rev 10411)
@@ -69,24 +69,24 @@
 The supporting files for B<autoconf> are in the F<support>
 subdirectory, including the files F<config.guess> and F<config.sub>
 to determine the system name and F<ltmain.sh> for libtool support.
-The latter file comes from the Debian package of Libtool, available
-from L<https://packages.debian.org/libtool> (F<ltmain.sh> is generated
-in the F<build-aux> subdirectory after building the package with
-for instance B<debuild -us -uc>); the canonical versions of the former two
-files are available from L<ftp://ftp.gnu.org/gnu/config/> (which currently
+The latter file comes from the Debian package of Libtool, available from
+L<https://packages.debian.org/libtool> (F<ltmain.sh> is generated in the
+F<build-aux> subdirectory after building the package with for instance
+B<debuild -us -uc>); the canonical versions of the former two files
+are available from L<ftp://ftp.gnu.org/gnu/config/> (which currently
 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<m4> subdirectory
-of the Debian package of the libtool distribution.  (Using libtool
-without using B<automake> requires a few odd hacks.)  New versions
+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/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
 
@@ -699,6 +699,12 @@
 well as support for new TLS versions in the F<tlsprotocols> parameter
 in F<inn.conf>.
 
+=item *
+
+Check whether a new version of the ternary search trie implementation
+(available at L<http://www.octavian.org/cs/software.html>) could be
+merged into F<lib/tst.c>.
+
 =back
 
 =item 2.
@@ -716,6 +722,7 @@
 
 Also build INN (including the F<contrib> and F<tests> directories) with
 warnings on (C<make warnings>) and run the test suite (C<make tests>).
+Fix any errors.
 
 =item 3.
 
@@ -763,12 +770,31 @@
 
 =item 8.
 
-Check out a copy of the release branch.  It's currently necessary to run
-C<autogen> and C<configure> to generate F<Makefile.global>.  Then, run
-C<make warnings> to generate all necessary files.  Afterwards, run
-C<make check-manifest>.  There shouldn't be any differences; otherwise,
-fix the F<MANIFEST> file.
+Check out a copy of the release branch, and perform the following actions.
 
+=over 2
+
+=item *
+
+Run C<autogen> and C<configure> that are currently necessary to generate
+F<Makefile.global>.
+
+=item *
+
+Then, run C<make warnings> to generate all necessary files.
+
+=item *
+
+Run C<make depend> to ensure dependencies are properly defined in all
+INN makefiles.
+
+=item *
+
+Afterwards, run C<make check-manifest>.  There shouldn't be any
+differences; otherwise, fix the F<MANIFEST> file.
+
+=back
+
 =item 9.
 
 Run C<make release> for a final release, C<support/mksnapshot BETA b1> for

Modified: m4/libtool.m4
===================================================================
--- m4/libtool.m4	2020-11-21 09:05:45 UTC (rev 10410)
+++ m4/libtool.m4	2020-11-21 09:08:40 UTC (rev 10411)
@@ -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-21 09:05:45 UTC (rev 10410)
+++ support/install-sh	2020-11-21 09:08:40 UTC (rev 10411)
@@ -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-21 09:05:45 UTC (rev 10410)
+++ support/ltmain.sh	2020-11-21 09:08:40 UTC (rev 10411)
@@ -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
 # supports, and fix a bug when using --preserve-dup-deps Libtool flag;
 # apart from that, it is identical to the stock libtool distribution.
 # Only two parts of the code are modified; search for the comments 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