commit-inetutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Inetutils branch, master, updated. inetutils-1_8-126-ge18e45f


From: Alfred M. Szmidt
Subject: [SCM] GNU Inetutils branch, master, updated. inetutils-1_8-126-ge18e45f
Date: Sun, 23 Oct 2011 18:59:53 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Inetutils ".

The branch, master has been updated
       via  e18e45fe5cf918508d75d2b4e892e9bbc1c16e31 (commit)
       via  8422e0fab0c97d1b08784926f43d5007d692d8d4 (commit)
       via  975c576a435ef421e3293b46456b006bda458931 (commit)
       via  12c920a3545ea1f18a20d1a2f46f01b0f744b300 (commit)
      from  c3d250417c72aedbc31086f300bd3b2b7b7021d0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=e18e45fe5cf918508d75d2b4e892e9bbc1c16e31


commit e18e45fe5cf918508d75d2b4e892e9bbc1c16e31
Author: Alfred M. Szmidt <address@hidden>
Date:   Sun Oct 23 13:17:56 2011 +0200

    README-alpha: Don't mention gettext and libtool as build requirements.

diff --git a/ChangeLog b/ChangeLog
index e4d81c6..e4a62f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2011-10-23  Alfred M. Szmidt  <address@hidden>
 
+       * README-alpha: Don't mention gettext and libtool as build
+       requirements.
+
+2011-10-23  Alfred M. Szmidt  <address@hidden>
+
        * bootstrap.conf (buildreq): New variable.
        (bootstrap_sync): Likewise.
 
diff --git a/README-alpha b/README-alpha
index 81585f8..7057b85 100644
--- a/README-alpha
+++ b/README-alpha
@@ -46,9 +46,7 @@ latest stable version.
 - Autoconf <http://www.gnu.org/software/autoconf/>
 - Automake <http://www.gnu.org/software/automake/>
 - Bison <http://www.gnu.org/software/bison/>
-- Gettext <http://www.gnu.org/software/gettext/>
 - Gnulib <http://www.gnu.org/software/gnulib/>
-- Libtool <http://www.gnu.org/software/libtool/>
 - M4 <http://www.gnu.org/software/m4/>
 - Texinfo <http://www.gnu.org/software/texinfo>
 - help2man <http://www.gnu.org/software/help2man>

http://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=8422e0fab0c97d1b08784926f43d5007d692d8d4


commit 8422e0fab0c97d1b08784926f43d5007d692d8d4
Author: Alfred M. Szmidt <address@hidden>
Date:   Sun Oct 23 13:17:20 2011 +0200

    Let ./bootstrap take care about build requirements.

diff --git a/ChangeLog b/ChangeLog
index ba8952b..e4d81c6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2011-10-23  Alfred M. Szmidt  <address@hidden>
 
+       * bootstrap.conf (buildreq): New variable.
+       (bootstrap_sync): Likewise.
+
+2011-10-23  Alfred M. Szmidt  <address@hidden>
+
        * README-prereq: New file.
        * README-alpha: Mention that help2man is required for building.
 
diff --git a/bootstrap.conf b/bootstrap.conf
index abd42b2..91c2c20 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -17,6 +17,19 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see `http://www.gnu.org/licenses/'.
 
+# Build prerequisites.
+buildreq="\
+autoconf   2.68
+automake   1.11
+bison      2.3
+m4         -
+makeinfo   -
+help2man   -
+"
+
+# Sync. bootstrap from checked out gnulib sources.
+bootstrap_sync=true
+
 ACLOCAL_FLAGS="-I am"
 
 # gnulib library name

http://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=975c576a435ef421e3293b46456b006bda458931


commit 975c576a435ef421e3293b46456b006bda458931
Author: Alfred M. Szmidt <address@hidden>
Date:   Sun Oct 23 13:12:57 2011 +0200

    Updated README-alpha, and added README-prereq.

diff --git a/ChangeLog b/ChangeLog
index 5f5af5d..ba8952b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2011-10-23  Alfred M. Szmidt  <address@hidden>
 
+       * README-prereq: New file.
+       * README-alpha: Mention that help2man is required for building.
+
+2011-10-23  Alfred M. Szmidt  <address@hidden>
+
        Updated ./bootstrap.
 
        * bootstrap: Updated from gnulib (2011-10-23).
diff --git a/README-alpha b/README-alpha
index 75e8aef..81585f8 100644
--- a/README-alpha
+++ b/README-alpha
@@ -51,6 +51,7 @@ latest stable version.
 - Libtool <http://www.gnu.org/software/libtool/>
 - M4 <http://www.gnu.org/software/m4/>
 - Texinfo <http://www.gnu.org/software/texinfo>
+- help2man <http://www.gnu.org/software/help2man>
 
 * Building
 
diff --git a/README-prereq b/README-prereq
new file mode 100644
index 0000000..078d642
--- /dev/null
+++ b/README-prereq
@@ -0,0 +1,2 @@
+Please see README-alpha.  This file only exists for the sake of
+`bootstrap', and it only exists in the source control repository.

http://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=12c920a3545ea1f18a20d1a2f46f01b0f744b300


commit 12c920a3545ea1f18a20d1a2f46f01b0f744b300
Author: Alfred M. Szmidt <address@hidden>
Date:   Sun Oct 23 12:45:13 2011 +0200

    Updated ./bootstrap.

diff --git a/ChangeLog b/ChangeLog
index bde311d..5f5af5d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-10-23  Alfred M. Szmidt  <address@hidden>
+
+       Updated ./bootstrap.
+
+       * bootstrap: Updated from gnulib (2011-10-23).
+       * bootstrap.conf (ACLOCAL_FLAGS): New variable.
+       * Makefile.am (AUTOMAKE_OPTIONS): Removed variable.
+       (ACLOCAL_AMFLAGS): Removed variable.
+
 2011-10-21  Alfred M. Szmidt  <address@hidden>
 
        * libinetutils/tftpsubs.c (PKTSIZE) [PKTSIZE]: Only define PKTSIZE if 
needed.
diff --git a/Makefile.am b/Makefile.am
index acda724..d6da45c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,10 +17,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see `http://www.gnu.org/licenses/'.
 
-AUTOMAKE_OPTIONS = 1.11
-
-ACLOCAL_AMFLAGS = -I m4 -I am
-
 EXTRA_DIST = README-alpha paths ChangeLog.0
 
 SUBDIRS = lib \
diff --git a/bootstrap b/bootstrap
index 2041ca3..f76db9a 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,11 +1,10 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2010-05-14.09; # UTC
+scriptversion=2011-08-11.17; # UTC
 
 # Bootstrap this package from checked-out sources.
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-# Free Software Foundation, Inc.
+# Copyright (C) 2003-2011 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
@@ -43,24 +42,32 @@ local_gl_dir=gl
 bt='._bootmp'
 bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
 bt2=${bt}2
+me=$0
 
 usage() {
   cat <<EOF
-Usage: $0 [OPTION]...
+Usage: $me [OPTION]...
 Bootstrap this package from the checked-out sources.
 
 Options:
- --gnulib-srcdir=DIRNAME  Specify the local directory where gnulib
+ --gnulib-srcdir=DIRNAME  specify the local directory where gnulib
                           sources reside.  Use this if you already
                           have gnulib sources on your machine, and
                           do not want to waste your bandwidth downloading
-                          them again.  Defaults to \$GNULIB_SRCDIR.
- --copy                   Copy files instead of creating symbolic links.
- --force                  Attempt to bootstrap even if the sources seem
-                          not to have been checked out.
- --skip-po                Do not download po files.
-
-If the file $0.conf exists in the same directory as this script, its
+                          them again.  Defaults to \$GNULIB_SRCDIR
+ --bootstrap-sync         if this bootstrap script is not identical to
+                          the version in the local gnulib sources,
+                          update this script, and then restart it with
+                          /bin/sh or the shell \$CONFIG_SHELL
+ --no-bootstrap-sync      do not check whether bootstrap is out of sync
+ --copy                   copy files instead of creating symbolic links
+ --force                  attempt to bootstrap even if the sources seem
+                          not to have been checked out
+ --no-git                 do not use git to update gnulib.  Requires that
+                          --gnulib-srcdir point to a correct gnulib snapshot
+ --skip-po                do not download po files
+
+If the file $me.conf exists in the same directory as this script, its
 contents are read as shell variables to configure the bootstrap.
 
 For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
@@ -81,6 +88,10 @@ gnulib_modules=
 # Any gnulib files needed that are not in modules.
 gnulib_files=
 
+# A function to be called to edit gnulib.mk right after it's created.
+# Override it via your own definition in bootstrap.conf.
+gnulib_mk_hook() { :; }
+
 # A function to be called after everything else in this script.
 # Override it via your own definition in bootstrap.conf.
 bootstrap_epilogue() { :; }
@@ -91,7 +102,8 @@ bootstrap_epilogue() { :; }
 # options because the latest/%s directory and the .po files within are
 # all symlinks.
 po_download_command_format=\
-"rsync -Lrtvz 'translationproject.org::tp/latest/%s/' '%s'"
+"rsync --delete --exclude '*.s1' -Lrtvz \
+ 'translationproject.org::tp/latest/%s/' '%s'"
 
 extract_package_name='
   /^AC_INIT(/{
@@ -118,18 +130,7 @@ source_base=lib
 m4_base=m4
 doc_base=doc
 tests_base=tests
-
-# Extra files from gnulib, which override files from other sources.
-gnulib_extra_files="
-        $build_aux/install-sh
-        $build_aux/missing
-        $build_aux/mdate-sh
-        $build_aux/texinfo.tex
-        $build_aux/depcomp
-        $build_aux/config.guess
-        $build_aux/config.sub
-        doc/INSTALL
-"
+gnulib_extra_files=''
 
 # Additional gnulib-tool options to use.  Use "\newline" to break lines.
 gnulib_tool_option_extras=
@@ -164,6 +165,13 @@ copy=false
 # on which version control system (if any) is used in the source directory.
 vc_ignore=auto
 
+# Set this to true in bootstrap.conf to enable --bootstrap-sync by
+# default.
+bootstrap_sync=false
+
+# Use git to update gnulib sources
+use_git=true
+
 # find_tool ENVVAR NAMES...
 # -------------------------
 # Search for a required program.  Use the value of ENVVAR, if set,
@@ -188,11 +196,11 @@ find_tool ()
     find_tool_error_prefix="\$$find_tool_envvar: "
   fi
   if test x"$find_tool_res" = x; then
-    echo >&2 "$0: one of these is required: $find_tool_names"
+    echo >&2 "$me: one of these is required: $find_tool_names"
     exit 1
   fi
   ($find_tool_res --version </dev/null) >/dev/null 2>&1 || {
-    echo >&2 "$0: ${find_tool_error_prefix}cannot run $find_tool_res --version"
+    echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res 
--version"
     exit 1
   }
   eval "$find_tool_envvar=\$find_tool_res"
@@ -210,6 +218,18 @@ case "$0" in
   *) test -r "$0.conf" && . ./"$0.conf" ;;
 esac
 
+# Extra files from gnulib, which override files from other sources.
+test -z "${gnulib_extra_files}" && \
+  gnulib_extra_files="
+        $build_aux/install-sh
+        $build_aux/missing
+        $build_aux/mdate-sh
+        $build_aux/texinfo.tex
+        $build_aux/depcomp
+        $build_aux/config.guess
+        $build_aux/config.sub
+        doc/INSTALL
+"
 
 if test "$vc_ignore" = auto; then
   vc_ignore=
@@ -235,28 +255,71 @@ do
     checkout_only_file=;;
   --copy)
     copy=true;;
+  --bootstrap-sync)
+    bootstrap_sync=true;;
+  --no-bootstrap-sync)
+    bootstrap_sync=false;;
+  --no-git)
+    use_git=false;;
   *)
     echo >&2 "$0: $option: unknown option"
     exit 1;;
   esac
 done
 
+if $use_git || test -d "$GNULIB_SRCDIR"; then
+  :
+else
+  echo "$0: Error: --no-git requires --gnulib-srcdir" >&2
+  exit 1
+fi
+
 if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
   echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2
   exit 1
 fi
 
+# Ensure that lines starting with ! sort last, per gitignore conventions
+# for whitelisting exceptions after a more generic blacklist pattern.
+sort_patterns() {
+  sort -u "$@" | sed '/^!/ {
+    H
+    d
+  }
+  $ {
+    P
+    x
+    s/^\n//
+  }' | sed '/^$/d'
+}
+
 # If $STR is not already on a line by itself in $FILE, insert it,
 # sorting the new contents of the file and replacing $FILE with the result.
 insert_sorted_if_absent() {
   file=$1
   str=$2
   test -f $file || touch $file
-  echo "$str" | sort -u - $file | cmp - $file > /dev/null \
-    || echo "$str" | sort -u - $file -o $file \
+  echo "$str" | sort_patterns - $file | cmp - $file > /dev/null \
+    || { echo "$str" | sort_patterns - $file > $file.bak \
+      && mv $file.bak $file; } \
     || exit 1
 }
 
+# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
+# insert_sorted_if_absent.
+insert_vc_ignore() {
+  vc_ignore_file="$1"
+  pattern="$2"
+  case $vc_ignore_file in
+  *.gitignore)
+    # A .gitignore entry that does not start with `/' applies
+    # recursively to subdirectories, so prepend `/' to every
+    # .gitignore entry.
+    pattern=`echo "$pattern" | sed s,^,/,`;;
+  esac
+  insert_sorted_if_absent "$vc_ignore_file" "$pattern"
+}
+
 # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
 found_aux_dir=no
 grep '^[        ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
@@ -275,7 +338,7 @@ if test ! -d $build_aux; then
   mkdir $build_aux
   for dot_ig in x $vc_ignore; do
     test $dot_ig = x && continue
-    insert_sorted_if_absent $dot_ig $build_aux
+    insert_vc_ignore $dot_ig $build_aux
   done
 fi
 
@@ -325,17 +388,18 @@ get_version() {
   $app --version >/dev/null 2>&1 || return 1
 
   $app --version 2>&1 |
-  sed -n '# extract version within line
-          s/.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
-          t done
+  sed -n '# Move version to start of line.
+          s/.*[v ]\([0-9]\)/\1/
+
+          # Skip lines that do not start with version.
+          /^[0-9]/!d
 
-          # extract version at start of line
-          s/^\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
-          t done
+          # Remove characters after the version.
+          s/[^.a-z0-9-].*//
 
-          d
+          # The first component must be digits only.
+          s/^\([0-9]*\)[a-z-].*/\1/
 
-          :done
           #the following essentially does s/5.005/5.5/
           s/\.0*\([1-9]\)/.\1/g
           p
@@ -346,21 +410,43 @@ check_versions() {
   ret=0
 
   while read app req_ver; do
+    # We only need libtoolize from the libtool package.
+    if test "$app" = libtool; then
+      app=libtoolize
+    fi
+    # Exempt git if --no-git is in effect.
+    if test "$app" = git; then
+      $use_git || continue
+    fi
     # Honor $APP variables ($TAR, $AUTOCONF, etc.)
-    appvar=`echo $app | tr '[a-z]' '[A-Z]'`
+    appvar=`echo $app | tr '[a-z]-' '[A-Z]_'`
     test "$appvar" = TAR && appvar=AMTAR
-    eval "app=\${$appvar-$app}"
-    inst_ver=$(get_version $app)
-    if [ ! "$inst_ver" ]; then
-      echo "Error: '$app' not found" >&2
-      ret=1
-    elif [ ! "$req_ver" = "-" ]; then
-      latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
-      if [ ! "$latest_ver" = "$inst_ver" ]; then
-        echo "Error: '$app' version == $inst_ver is too old" >&2
-        echo "       '$app' version >= $req_ver is required" >&2
+    case $appvar in
+        GZIP) ;; # Do not use $GZIP:  it contains gzip options.
+        *) eval "app=\${$appvar-$app}" ;;
+    esac
+    if [ "$req_ver" = "-" ]; then
+      # Merely require app to exist; not all prereq apps are well-behaved
+      # so we have to rely on $? rather than get_version.
+      $app --version >/dev/null 2>&1
+      if [ 126 -le $? ]; then
+        echo "$me: Error: '$app' not found" >&2
         ret=1
       fi
+    else
+      # Require app to produce a new enough version string.
+      inst_ver=$(get_version $app)
+      if [ ! "$inst_ver" ]; then
+        echo "$me: Error: '$app' not found" >&2
+        ret=1
+      else
+        latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
+        if [ ! "$latest_ver" = "$inst_ver" ]; then
+          echo "$me: Error: '$app' version == $inst_ver is too old" >&2
+          echo "       '$app' version >= $req_ver is required" >&2
+          ret=1
+        fi
+      fi
     fi
   done
 
@@ -370,16 +456,30 @@ check_versions() {
 print_versions() {
   echo "Program    Min_version"
   echo "----------------------"
-  printf "$buildreq"
+  printf %s "$buildreq"
   echo "----------------------"
   # can't depend on column -t
 }
 
+use_libtool=0
+# We'd like to use grep -E, to see if any of LT_INIT,
+# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
+# but that's not portable enough (e.g., for Solaris).
+grep '^[        ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
+  && use_libtool=1
+grep '^[        ]*LT_INIT' configure.ac >/dev/null \
+  && use_libtool=1
+if test $use_libtool = 1; then
+  find_tool LIBTOOLIZE glibtoolize libtoolize
+fi
+
 if ! printf "$buildreq" | check_versions; then
-  test -f README-prereq &&
-  echo "See README-prereq for notes on obtaining these prerequisite programs:" 
>&2
-  echo
-  print_versions
+  echo >&2
+  if test -f README-prereq; then
+    echo "$0: See README-prereq for how to get the prerequisite programs" >&2
+  else
+    echo "$0: Please install the prerequisite programs" >&2
+  fi
   exit 1
 fi
 
@@ -390,11 +490,11 @@ if test -d .git && (git --version) >/dev/null 2>/dev/null 
; then
   if git config merge.merge-changelog.driver >/dev/null ; then
     :
   elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
-    echo "initializing git-merge-changelog driver"
+    echo "$0: initializing git-merge-changelog driver"
     git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
     git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
   else
-    echo "consider installing git-merge-changelog from gnulib"
+    echo "$0: consider installing git-merge-changelog from gnulib"
   fi
 fi
 
@@ -410,8 +510,7 @@ git_modules_config () {
 }
 
 gnulib_path=`git_modules_config submodule.gnulib.path`
-
-test -n "$gnulib_path" || gnulib_path="gnulib"
+test -z "$gnulib_path" && gnulib_path=gnulib
 
 # Get gnulib files.
 
@@ -427,8 +526,8 @@ case ${GNULIB_SRCDIR--} in
 
     trap cleanup_gnulib 1 2 13 15
 
-    git clone 2>&1 -h|grep -- --depth > /dev/null \
-        && shallow='--depth 2' || shallow=
+    shallow=
+    git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
     git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
       cleanup_gnulib
 
@@ -464,6 +563,16 @@ case ${GNULIB_SRCDIR--} in
   ;;
 esac
 
+if $bootstrap_sync; then
+  cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
+    echo "$0: updating bootstrap and restarting..."
+    exec sh -c \
+      'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
+      -- "$GNULIB_SRCDIR/build-aux/bootstrap" \
+      "$0" "$@" --no-bootstrap-sync
+  }
+fi
+
 gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
 <$gnulib_tool || exit
 
@@ -472,20 +581,22 @@ gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
 download_po_files() {
   subdir=$1
   domain=$2
-  echo "$0: getting translations into $subdir for $domain..."
+  echo "$me: getting translations into $subdir for $domain..."
   cmd=`printf "$po_download_command_format" "$domain" "$subdir"`
   eval "$cmd"
 }
 
-# Download .po files to $po_dir/.reference and copy only the new
+# Mirror .po files to $po_dir/.reference and copy only the new
 # or modified ones into $po_dir.  Also update $po_dir/LINGUAS.
+# Note po files that exist locally only are left in $po_dir but will
+# not be included in LINGUAS and hence will not be distributed.
 update_po_files() {
   # Directory containing primary .po files.
   # Overwrite them only when we're sure a .po file is new.
   po_dir=$1
   domain=$2
 
-  # Download *.po files into this dir.
+  # Mirror *.po files into this dir.
   # Usually contains *.s1 checksum files.
   ref_po_dir="$po_dir/.reference"
 
@@ -504,7 +615,7 @@ update_po_files() {
         ! test -f "$po_dir/$po.po" ||
         ! $SHA1SUM -c --status "$cksum_file" \
             < "$new_po" > /dev/null; then
-      echo "updated $po_dir/$po.po..."
+      echo "$me: updated $po_dir/$po.po..."
       cp "$new_po" "$po_dir/$po.po" \
           && $SHA1SUM < "$new_po" > "$cksum_file"
     fi
@@ -542,34 +653,42 @@ symlink_to_dir()
       for dot_ig in x $vc_ignore; do
         test $dot_ig = x && continue
         ig=$parent/$dot_ig
-        insert_sorted_if_absent $ig `echo "$dst_dir"|sed 's,.*/,,'`
+        insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'`
       done
     fi
 
     if $copy; then
       {
         test ! -h "$dst" || {
-          echo "$0: rm -f $dst" &&
+          echo "$me: rm -f $dst" &&
           rm -f "$dst"
         }
       } &&
       test -f "$dst" &&
       cmp -s "$src" "$dst" || {
-        echo "$0: cp -fp $src $dst" &&
+        echo "$me: cp -fp $src $dst" &&
         cp -fp "$src" "$dst"
       }
     else
+      # Leave any existing symlink alone, if it already points to the source,
+      # so that broken build tools that care about symlink times
+      # aren't confused into doing unnecessary builds.  Conversely, if the
+      # existing symlink's time stamp is older than the source, make it afresh,
+      # so that broken tools aren't confused into skipping needed builds.  See
+      # <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00326.html>.
       test -h "$dst" &&
       src_ls=`ls -diL "$src" 2>/dev/null` && set $src_ls && src_i=$1 &&
       dst_ls=`ls -diL "$dst" 2>/dev/null` && set $dst_ls && dst_i=$1 &&
-      test "$src_i" = "$dst_i" || {
+      test "$src_i" = "$dst_i" &&
+      both_ls=`ls -dt "$src" "$dst"` &&
+      test "X$both_ls" = "X$dst$nl$src" || {
         dot_dots=
         case $src in
         /*) ;;
         *)
           case /$dst/ in
           *//* | */../* | */./* | /*/*/*/*/*/)
-             echo >&2 "$0: invalid symlink calculation: $src -> $dst"
+             echo >&2 "$me: invalid symlink calculation: $src -> $dst"
              exit 1;;
           /*/*/*/*/)   dot_dots=../../../;;
           /*/*/*/)     dot_dots=../../;;
@@ -577,7 +696,7 @@ symlink_to_dir()
           esac;;
         esac
 
-        echo "$0: ln -fs $dot_dots$src $dst" &&
+        echo "$me: ln -fs $dot_dots$src $dst" &&
         ln -fs "$dot_dots$src" "$dst"
       }
     fi
@@ -610,7 +729,7 @@ cp_mark_as_generated()
       cmp -s "$cp_src" "$cp_dst" || {
         # Copy the file first to get proper permissions if it
         # doesn't already exist.  Then overwrite the copy.
-        echo "$0: cp -f $cp_src $cp_dst" &&
+        echo "$me: cp -f $cp_src $cp_dst" &&
         rm -f "$cp_dst" &&
         cp "$cp_src" "$cp_dst-t" &&
         sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" &&
@@ -628,7 +747,7 @@ cp_mark_as_generated()
       if cmp -s "$cp_dst-t" "$cp_dst"; then
         rm -f "$cp_dst-t"
       else
-        echo "$0: cp $cp_src $cp_dst # with edits" &&
+        echo "$me: cp $cp_src $cp_dst # with edits" &&
         mv -f "$cp_dst-t" "$cp_dst"
       fi
     fi
@@ -647,7 +766,7 @@ version_controlled_file() {
   elif test -d .svn; then
     svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes
   else
-    echo "$0: no version control for $dir/$file?" >&2
+    echo "$me: no version control for $dir/$file?" >&2
   fi
   test $found = yes
 }
@@ -659,7 +778,8 @@ slurp() {
     for file in `ls -a $1/$dir`; do
       case $file in
       .|..) continue;;
-      .*) continue;; # FIXME: should all file names starting with "." be 
ignored?
+      # FIXME: should all file names starting with "." be ignored?
+      .*) continue;;
       esac
       test -d $1/$dir/$file && continue
       for excluded_file in $excluded_files; do
@@ -668,30 +788,19 @@ slurp() {
       if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then
         copied=$copied${sep}$gnulib_mk; sep=$nl
         remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
-        sed "$remove_intl" $1/$dir/$file | cmp - $dir/$gnulib_mk > /dev/null 
|| {
-          echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
+        sed "$remove_intl" $1/$dir/$file |
+        cmp - $dir/$gnulib_mk > /dev/null || {
+          echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
           rm -f $dir/$gnulib_mk &&
-          sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
+          sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk &&
+          gnulib_mk_hook $dir/$gnulib_mk
         }
       elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
            version_controlled_file $dir $file; then
-        echo "$0: $dir/$file overrides $1/$dir/$file"
+        echo "$me: $dir/$file overrides $1/$dir/$file"
       else
         copied=$copied$sep$file; sep=$nl
-        if test $file = gettext.m4; then
-          echo "$0: patching m4/gettext.m4 to remove need for intl/* ..."
-          rm -f $dir/$file
-          sed '
-            /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\
-              AC_DEFUN([AM_INTL_SUBDIR], [])
-            /^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\
-              AC_DEFUN([gt_INTL_SUBDIR_CORE], [])
-            $a\
-              AC_DEFUN([gl_LOCK_EARLY], [])
-          ' $1/$dir/$file >$dir/$file
-        else
-          cp_mark_as_generated $1/$dir/$file $dir/$file
-        fi
+        cp_mark_as_generated $1/$dir/$file $dir/$file
       fi || exit
     done
 
@@ -699,18 +808,25 @@ slurp() {
       test $dot_ig = x && continue
       ig=$dir/$dot_ig
       if test -n "$copied"; then
-        insert_sorted_if_absent $ig "$copied"
+        insert_vc_ignore $ig "$copied"
         # If an ignored file name ends with .in.h, then also add
         # the name with just ".h".  Many gnulib headers are generated,
         # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc.
         # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
-        f=`echo "$copied"|sed 
's/\.in\.h$/.h/;s/\.sin$/.sed/;s/\.y$/.c/;s/\.gperf$/.h/'`
-        insert_sorted_if_absent $ig "$f"
+        f=`echo "$copied" |
+          sed '
+            s/\.in\.h$/.h/
+            s/\.sin$/.sed/
+            s/\.y$/.c/
+            s/\.gperf$/.h/
+          '
+        `
+        insert_vc_ignore $ig "$f"
 
         # For files like sys_stat.in.h and sys_time.in.h, record as
         # ignorable the directory we might eventually create: sys/.
         f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'`
-        insert_sorted_if_absent $ig "$f"
+        insert_vc_ignore $ig "$f"
       fi
     done
   done
@@ -735,6 +851,12 @@ gnulib_tool_options="\
  --local-dir $local_gl_dir\
  $gnulib_tool_option_extras\
 "
+if test $use_libtool = 1; then
+  case "$gnulib_tool_options " in
+    *' --libtool '*) ;;
+    *) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
+  esac
+fi
 echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
 $gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
 slurp $bt || exit
@@ -771,28 +893,24 @@ find "$m4_base" "$source_base" \
 
 # Reconfigure, getting other files.
 
+# Skip autoheader if it's not needed.
+grep -E '^[     ]*AC_CONFIG_HEADERS?\>' configure.ac >/dev/null ||
+  AUTOHEADER=true
+
 for command in \
   libtool \
-  "${ACLOCAL-aclocal} --force -I m4 -I am" \
+  "${ACLOCAL-aclocal} --force -I '$m4_base' $ACLOCAL_FLAGS" \
   "${AUTOCONF-autoconf} --force" \
   "${AUTOHEADER-autoheader} --force" \
   "${AUTOMAKE-automake} --add-missing --copy --force-missing"
 do
   if test "$command" = libtool; then
-    use_libtool=0
-    # We'd like to use grep -E, to see if any of LT_INIT,
-    # AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
-    # but that's not portable enough (e.g., for Solaris).
-    grep '^[    ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
-      && use_libtool=1
-    grep '^[    ]*LT_INIT' configure.ac >/dev/null \
-      && use_libtool=1
     test $use_libtool = 0 \
       && continue
     command="${LIBTOOLIZE-libtoolize} -c -f"
   fi
   echo "$0: $command ..."
-  $command || exit
+  eval "$command" || exit
 done
 
 
diff --git a/bootstrap.conf b/bootstrap.conf
index 34cf3c7..abd42b2 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -17,6 +17,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see `http://www.gnu.org/licenses/'.
 
+ACLOCAL_FLAGS="-I am"
+
 # gnulib library name
 gnulib_name=libgnu
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                       |   24 +++
 Makefile.am                     |    4 -
 README-alpha                    |    3 +-
 README-hacking => README-prereq |    0
 bootstrap                       |  330 ++++++++++++++++++++++++++-------------
 bootstrap.conf                  |   15 ++
 6 files changed, 264 insertions(+), 112 deletions(-)
 copy README-hacking => README-prereq (100%)


hooks/post-receive
-- 
GNU Inetutils 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]