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.1


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.1-419-g6d02bf8
Date: Wed, 20 Jun 2012 09:31:59 +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=6d02bf85a2b851f7519d96dafaa6e9b1f1588bad

The branch, ng/master has been updated
       via  6d02bf85a2b851f7519d96dafaa6e9b1f1588bad (commit)
      from  9dd146cf9845600c65ad6a568f1404e4632d4487 (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 6d02bf85a2b851f7519d96dafaa6e9b1f1588bad
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jun 18 16:17:17 2012 +0200

    [ng] general: simpler workaround for CDPATH issues
    
    With this change, we also get rid of the $(am__cd) make variable.
    
    * lib/am/header-vars.am (am__cd): Remove.
    To ensure a CDPATH exported in the environment doesn't interfere with
    our scripts and recipes, we can simply un-export it here (using the GNU
    make "unexport" directive), rather than having to rely on $(am__cd) ...
    * Makefile.am, automake.in, lib/am/configure.am, lib/am/distdir.am,
    lib/am/header-vars.am, lib/am/inst-vars.am, lib/am/remake-hdr.am,
    lib/am/tags.am, lib/am/texibuild.am, t/ax/distcheck-hook-m4.am: ... in
    several places of these files.
    * GNUmakefile, HACKING: Adjust.
    * syntax-checks.mk (sc_cd_in_backquotes, sc_cd_relative_dir): Remove,
    superseded by ...
    (sc_no_am_cd): ... this new target, which has contrary semantics, and
    looks *against* the use of the now-obsolete $(am__cd).
    (syntax_check_rules): Adjust.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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

Summary of changes:
 GNUmakefile               |    4 ++--
 HACKING                   |    6 ------
 Makefile.am               |   12 ++++++------
 automake.in               |    8 ++++----
 lib/am/configure.am       |    8 ++++----
 lib/am/distdir.am         |    8 ++++----
 lib/am/header-vars.am     |    8 +++++++-
 lib/am/inst-vars.am       |    2 +-
 lib/am/remake-hdr.am      |    2 +-
 lib/am/tags.am            |    4 ++--
 lib/am/texibuild.am       |    6 +++---
 syntax-checks.mk          |   35 +++++++++++++----------------------
 t/ax/distcheck-hook-m4.am |    2 +-
 13 files changed, 48 insertions(+), 57 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index d814dfe..5890be6 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -34,8 +34,8 @@ endif
 
 # To allow bootstrapping also in an unconfigured tree.
 srcdir ?= .
-am__cd ?= CDPATH=. && unset CDPATH && cd
 V ?= 0
+unexport CDPATH
 
 ifeq ($(V),0)
   AM_V_BOOTSTRAP = @echo "  BOOTSTRAP";
@@ -50,7 +50,7 @@ endif
 # Must be phony, not to be confused with the 'bootstrap' script.
 .PHONY: bootstrap
 bootstrap:
-       $(AM_V_BOOTSTRAP)$(am__cd) $(srcdir) && ./bootstrap.sh
+       $(AM_V_BOOTSTRAP)cd $(srcdir) && ./bootstrap.sh
        $(AM_V_CONFIGURE)set -e; \
        am__bootstrap_configure () { \
          $(srcdir)/configure $${1+"$$@"} $(BOOTSTRAP_CONFIGURE_FLAGS); \
diff --git a/HACKING b/HACKING
index 6966384..c15718f 100644
--- a/HACKING
+++ b/HACKING
@@ -64,12 +64,6 @@
 
 * Never use basename or dirname.  Instead use sed.
 
-* Do not use 'cd' within back-quotes, use '$(am__cd)' instead.
-  Otherwise the directory name may be printed, depending on CDPATH.
-  More generally, do not ever use plain 'cd' together with a relative
-  directory that does not start with a dot, or you might end up in one
-  computed with CDPATH.
-
 * For install and uninstall rules, if a loop is required, it should be
   silent.  Then the body of the loop itself should print each
   "important" command it runs.  The printed commands should be preceded
diff --git a/Makefile.am b/Makefile.am
index 532a5fd..59aa1f6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -503,7 +503,7 @@ $(srcdir)/doc/amhello-1.0.tar.gz: $(amhello_sources) 
$(srcdir)/configure.ac
        $(AM_V_GEN): \
          && PATH="$(abs_top_builddir)/t/wrap$(PATH_SEPARATOR)$$PATH" \
          && export PATH \
-         && $(am__cd) $(srcdir)/doc/amhello \
+         && cd $(srcdir)/doc/amhello \
          && ACLOCAL=aclocal-$(APIVERSION) && export ACLOCAL \
          && AUTOMAKE=automake-$(APIVERSION) && export AUTOMAKE \
          && AUTOCONF='$(am_AUTOCONF)' && export AUTOCONF \
@@ -591,7 +591,7 @@ ChangeLog:
 # Ensure tests are world-executable.
 # FIXME: this should be turned into a maintainer check...
 dist-hook:
-       $(am__cd) $(distdir)/t && chmod a+rx *.sh *.tap
+       cd $(distdir)/t && chmod a+rx *.sh *.tap
 
 
 ## --------------------------- ##
@@ -712,14 +712,14 @@ autodiffs:
             rev=$$1 dir=$$2 \
               && echo "$@: will get files from revision $$rev" \
               && $(GIT) clone -q --depth 1 "$$am_gitdir" tmp \
-              && $(am__cd) tmp \
+              && cd tmp \
               && $(GIT) checkout -q "$$rev" \
               && echo "$@: bootstrapping $$rev" \
               && $(SHELL) ./bootstrap.sh \
               && echo "$@: copying files from $$rev" \
               && makefile_ins=`find . -name Makefile.in` \
               && (tar cf - configure aclocal.m4 $$makefile_ins) | \
-                 (cd .. && $(am__cd) "$$dir" && tar xf -) \
+                 (cd .. && cd "$$dir" && tar xf -) \
               && cd .. \
               && rm -rf tmp; \
         }; \
@@ -729,7 +729,7 @@ autodiffs:
           && $(GIT) --git-dir="$$am_gitdir" describe $$NEW_COMMIT >/dev/null \
           && rm -rf $$outdir \
           && mkdir $$outdir \
-          && $(am__cd) $$outdir \
+          && cd $$outdir \
           && mkdir new old \
           && get_autofiles_from_rev $$OLD_COMMIT old \
           && get_autofiles_from_rev $$NEW_COMMIT new \
@@ -796,7 +796,7 @@ fetch:
        rm -rf Fetchdir > /dev/null 2>&1
        mkdir Fetchdir
 ## If a get fails then that is a problem.
-       ($(am__cd) Fetchdir && \
+       (cd Fetchdir && \
        $(WGET_SV_GIT_CF)config.guess -O config.guess && \
        $(WGET_SV_GIT_CF)config.sub -O config.sub && \
        $(WGET_SV_CVS)texinfo/texinfo/doc/texinfo.tex -O texinfo.tex && \
diff --git a/automake.in b/automake.in
index 63de027..b518ffa 100644
--- a/automake.in
+++ b/automake.in
@@ -3302,7 +3302,7 @@ sub handle_tags
                          . "\tlist='\$(SUBDIRS)'; for subdir in \$\$list; do 
\\\n"
                          # Never fail here if a subdir fails; it
                          # isn't important.
-                         . "\t  test \"\$\$subdir\" = . || (\$(am__cd) 
\$\$subdir"
+                         . "\t  test \"\$\$subdir\" = . || (cd \$\$subdir"
                          . " && \$(MAKE) tags); \\\n"
                          . "\tdone\n");
        push (@tag_deps, 'tags-recursive');
@@ -3312,7 +3312,7 @@ sub handle_tags
                          . "\tlist='\$(SUBDIRS)'; for subdir in \$\$list; do 
\\\n"
                          # Never fail here if a subdir fails; it
                          # isn't important.
-                         . "\t  test \"\$\$subdir\" = . || (\$(am__cd) 
\$\$subdir"
+                         . "\t  test \"\$\$subdir\" = . || (cd \$\$subdir"
                          . " && \$(MAKE) ctags); \\\n"
                          . "\tdone\n");
        push (@ctag_deps, 'ctags-recursive');
@@ -3322,7 +3322,7 @@ sub handle_tags
                          . "\tlist='\$(SUBDIRS)'; for subdir in \$\$list; do 
\\\n"
                          # Never fail here if a subdir fails; it
                          # isn't important.
-                         . "\t  test \"\$\$subdir\" = . || (\$(am__cd) 
\$\$subdir"
+                         . "\t  test \"\$\$subdir\" = . || (cd \$\$subdir"
                          . " && \$(MAKE) cscopelist); \\\n"
                          . "\tdone\n");
        push (@cscope_deps, 'cscopelist-recursive');
@@ -5037,7 +5037,7 @@ sub lang_vala_finish_target ($$)
 # Thus we need to create the stamp file *before* invoking valac, and to
 # move it to its final location only after valac has been invoked.
     "\t${silent}rm -f \$\@ && echo stamp > address@hidden".
-    "\t${verbose}\$(am__cd) \$(srcdir) && $compile @vala_sources\n".
+    "\t${verbose}cd \$(srcdir) && $compile @vala_sources\n".
     "\t${silent}mv -f address@hidden address@hidden";
 
   push_dist_common ($stampfile);
diff --git a/lib/am/configure.am b/lib/am/configure.am
index ac816c4..f9d604a 100644
--- a/lib/am/configure.am
+++ b/lib/am/configure.am
@@ -38,7 +38,7 @@ endif %?TOPDIR_P%
          case '$(am__configure_deps)' in \
            *$$dep*) \
 ?TOPDIR_P?           echo ' cd $(srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS%'; \
-?TOPDIR_P?           $(am__cd) $(srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS% \
+?TOPDIR_P?           cd $(srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS% \
 ?TOPDIR_P?             && exit 0; \
 ?!TOPDIR_P?          ( cd $(top_builddir) && $(MAKE) am--refresh ) \
 ## If on the other hand, subdir/Makefile.in has been removed, then toplevel
@@ -51,7 +51,7 @@ endif %?TOPDIR_P%
        done; \
 ## Otherwise, rebuild only this file.
        echo ' cd $(top_srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS% 
%MAKEFILE-AM-SOURCES%'; \
-       $(am__cd) $(top_srcdir) && \
+       cd $(top_srcdir) && \
          $(AUTOMAKE) %AUTOMAKE-OPTIONS% %MAKEFILE-AM-SOURCES%
 
 ## Ensure that GNU make doesn't remove Makefile if ./config.status (below)
@@ -101,7 +101,7 @@ $(top_builddir)/config.status: $(top_srcdir)/configure 
$(CONFIG_STATUS_DEPENDENC
 ?!TOPDIR_P?    cd $(top_builddir) && $(MAKE) am--refresh
 
 $(top_srcdir)/configure: %MAINTAINER-MODE% $(am__configure_deps)
-?TOPDIR_P?     $(am__cd) $(srcdir) && $(AUTOCONF)
+?TOPDIR_P?     cd $(srcdir) && $(AUTOCONF)
 ?!TOPDIR_P?    cd $(top_builddir) && $(MAKE) am--refresh
 
 
@@ -118,7 +118,7 @@ $(top_srcdir)/configure: %MAINTAINER-MODE% 
$(am__configure_deps)
 ## the $(am__configure_deps) dependency.
 if %?REGEN-ACLOCAL-M4%
 $(ACLOCAL_M4): %MAINTAINER-MODE% $(am__aclocal_m4_deps)
-?TOPDIR_P?     $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+?TOPDIR_P?     cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
 ?!TOPDIR_P?    cd $(top_builddir) && $(MAKE) am--refresh
 
 ## Avoid the "deleted header file" problem for the dependencies.
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index 1e5f902..51cd80a 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -238,7 +238,7 @@ if %?SUBDIRS%
            new_top_distdir=$$reldir; \
            echo " (cd $$subdir && $(MAKE) top_distdir="$$new_top_distdir" 
distdir="$$new_distdir" \\"; \
            echo "     am__remove_distdir=: am__skip_length_check=: 
am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
+           (cd $$subdir && \
              $(MAKE) \
                top_distdir="$$new_top_distdir" \
                distdir="$$new_distdir" \
@@ -448,13 +448,13 @@ distcheck: dist
 ## Compute the absolute path of '_inst'.  Strip any leading DOS drive
 ## to allow DESTDIR installations.  Otherwise "$(DESTDIR)$(prefix)" would
 ## expand to "c:/temp/am-dc-5668/c:/src/package/package-1.0/_inst".
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 
's,^[^:\\/]:[\\/],/,'` \
+       dc_install_base=`cd $(distdir)/_inst && pwd | sed -e 
's,^[^:\\/]:[\\/],/,'` \
 ## We will attempt a DESTDIR install in $dc_destdir.  We don't
 ## create this directory under $dc_install_base, because it would
 ## create very long directory names.
          && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 ?DISTCHECK-HOOK?         && $(MAKE) distcheck-hook \
-         && $(am__cd) $(distdir)/_build \
+         && cd $(distdir)/_build \
          && ../configure --srcdir=.. --prefix="$$dc_install_base" \
 ?GETTEXT?          --with-included-gettext \
 ## Additional flags for configure.  Keep this last in the configure
@@ -515,7 +515,7 @@ distuninstallcheck:
               '$$(distuninstallcheck_dir)' >&2; \
          exit 1; \
        }; \
-       $(am__cd) '$(distuninstallcheck_dir)' || { \
+       cd '$(distuninstallcheck_dir)' || { \
          echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
          exit 1; \
        }; \
diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am
index 636713b..eccfec5 100644
--- a/lib/am/header-vars.am
+++ b/lib/am/header-vars.am
@@ -60,6 +60,13 @@ ifdef SUBDIRS
   endif
 endif
 
+# CDPATH is only useful in interactive usage, and should never be exported
+# in the environment; doing so could cause our recipes and scripts to chdir
+# to unexpected places, causing all sort of hard to reproduce mayhem.
+# Still, but some people nonetheless export CDPATH (or did so in the past),
+# so to be extra safe we have to neutralize it.
+unexport CDPATH
+
 # Be verbose by deafault.  Yes, we really want $(V) to be overridable
 # from the environment, both for simplicity and for consistency with
 # mainline Automake.
@@ -242,7 +249,6 @@ pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
 pkglibexecdir = $(libexecdir)/@PACKAGE@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_SCRIPT = $(install_sh) -c
diff --git a/lib/am/inst-vars.am b/lib/am/inst-vars.am
index 3096f0a..f1b319b 100644
--- a/lib/am/inst-vars.am
+++ b/lib/am/inst-vars.am
@@ -67,7 +67,7 @@ am__uninstall_files_from_dir = { \
 ## is indeed desired and welcome (better to fail loudly thasn silently).
     || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
     || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
+         cd "$$dir" && rm -f $$files; }; \
   }
 
 endif %?FIRST%
diff --git a/lib/am/remake-hdr.am b/lib/am/remake-hdr.am
index e4928e8..2bcf2df 100644
--- a/lib/am/remake-hdr.am
+++ b/lib/am/remake-hdr.am
@@ -28,7 +28,7 @@
 ## by autoheader.
 if %?FIRST%
 %CONFIG_HIN%: %MAINTAINER-MODE% $(am__configure_deps)
-       $(am__cd) $(top_srcdir) && $(AUTOHEADER)
+       cd $(top_srcdir) && $(AUTOHEADER)
 ## Whenever $(AUTOHEADER) has run, we must make sure that
 ## ./config.status will rebuild config.h.  The dependency from %STAMP%
 ## on %CONFIG_H_DEPS% (which contains config.hin) is not enough to
diff --git a/lib/am/tags.am b/lib/am/tags.am
index eadb9c0..11a786f 100644
--- a/lib/am/tags.am
+++ b/lib/am/tags.am
@@ -124,8 +124,8 @@ CTAGS: %CTAGSDIRS% $(TAGS_DEPENDENCIES) $(am__tagged_files)
 
 .PHONY: GTAGS
 GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
+       here=`cd $(top_builddir) && pwd` \
+         && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
 
diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am
index fd6a4b6..fcd40cf 100644
--- a/lib/am/texibuild.am
+++ b/lib/am/texibuild.am
@@ -47,7 +47,7 @@ define am__texibuild_info
 ##    to fail, the info files are not removed.  (They are needed by the
 ##    developer while he writes documentation.)
        $(AM_V_MAKEINFO)restore=: && backupdir=.am$$$$ && \
-       $(if $1,am__cwd=`pwd` && $(am__cd) $(srcdir) &&) \
+       $(if $1,am__cwd=`pwd` && cd $(srcdir) &&) \
        rm -rf $$backupdir && mkdir $$backupdir && \
 ## If makeinfo is not installed we must not backup the files so
 ## 'missing' can do its job and touch $@ if it exists.
@@ -61,11 +61,11 @@ define am__texibuild_info
                       -I $(@D) -I $(srcdir)/$(@D) -o $@ $<; \
        then \
          rc=0; \
-         $(if $(am__info_insrc),$(am__cd) $(srcdir);) \
+         $(if $(am__info_insrc),cd $(srcdir);) \
        else \
          rc=$$?; \
 ## Beware that backup info files might come from a subdirectory.
-         $(if $(am__info_insrc),$(am__cd) $(srcdir) &&) \
+         $(if $(am__info_insrc),cd $(srcdir) &&) \
          $$restore $$backupdir/* $(@D); \
        fi; \
        rm -rf $$backupdir; exit $$rc
diff --git a/syntax-checks.mk b/syntax-checks.mk
index c71f1c4..4c2135e 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -51,8 +51,7 @@ sc_mkinstalldirs \
 sc_pre_normal_post_install_uninstall \
 sc_perl_no_undef \
 sc_perl_no_split_regex_space \
-sc_cd_in_backquotes \
-sc_cd_relative_dir \
+sc_no_am_cd \
 sc_perl_at_uscore_in_scalar_context \
 sc_perl_local \
 sc_AMDEP_TRUE_in_automake_in \
@@ -187,27 +186,19 @@ sc_perl_no_split_regex_space:
          exit 1; \
        fi
 
-## Look for cd within backquotes
-sc_cd_in_backquotes:
-       @if grep -n '^[^#]*` *cd ' $(srcdir)/automake.in $(ams); then \
-         echo "Consider using \$$(am__cd) in the lines above." 1>&2; \
-         exit 1; \
-       fi
-
-## Look for cd to a relative directory (may be influenced by CDPATH).
-## Skip some known directories that are OK.
-sc_cd_relative_dir:
-       @if grep -n '^[^#]*cd ' $(srcdir)/automake.in $(ams) | \
-             grep -v 'echo.*cd ' | \
-             grep -v 'am__cd =' | \
-             grep -v '^[^#]*cd [./]' | \
-             grep -v '^[^#]*cd \$$(top_builddir)' | \
-             grep -v '^[^#]*cd "\$$\$$am__cwd' | \
-             grep -v '^[^#]*cd \$$(abs' | \
-             grep -v '^[^#]*cd "\$$(DESTDIR)'; then \
-         echo "Consider using \$$(am__cd) in the lines above." 1>&2; \
+sc_no_am_cd:
+       @files="\
+         $(xtests) \
+         $(pms) \
+         $(ams) \
+         $(srcdir)/automake.in \
+         $(srcdir)/doc/*.texi \
+       "; \
+       if grep -F 'am__cd' $$files; then \
+         echo "Found uses of 'am__cd', which is obsolete" 1>&2; \
+         echo "Using a simple 'cd' should be enough" 1>&2; \
          exit 1; \
-       fi
+       else :; fi
 
 ## Using @_ in a scalar context is most probably a programming error.
 sc_perl_at_uscore_in_scalar_context:
diff --git a/t/ax/distcheck-hook-m4.am b/t/ax/distcheck-hook-m4.am
index 5d36102..30b8760 100644
--- a/t/ax/distcheck-hook-m4.am
+++ b/t/ax/distcheck-hook-m4.am
@@ -17,7 +17,7 @@
 
 distcheck-hook:
        @fatal () { echo "$@: $$*" >&2; exit 1; }; \
-       $(am__cd) $(distdir) && chmod u+w . && mkdir _m4 \
+       cd $(distdir) && chmod u+w . && mkdir _m4 \
          || fatal "cannot setup distdir"; \
        $(ACLOCAL) -I _m4 $(ACLOCAL_AMFLAGS) --install --output=_am.m4 \
          || fatal "cannot regenerate aclocal.m4"; \


hooks/post-receive
-- 
GNU Automake



reply via email to

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