automake-patches
[Top][All Lists]
Advanced

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

Re: bug in m4/mkdirp.m4


From: Alexandre Duret-Lutz
Subject: Re: bug in m4/mkdirp.m4
Date: Mon, 03 Oct 2005 22:48:02 +0200
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/22.0.50 (gnu/linux)

>>> "PO" == Peter O'Gorman <address@hidden> writes:

 PO> Alexandre Duret-Lutz wrote:
 PO> 2005-??-??  Peter O'Gorman  <address@hidden>
 PO> * lib/am/distdir.am: Remove $(SHELL) when calling install_sh
 PO> * m4/strip.m4: Ditto.
 PO> * m4/install-sh.m4: Add $(SHELL) to the definition of install_sh
 >> Thanks for the patch.  Can you explain how the x bit vanished?
 >> This looks like the bug we should fix first.

 PO> Welcome back Alexandre.

 PO> Yeah, the executable bit vanishing has nothing to do with automake. If an 
 PO> upstream source tarball does not use the autotools, it is sometimes easier 
 PO> to build if it is modified to use them. Then a patch is generated, and 
 PO> applied to the unpacked clean sources during the build. patch(1) knows 
 PO> nothing about permissions, so executable bits etc can disappear.

Sorry for the delay.  I'm installing the following on HEAD.

2005-10-03  Alexandre Duret-Lutz  <address@hidden>

        * tests/nobase.test: Exercise previous patch.

2005-10-03  Peter O'Gorman  <address@hidden>  (tiny change)

        * lib/am/distdir.am: Remove $(SHELL) when calling install_sh
        * m4/strip.m4: Ditto.
        * m4/install-sh.m4: Add $(SHELL) to the definition of install_sh

Index: lib/am/distdir.am
===================================================================
RCS file: /cvs/automake/automake/lib/am/distdir.am,v
retrieving revision 1.61
diff -u -r1.61 distdir.am
--- lib/am/distdir.am   14 May 2005 20:28:53 -0000      1.61
+++ lib/am/distdir.am   3 Oct 2005 20:46:11 -0000
@@ -1,5 +1,5 @@
 ## automake - create Makefile.in from Makefile.am
-## Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+## Copyright (C) 2001, 2002, 2003, 2004, 2005  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
@@ -212,7 +212,7 @@
        -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
          ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
          ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} 
\; \
+         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
        || chmod -R a+r $(distdir)
 if %?FILENAME_FILTER%
        @if find $(distdir) -type f -print | \
Index: m4/install-sh.m4
===================================================================
RCS file: /cvs/automake/automake/m4/install-sh.m4,v
retrieving revision 1.4
diff -u -r1.4 install-sh.m4
--- m4/install-sh.m4    9 Jan 2005 14:46:21 -0000       1.4
+++ m4/install-sh.m4    3 Oct 2005 20:46:11 -0000
@@ -10,5 +10,5 @@
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
 AC_SUBST(install_sh)])
Index: m4/strip.m4
===================================================================
RCS file: /cvs/automake/automake/m4/strip.m4,v
retrieving revision 1.8
diff -u -r1.8 strip.m4
--- m4/strip.m4 9 Jan 2005 14:46:21 -0000       1.8
+++ m4/strip.m4 3 Oct 2005 20:46:11 -0000
@@ -24,5 +24,5 @@
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
Index: tests/nobase.test
===================================================================
RCS file: /cvs/automake/automake/tests/nobase.test,v
retrieving revision 1.13
diff -u -r1.13 nobase.test
--- tests/nobase.test   14 May 2005 20:28:55 -0000      1.13
+++ tests/nobase.test   3 Oct 2005 20:46:11 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002, 2004  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2004, 2005  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -108,12 +108,22 @@
 EOF
 cp source.c source2.c
 
+rm install-sh
+
 libtoolize
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -a
+$AUTOMAKE -a --copy
 ./configure --prefix `pwd`/inst --program-prefix=p
 
+# Remove the 'x' bits just for fun.  (Peter O'Gorman said: "If an
+# upstream source tarball does not use the autotools, it is sometimes
+# easier to build if it is modified to use them. Then a patch is
+# generated, and applied to the unpacked clean sources during the
+# build. patch(1) knows nothing about permissions, so executable bits
+# etc can disappear.")
+chmod -x install-sh
+
 $MAKE
 $MAKE test-install-data
 $MAKE test-install-exec



-- 
Alexandre Duret-Lutz

Shared books are happy books.     http://www.bookcrossing.com/friend/gadl





reply via email to

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