automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.5


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.5-970-ga9e5d1e
Date: Fri, 14 Dec 2012 11:15:56 +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 Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=a9e5d1e09f534a7e6adef1b80f2b70c92787dd69

The branch, ng/master has been updated
       via  a9e5d1e09f534a7e6adef1b80f2b70c92787dd69 (commit)
       via  2674291c3389fcde8c7206f858df12d66f123837 (commit)
       via  de736a2222a4ffe7dfb82b60ba2fa10192548a31 (commit)
       via  33263a0fec525a7dfb0b0b0c0c21bb9d35b1d12f (commit)
       via  c1d820e6fe73ae727fedf4908249801922de5750 (commit)
       via  4d1c177310487d226752dc99d1178ceca4d010db (commit)
       via  a3cf9a8be30df65b916da31e014963261c35db23 (commit)
       via  6432f117500714a6d3df5cab7c9b23275b46be5e (commit)
       via  4c550df0e1c78141a807d7b5303c57fa7fc04c7a (commit)
       via  811d4f3d28ccb30804492bc49998d6f4726faeaf (commit)
       via  f22f41c10e03a59b8db25d536be209a48cbd7f61 (commit)
       via  af431631cc9db8b5426308d44fc2773afca5816c (commit)
       via  28d342cd1de27eec4659978e9af65154930b0f57 (commit)
       via  41769ed8f75e9096b7d8d7ecb9a1ebd2cfc50103 (commit)
       via  ad35a6ba74f2c8b0f15b36277bce43adf2a20b84 (commit)
       via  86e03eccf9352c6990cd7151f8145cb603b45e14 (commit)
       via  4c4f5cf2de8a71c4eb9dad14526215f58e90f918 (commit)
       via  7a4e193773e6f5b58dfc81a78b7508f9d4c9b1ee (commit)
      from  b961cbe94687ca585199e4a594cbdcb321426a39 (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 -----------------------------------------------------------------
commit a9e5d1e09f534a7e6adef1b80f2b70c92787dd69
Merge: b961cbe 2674291
Author: Stefano Lattarini <address@hidden>
Date:   Fri Dec 14 11:56:06 2012 +0100

    Merge branch 'master' into ng/master
    
    * master:
      fixup: source 'test-init.sh', not './defs', in a test
      docs: fixlet about xz compression levels and command line options
      maint: more files excluded in 'update-copyright'
      maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format
      HACKING: update instructions to update the manuals at www.gnu.org
      maint: add an explicative comment in Makefile
      maint: factor out the name of the dir where web manuals are generated
      maint: rename rules to build/upload web manuals
      cosmetic: minor variable and rules reordering in Makefile.am
      docs: build the web manuals for CVS in the builddir, not in the srcdir
      release: automate uploading of web manuals in CVS
      docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
      tests: avoid two spurious failures on FreeBSD
      tests: improve 'pkg-config' requirement
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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

Summary of changes:
 HACKING                       |   23 ++++++-
 Makefile.am                   |  128 +++++++++++++++++++++++++++++++----------
 configure.ac                  |    2 +
 doc/automake-ng.texi          |    2 +-
 gen-testsuite-part            |    5 ++
 t/ax/am-test-lib.sh           |   14 ++--
 t/pkg-config-macros.sh        |   94 ++++++++++++++++++++++++++++++
 t/vala-headers.sh             |    2 -
 t/vala-libs.sh                |    2 -
 t/vala-non-recursive-setup.sh |    2 -
 t/vala-per-target-flags.sh    |    2 -
 t/vala-recursive-setup.sh     |    2 -
 12 files changed, 225 insertions(+), 53 deletions(-)
 create mode 100755 t/pkg-config-macros.sh

diff --git a/HACKING b/HACKING
index 46f5b6f..cf61c44 100644
--- a/HACKING
+++ b/HACKING
@@ -253,10 +253,25 @@
   locations.  In case you need to sign with a non-default key, you can
   use "make GNUPLOADFLAGS='--user KEY' git-upload-release".
 
-* For stable releases, update the manuals at www.gnu.org:
-  - Generate manuals, running "make web-manuals".
-  - Copy manuals recursively to web CVS.
-  - Commit in CVS.
+* For stable releases you'll have to update the manuals at www.gnu.org.
+
+  - Generate manuals (with the help of the standard gendocs.sh script):
+
+       make web-manual
+
+    The ready-to-be-uploaded manuals (in several formats) will be left
+    in the 'doc/web-manuals' directory.
+
+  - Commit the updated manuals to web CVS:
+
+      make web-manual-update
+
+    If your local username is different from your username at Savannah,
+    you'll have to override the 'CVS_USER' make variable accordingly;
+    for example:
+
+      make web-manual-update CVS_USER=slattarini
+
   - Check for link errors, fix them, recheck until convergence:
     <http://validator.w3.org/checklink>
 
diff --git a/Makefile.am b/Makefile.am
index 4edf9f3..628de93 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -971,38 +971,81 @@ fetch:
        $(AM_V_at)rm -rf Fetchdir
 .PHONY: fetch
 
-## --------------------------------------------------------------------- ##
-##  Generate manuals in several formats, for upload on the GNU website.  ##
-## --------------------------------------------------------------------- ##
-
-# The gendocs.sh script sadly leaves TeX and Texinfo auxiliary files
-# in the directory where it's invoked.
-clean_texinfo_clutter_cmd = \
-  cd doc && rm -f *.ac *.aux *.cm *.cp *.cps *.fn *.fns *.ky \
-                  *.log *.op *.pg *.toc *.tp *.tr *.vr *.vrs
-
-clean-web-manuals:
-       $(AM_V_at)rm -rf doc/web-manuals
-clean-texinfo-clutter:
-       $(AM_V_at)$(clean_texinfo_clutter_cmd)
-clean-local: clean-web-manuals clean-texinfo-clutter
-.PHONY: clean-web-manuals clean-texinfo-clutter
-
-web-manuals:
-       $(AM_V_at)rm -rf doc/web-manuals
-       $(AM_V_GEN): \
-## The gendocs.sh script only works from the srcdir, sadly.
-         && cd $(srcdir)/doc \
-         && GENDOCS_TEMPLATE_DIR=../lib \
+## ---------------------------------------------------------------------- ##
+##  Generate and upload manuals in several formats, for the GNU website.  ##
+## ---------------------------------------------------------------------- ##
+
+web_manual_dir = doc/web-manual
+
+RSYNC = rsync
+CVS = cvs
+CVSU = cvsu
+CVS_USER = $${USER}
+WEBCVS_ROOT = cvs.savannah.gnu.org:/web
+
+web-manual:
+       $(AM_V_at)rm -rf $(web_manual_dir)
+       $(AM_V_GEN)address@hidden \
+         && rm -rf $$tmp \
+         && mkdir $$tmp \
+         && $(am__cd) $$tmp \
+         && GENDOCS_TEMPLATE_DIR='$(abs_srcdir)/lib' \
          && export GENDOCS_TEMPLATE_DIR \
+## Needed to pacify extra checks from gendocs.sh.
+         && $(LN_S) '$(abs_srcdir)/doc/$(PACKAGE).texi' . \
 ## Try to respect silent rules.
          && if $(AM_V_P); then :; else exec >/dev/null 2>&1; fi \
 ## Finally generate the manual in several formats.
-         && $(SHELL) ../lib/gendocs.sh -o web-manuals \
-            --email $(PACKAGE_BUGREPORT) $(PACKAGE) '$(PACKAGE_NAME)'
-       $(AM_V_at)$(clean_texinfo_clutter_cmd)
-       $(AM_V_at)if $(AM_V_P); then ls -l doc/web-manuals; else :; fi
-.PHONY: web-manuals
+         && $(SHELL) '$(abs_srcdir)/lib/gendocs.sh' \
+            -I '$(abs_srcdir)/doc' --email $(PACKAGE_BUGREPORT) \
+            $(PACKAGE) '$(PACKAGE_NAME)'
+       $(AM_V_at)address@hidden \
+        && mkdir $(web_manual_dir) \
+        && mv -f $$tmp/manual/* $(web_manual_dir) \
+        && rm -rf $$tmp \
+        && { ! $(AM_V_P) || ls -l $(web_manual_dir); }
+.PHONY: web-manual
+
+web-manual-update:
+       $(AM_V_at)fatal () { echo "$@: $$*" >&2; exit 1; }; \
+       $(determine_release_type); \
+       case $$release_type in \
+         [Mm]ajor\ release|[Mm]inor\ release);; \
+         *) echo "Cannot upload manuals from a \"$$release_type\"" >&2; \
+            exit 1;; \
+       esac
+       $(AM_V_at)test -f $(web_manual_dir)/$(PACKAGE).html || { \
+         echo 'You have to run "$(MAKE) web-manuals" before' \
+              'invoking "$(MAKE) $@"' >&2; \
+         exit 1; \
+       }
+       $(AM_V_GEN): \
+         && CVS_RSH=ssh && export CVS_RSH=ssh \
+         && address@hidden \
+         && rm -rf $$tmp \
+         && mkdir $$tmp \
+         && $(am__cd) $$tmp \
+         && $(CVS) -z3 -d :ext:$(CVS_USER)@$(WEBCVS_ROOT)/$(PACKAGE) \
+                   co $(PACKAGE) \
+         && cd .. \
+## According to the rsync manpage, "a trailing slash on the source [...]
+## avoids creating an additional directory level at the destination".
+## So the trailing '/' after '$(web_manual_dir)' below is intended.
+         && $(RSYNC) -avP $(web_manual_dir)/ $$tmp/$(PACKAGE)/manual \
+         && ( \
+           cd $$tmp/$(PACKAGE)/manual \
+             && new_files=`$(CVSU) --types='?'` \
+             && new_files=`echo "$$new_files" | sed s/^..//` \
+             && { test -z "$$new_files" || $(CVS) add -ko $$new_files; } \
+             && $(CVS) ci -m $(VERSION) \
+           ) \
+         && rm -rf $$tmp
+.PHONY: web-manual-update
+
+clean-web-manual:
+       $(AM_V_at)rm -rf $(web_manual_dir)
+.PHONY: clean-web-manual
+clean-local: clean-web-manual
 
 EXTRA_DIST += lib/gendocs.sh lib/gendocs_template
 
@@ -1016,6 +1059,26 @@ update_copyright_env = \
   UPDATE_COPYRIGHT_FORCE=1 \
   UPDATE_COPYRIGHT_USE_INTERVALS=2
 
+# In addition to the several README files, these as well are
+# not expected to have a copyright notice.
+files_without_copyright = \
+  .autom4te.cfg \
+  .git-log-fix \
+  .gitattributes \
+  .gitignore \
+  INSTALL \
+  COPYING \
+  AUTHORS \
+  THANKS \
+  lib/INSTALL \
+  lib/COPYING
+
+# This script is in the public domain.
+files_without_copyright += lib/mkinstalldirs
+
+# This script has an MIT-style license
+files_without_copyright += lib/install-sh
+
 .PHONY: update-copyright
 update-copyright:
        $(AM_V_GEN)set -e; \
@@ -1023,9 +1086,12 @@ update-copyright:
          || { echo "$@: cannot get current year" >&2; exit 1; }; \
        sed -i "/^RELEASE_YEAR=/s/=.*$$/=$$current_year/" \
          bootstrap.sh configure.ac; \
-       excluded_re=`echo $(FETCHFILES) \
-         | sed -e 's|^.*/|lib/|' -e 's| | lib/|g' -e 's, ,|,g'`; \
+       excluded_re=`( \
+         for url in $(FETCHFILES); do echo "$$url"; done \
+           | sed -e 's!^.*/!!' -e 's!^.*=!!' -e 's!^!lib/!' \
+         && for f in $(files_without_copyright); do echo $$f; done \
+       ) | sed -e '$$!s,$$,|,' | tr -d '\012\015'`; \
        $(GIT) ls-files \
-         | grep -Ev '^(lib/)?(COPYING|INSTALL)$$' \
+         | grep -Ev '(^|/)README$$' \
          | grep -Ev "^($$excluded_re)$$" \
          | $(update_copyright_env) xargs $(srcdir)/lib/$@
diff --git a/configure.ac b/configure.ac
index 9cd6aeb..24976c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -69,6 +69,8 @@ AC_SUBST([system_acdir], ["\${datadir}/aclocal"])
 ACLOCAL="\"`pwd`/t/wrap/aclocal-$APIVERSION\""
 AUTOMAKE="\"`pwd`/t/wrap/automake-$APIVERSION\""
 
+AC_PROG_LN_S
+
 AC_PATH_PROG([PERL], [perl])
 if test -z "$PERL"; then
    AC_MSG_ERROR([perl not found])
diff --git a/doc/automake-ng.texi b/doc/automake-ng.texi
index 8bdfec1..7fb6cad 100644
--- a/doc/automake-ng.texi
+++ b/doc/automake-ng.texi
@@ -8604,7 +8604,7 @@ By default, this rule makes @samp{xz} use a compression 
option of
 environment variable.  For example, run this command to use the
 default compression ratio, but with a progress indicator:
 @smallexample
-make dist AM_DIST_FORMATS=xz XZ_OPT=-7e
+make dist AM_DIST_FORMATS=xz XZ_OPT=-ve
 @end smallexample
 @cindex xz compression
 @cindex Compression, xz format
diff --git a/gen-testsuite-part b/gen-testsuite-part
index fec499a..495122b 100755
--- a/gen-testsuite-part
+++ b/gen-testsuite-part
@@ -152,6 +152,11 @@ my %deps_extractor =
         line_matcher => qr/^\s*required=.*\bgettext/,
         nodist_prereqs => "$testdir/gettext-macros.log",
       },
+    pkgconfig_macros =>
+      {
+        line_matcher => qr/^\s*required=.*\bpkg-config/,
+        nodist_prereqs => "$testdir/pkg-config-macros.log",
+      },
     use_trivial_test_driver =>
       {
         line_matcher => qr/\btrivial-test-driver\b/,
diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index 2ff8283..d73be94 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -659,14 +659,14 @@ process_requirements ()
   for am_tool in $*; do
     require_tool $am_tool
   done
+  # We might need extra m4 macros, e.g., for Libtool or Gettext.
+  for am_tool in gettext libtool pkg-config; do
+    case " $required " in
+      # The lack of whitespace after $am_tool is intended.
+      *" $am_tool"*) . ./t/$am_tool-macros.dir/get.sh;;
+    esac
+  done
   am_tool=; unset am_tool
-  # We might need extra macros, e.g., from Libtool or Gettext.
-  case " $required " in
-    *\ libtool*) . ./t/libtool-macros.dir/get.sh;;
-  esac
-  case " $required " in
-    *\ gettext*) . ./t/gettext-macros.dir/get.sh;;
-  esac
 }
 
 ## ---------------------------------------------------------------- ##
diff --git a/t/pkg-config-macros.sh b/t/pkg-config-macros.sh
new file mode 100755
index 0000000..e2bf638
--- /dev/null
+++ b/t/pkg-config-macros.sh
@@ -0,0 +1,94 @@
+#! /bin/sh
+# Copyright (C) 2012 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 <http://www.gnu.org/licenses/>.
+
+# Try to find the pkg-config '.m4' files and make them easily accessed
+# to the test cases requiring them.
+
+. test-init.sh
+
+echo "# Automatically generated by $me." > get.sh
+echo : >> get.sh
+
+if ver=$(pkg-config --version) && test -n "$ver"; then
+   echo "printf 'pkg-config version: %s\\n' '$ver'" >> get.sh
+else
+   echo "skip_all_ \"'pkg-config' not available\"" >> get.sh
+fi
+
+cat > configure.ac <<'END'
+AC_INIT([pkg], [1.0])
+PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.4])
+END
+
+have_pkg_config_macros ()
+{
+  $AUTOCONF && ! $FGREP PKG_CHECK_MODULES configure
+}
+
+if have_pkg_config_macros; then
+  # The pkg-config macros are already available, nothing to do.
+  exit 0
+fi
+
+# Usual locations where pkg.m4 *might* be installed.
+XT_ACLOCAL_PATH=/usr/local/share/aclocal:/usr/share/aclocal
+
+# Find the location of the pkg-config executable.
+oIFS=$IFS dir=
+for d in $PATH; do
+  IFS=$oIFS
+  if test -f $dir/pkg-config || test -f $dir/pkg-config.exe; then
+    dir=$d
+    break
+  fi
+done
+IFS=$oIFS
+
+# Now try to use the location of the pkg-config executable to guess
+# where the corresponding pkg.m4 might be installed.
+if test -n "$dir"; then
+  # Only support standard installation layouts.
+  XT_ACLOCAL_PATH=${dir%/bin}/share/alocal:$XT_ACLOCAL_PATH
+fi
+
+XT_ACLOCAL_PATH=$XT_ACLOCAL_PATH${ACLOCAL_PATH+":$ACLOCAL_PATH"}
+
+# Try once again to fetch the pkg-config macros.
+mkdir m4
+ACLOCAL_PATH=$XT_ACLOCAL_PATH $ACLOCAL --install -I m4
+if test -f m4/pkg.m4 && have_pkg_config_macros; then
+   echo "ACLOCAL_PATH='$(pwd)/m4':\$ACLOCAL_PATH" >> get.sh
+   echo "export ACLOCAL_PATH" >> get.sh
+   echo "sed 20q '$(pwd)/m4/pkg.m4' # For debugging." >> get.sh
+else
+   echo "skip_all_ \"pkg-config m4 macros not found\"" >> get.sh
+fi
+
+ACLOCAL_PATH=; unset ACLOCAL_PATH
+. ./get.sh
+
+$ACLOCAL --force -I m4 || cat >> get.sh <<'END'
+# We need to use '-Wno-syntax', since we do not want our test suite
+# to fail merely because some third-party '.m4' file is underquoted.
+ACLOCAL="$ACLOCAL -Wno-syntax"
+END
+
+# The pkg-config m4 file(s) we might fetched will be copied in the
+# 'm4' subdirectory of the test directory are going to be needed by
+# other tests, so we must not remove the test directory.
+keep_testdirs=yes
+
+:
diff --git a/t/vala-headers.sh b/t/vala-headers.sh
index 11c0d10..5eadfd5 100755
--- a/t/vala-headers.sh
+++ b/t/vala-headers.sh
@@ -62,8 +62,6 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
-grep PKG_CHECK_MODULES configure && skip_ "pkg-config m4 macros not found"
-
 ./configure
 $MAKE
 
diff --git a/t/vala-libs.sh b/t/vala-libs.sh
index bf38509..40770f5 100755
--- a/t/vala-libs.sh
+++ b/t/vala-libs.sh
@@ -49,8 +49,6 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
-grep PKG_CHECK_MODULES configure && skip_ "pkg-config m4 macros not found"
-
 ./configure
 
 cat > mu2.c << 'END'
diff --git a/t/vala-non-recursive-setup.sh b/t/vala-non-recursive-setup.sh
index d92e833..af4d787 100755
--- a/t/vala-non-recursive-setup.sh
+++ b/t/vala-non-recursive-setup.sh
@@ -50,8 +50,6 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
-grep PKG_CHECK_MODULES configure && skip_ "pkg-config m4 macros not found"
-
 ./configure
 $MAKE
 test -f src/zardoz.c
diff --git a/t/vala-per-target-flags.sh b/t/vala-per-target-flags.sh
index dbc4f09..e6f9764 100755
--- a/t/vala-per-target-flags.sh
+++ b/t/vala-per-target-flags.sh
@@ -68,8 +68,6 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
-grep PKG_CHECK_MODULES configure && skip_ "pkg-config m4 macros not found"
-
 ./configure
 $MAKE
 
diff --git a/t/vala-recursive-setup.sh b/t/vala-recursive-setup.sh
index 9103a3f..b96c564 100755
--- a/t/vala-recursive-setup.sh
+++ b/t/vala-recursive-setup.sh
@@ -56,8 +56,6 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
-grep PKG_CHECK_MODULES configure && skip_ "pkg-config m4 macros not found"
-
 ./configure
 $MAKE
 


hooks/post-receive
-- 
GNU Automake



reply via email to

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