automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, master, updated. Release-1-


From: Ralf Wildenhues
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. Release-1-10-172-g120031b
Date: Sun, 07 Sep 2008 06:55:18 +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=120031b8d5f75fd631b96396d2e69fe920455098

The branch, master has been updated
       via  120031b8d5f75fd631b96396d2e69fe920455098 (commit)
      from  196abe9a7bcfe78d06b6fa88fe5100d607d3aef1 (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 120031b8d5f75fd631b96396d2e69fe920455098
Author: Ralf Wildenhues <address@hidden>
Date:   Sun Sep 7 08:42:47 2008 +0200

    Fail upon install or ranlib failure, part two.
    
    * lib/am/java.am (install-%DIR%JAVA): Fail upon install failure.
    * lib/am/lisp.am (install-%DIR%LISP): Likewise.
    * lib/am/ltlib.am (install-%DIR%LTLIBRARIES): Likewise.
    * lib/am/libs.am (install-%DIR%LIBRARIES): Likewise, for
    `install' as well as `ranlib'.
    * lib/am/progs.am (install-%DIR%PROGRAMS): If `install' fails,
    return its exit failure, not 1.
    * tests/instfail.test: New test, for PROGRAMS (without libtool),
    LIBRARIES, including nobase variants.
    * tests/instfail-info.test: Likewise, for TEXINFOS.
    * tests/instfail-java.test: Likewise, for JAVA.
    * tests/instfail-libtool.test: Likewise, for PROGRAMS (with
    libtool) and LTLIBRARIES.
    * tests/Makefile.am: Adjust.
    
    Signed-off-by: Ralf Wildenhues <address@hidden>

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

Summary of changes:
 ChangeLog                                   |   17 +++++-
 lib/am/java.am                              |    4 +-
 lib/am/libs.am                              |    6 +-
 lib/am/lisp.am                              |    8 +-
 lib/am/ltlib.am                             |    6 +-
 lib/am/progs.am                             |    6 +-
 tests/Makefile.am                           |    4 +
 tests/Makefile.in                           |    4 +
 tests/{txinfo26.test => instfail-info.test} |   58 ++++++++--------
 tests/{java.test => instfail-java.test}     |   55 +++++++++------
 tests/instfail-libtool.test                 |   83 +++++++++++++++++++++++
 tests/instfail.test                         |   97 +++++++++++++++++++++++++++
 12 files changed, 282 insertions(+), 66 deletions(-)
 copy tests/{txinfo26.test => instfail-info.test} (54%)
 copy tests/{java.test => instfail-java.test} (54%)
 create mode 100755 tests/instfail-libtool.test
 create mode 100755 tests/instfail.test

diff --git a/ChangeLog b/ChangeLog
index cc4739e..382a11f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,22 @@
 2008-09-07  Ralf Wildenhues  <address@hidden>
 
-       Exit upon `install' failure, part one.
+       Fail upon install or ranlib failure, part two.
+       * lib/am/java.am (install-%DIR%JAVA): Fail upon install failure.
+       * lib/am/lisp.am (install-%DIR%LISP): Likewise.
+       * lib/am/ltlib.am (install-%DIR%LTLIBRARIES): Likewise.
+       * lib/am/libs.am (install-%DIR%LIBRARIES): Likewise, for
+       `install' as well as `ranlib'.
+       * lib/am/progs.am (install-%DIR%PROGRAMS): If `install' fails,
+       return its exit failure, not 1.
+       * tests/instfail.test: New test, for PROGRAMS (without libtool),
+       LIBRARIES, including nobase variants.
+       * tests/instfail-info.test: Likewise, for TEXINFOS.
+       * tests/instfail-java.test: Likewise, for JAVA.
+       * tests/instfail-libtool.test: Likewise, for PROGRAMS (with
+       libtool) and LTLIBRARIES.
+       * tests/Makefile.am: Adjust.
 
+       Exit upon `install' failure, part one.
        * lib/am/data.am (install-%DIR%%PRIMARY%): Exit if any install
        command fails.
        * lib/am/python.am (install-%DIR%PYTHON): Likewise.
diff --git a/lib/am/java.am b/lib/am/java.am
index 1031688..98a1fcf 100644
--- a/lib/am/java.am
+++ b/lib/am/java.am
@@ -1,5 +1,5 @@
 ## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1998, 1999, 2001, 2003, 2004, 2006 Free Software
+## Copyright (C) 1998, 1999, 2001, 2003, 2004, 2006, 2008 Free Software
 ## Foundation, Inc.
 
 ## This program is free software; you can redistribute it and/or modify
@@ -52,7 +52,7 @@ install-%DIR%JAVA: class%DIR%.stamp
 ## directory.  This is not optimal, but will have to do for now.
        @test -z "$(%DIR%_JAVA)" || for p in *.class; do \
          echo " $(INSTALL_DATA) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$p'"; \
-         $(INSTALL_DATA) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$p"; \
+         $(INSTALL_DATA) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$p" || exit $$?; \
        done
 endif %?INSTALL%
 
diff --git a/lib/am/libs.am b/lib/am/libs.am
index 18d9642..6cd0988 100644
--- a/lib/am/libs.am
+++ b/lib/am/libs.am
@@ -40,7 +40,7 @@ if %?BASE%
        done; \
        test -z "$$list2" || { \
          echo " $(%DIR%LIBRARIES_INSTALL) $$list2 '$(DESTDIR)$(%NDIR%dir)'"; \
-         $(%DIR%LIBRARIES_INSTALL) $$list2 "$(DESTDIR)$(%NDIR%dir)"; }
+         $(%DIR%LIBRARIES_INSTALL) $$list2 "$(DESTDIR)$(%NDIR%dir)" || exit 
$$?; }
 else !%?BASE%
 ## Funny invocation because Makefile variable can be empty, leading to
 ## a syntax error in sh.
@@ -53,7 +53,7 @@ else !%?BASE%
              echo "$(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)/$$dir'"; \
              $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)/$$dir"; }; \
            echo " $(%DIR%%PRIMARY%_INSTALL) $$xfiles 
'$(DESTDIR)$(%NDIR%dir)/$$dir'"; \
-           $(%DIR%%PRIMARY%_INSTALL) $$xfiles "$(DESTDIR)$(%NDIR%dir)/$$dir"; 
}; \
+           $(%DIR%%PRIMARY%_INSTALL) $$xfiles "$(DESTDIR)$(%NDIR%dir)/$$dir" 
|| exit $$?; }; \
        done
 endif !%?BASE%
 ## We do two loops here so that $(POST_INSTALL) can be empty.  If we
@@ -67,7 +67,7 @@ endif !%?BASE%
            %BASE?$(am__strip_dir):f=$$p;% \
 ## Must ranlib after installing because mod time changes.
            echo " $(RANLIB) '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
-           $(RANLIB) "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+           $(RANLIB) "$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \
          else :; fi; \
        done
 endif %?INSTALL%
diff --git a/lib/am/lisp.am b/lib/am/lisp.am
index cdc0861..a7759d7 100644
--- a/lib/am/lisp.am
+++ b/lib/am/lisp.am
@@ -1,6 +1,6 @@
 ## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 
2007
-## Free Software Foundation, Inc.
+## Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+## 2007, 2008 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
@@ -95,11 +95,11 @@ install-%DIR%LISP: $(%DIR%_LISP) $(ELCFILES)
            if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
            %BASE?$(am__strip_dir):$(am__vpath_adj)% \
            echo " $(%DIR%LISP_INSTALL) '$$d$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; 
\
-           $(%DIR%LISP_INSTALL) "$$d$$p" "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+           $(%DIR%LISP_INSTALL) "$$d$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" || exit 
$$?; \
 ## Only install .elc file if it exists.
            if test -f $${p}c; then \
              echo " $(%DIR%LISP_INSTALL) '$${p}c' 
'$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \
-             $(%DIR%LISP_INSTALL) "$${p}c" "$(DESTDIR)$(%NDIR%dir)/$${f}c"; \
+             $(%DIR%LISP_INSTALL) "$${p}c" "$(DESTDIR)$(%NDIR%dir)/$${f}c" || 
exit $$?; \
            else : ; fi; \
          done; \
        else : ; fi
diff --git a/lib/am/ltlib.am b/lib/am/ltlib.am
index e114faf..3637ea0 100644
--- a/lib/am/ltlib.am
+++ b/lib/am/ltlib.am
@@ -1,6 +1,6 @@
 ## automake - create Makefile.in from Makefile.am
 ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004,
-## 2005, 2006, 2007 Free Software Foundation, Inc.
+## 2005, 2006, 2007, 2008 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,9 +43,9 @@ install-%DIR%LTLIBRARIES: $(%DIR%_LTLIBRARIES)
 ## Use INSTALL and not INSTALL_DATA because libtool knows the right
 ## permissions to use.
 ?LIBTOOL?          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) 
--mode=install $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' 
'$(DESTDIR)$(%NDIR%dir)/$$f'"; \
-?LIBTOOL?          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) 
--mode=install $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" 
"$(DESTDIR)$(%NDIR%dir)/$$f"; \
+?LIBTOOL?          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) 
--mode=install $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" 
"$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \
 ?!LIBTOOL?         echo " $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) 
'$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
-?!LIBTOOL?         $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" 
"$(DESTDIR)$(%NDIR%dir)/$$f"; \
+?!LIBTOOL?         $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" 
"$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \
          else :; fi; \
        done
 endif %?INSTALL%
diff --git a/lib/am/progs.am b/lib/am/progs.am
index e8cdaea..83a8f1b 100644
--- a/lib/am/progs.am
+++ b/lib/am/progs.am
@@ -1,6 +1,6 @@
 ## automake - create Makefile.in from Makefile.am
 ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004,
-## 2006, 2007 Free Software Foundation, Inc.
+## 2006, 2007, 2008 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
@@ -47,9 +47,9 @@ install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS)
 ## lossage if the install program doesn't have a name that libtool
 ## expects.
 ?LIBTOOL?         echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) 
$(LIBTOOLFLAGS) --mode=install $(%DIR%PROGRAMS_INSTALL) '$$p' 
'$(DESTDIR)$(%NDIR%dir)/$$f'"; \
-?LIBTOOL?         $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) 
$(LIBTOOLFLAGS) --mode=install $(%DIR%PROGRAMS_INSTALL) "$$p" 
"$(DESTDIR)$(%NDIR%dir)/$$f" || exit 1; \
+?LIBTOOL?         $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) 
$(LIBTOOLFLAGS) --mode=install $(%DIR%PROGRAMS_INSTALL) "$$p" 
"$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \
 ?!LIBTOOL?        echo " $(INSTALL_PROGRAM_ENV) $(%DIR%PROGRAMS_INSTALL) '$$p' 
'$(DESTDIR)$(%NDIR%dir)/$$f'"; \
-?!LIBTOOL?        $(INSTALL_PROGRAM_ENV) $(%DIR%PROGRAMS_INSTALL) "$$p" 
"$(DESTDIR)$(%NDIR%dir)/$$f" || exit 1; \
+?!LIBTOOL?        $(INSTALL_PROGRAM_ENV) $(%DIR%PROGRAMS_INSTALL) "$$p" 
"$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \
          else :; fi; \
        done
 endif %?INSTALL%
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 54ac671..7a6b286 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -303,6 +303,10 @@ instsh3.test \
 instdat.test \
 instdat2.test \
 instexec.test \
+instfail.test \
+instfail-info.test \
+instfail-java.test \
+instfail-libtool.test \
 insthook.test \
 instman.test \
 instman2.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 9dca1ae..914ebf8 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -454,6 +454,10 @@ instsh3.test \
 instdat.test \
 instdat2.test \
 instexec.test \
+instfail.test \
+instfail-info.test \
+instfail-java.test \
+instfail-libtool.test \
 insthook.test \
 instman.test \
 instman2.test \
diff --git a/tests/txinfo26.test b/tests/instfail-info.test
similarity index 54%
copy from tests/txinfo26.test
copy to tests/instfail-info.test
index 52a7f78..ba2b5b6 100755
--- a/tests/txinfo26.test
+++ b/tests/instfail-info.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2003, 2007  Free Software Foundation, Inc.
+# Copyright (C) 2008  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
@@ -14,53 +14,53 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Make sure Texinfo installation works when absolute --srcdir is used.
-# PR/408
+# The install rule should honor failures of the install program.
+# Some of these are already caught by instmany.test.
 
-required='makeinfo'
+# This test has a few sister tests, for java, info, libtool.
+
+
+# non-root should catch 'chmod a-r'-challenged file systems.
+required='non-root makeinfo'
 . ./defs || Exit 1
 
 set -e
 
-echo AC_OUTPUT >> configure.in
-
-cat > Makefile.am << 'END'
-info_TEXINFOS = main.texi
+cat >>configure.in <<END
+AC_OUTPUT
 END
 
+cat >Makefile.am <<'END'
+info_TEXINFOS = info1.texi info2.texi info3.texi
+END
 
-cat > main.texi << 'END'
+for n in 1 2 3; do
+  cat >info$n.texi <<END
 \input texinfo
address@hidden main.info
address@hidden info$n.info
 @settitle main
 @node Top
 Hello walls.
address@hidden version.texi
 @bye
 END
-
+done
 
 $ACLOCAL
-$AUTOMAKE --add-missing
 $AUTOCONF
+$AUTOMAKE --add-missing
 
-./configure
+instdir=`pwd`/inst
+./configure --prefix="$instdir"
 $MAKE
-$MAKE distclean
-
-# We do not require this to work with a directory that contains white space.
-case `pwd` in
-  *\ * | *\    *) Exit 77;;
-esac
 
-mkdir build
-cd build
-../configure "--srcdir=`pwd`/.." "--prefix=`pwd`/_inst" 
"--infodir=`pwd`/_inst/info"
 $MAKE install
-test -f ../main.info
-test ! -f ./main.info
-test -f _inst/info/main.info
-
 $MAKE uninstall
-test ! -f _inst/info/main.info
-test -f ../main.info
+
+for file in info1.info
+do
+  chmod a-r $file
+  $MAKE install-data && Exit 1
+  chmod u+r $file
+done
+
+:
diff --git a/tests/java.test b/tests/instfail-java.test
similarity index 54%
copy from tests/java.test
copy to tests/instfail-java.test
index 939a793..44b5971 100755
--- a/tests/java.test
+++ b/tests/instfail-java.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1998, 2001, 2002, 2004, 2007  Free Software Foundation, Inc.
+# Copyright (C) 2008  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
@@ -14,40 +14,53 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Minimal test of Java functionality.
+# The install rule should honor failures of the install program.
+# Some of these are already caught by instmany.test.
 
+# This is the java sister test of instfail.test.
+
+
+# non-root should catch 'chmod a-r'-challenged file systems.
+required='non-root'
 . ./defs || Exit 1
 
 set -e
 
-cat >>configure.in <<'EOF'
+cat >>configure.in <<'END'
 AC_CHECK_PROG([HAS_JAVAC], [javac], [:], [exit])
 ($HAS_JAVAC 77); $HAS_JAVAC 77
 AC_OUTPUT
-EOF
-
+END
 
-cat > Makefile.am << 'END'
+cat >Makefile.am <<'END'
 javadir = $(datadir)/java
-dist_java_JAVA = a.java b.java
+java_JAVA = java1.java java2.java java3.java
 END
 
+for n in 1 2 3; do
+  cat >java$n.java <<END
+class java$n
+{
+}
+END
+done
+
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE
-grep '^all[-a-z]*:.*classdist_java\.stamp' Makefile.in
+$AUTOMAKE --add-missing
 
-cat >a.java <<EOF
-class a
-{
-}
-EOF
+instdir=`pwd`/inst
+./configure --prefix="$instdir"
+$MAKE
 
-cat >b.java <<EOF
-class b
-{
-}
-EOF
+$MAKE install
+$MAKE uninstall
+
+for file in java1.class
+do
+  chmod a-r $file
+  $MAKE install-data && Exit 1
+  chmod u+r $file
+done
 
-./configure --prefix "`pwd`"
-$MAKE distcheck
+:
diff --git a/tests/instfail-libtool.test b/tests/instfail-libtool.test
new file mode 100755
index 0000000..1b6bd2b
--- /dev/null
+++ b/tests/instfail-libtool.test
@@ -0,0 +1,83 @@
+#! /bin/sh
+# Copyright (C) 2008  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 3, 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/>.
+
+# The install rule should honor failures of the install program.
+# Some of these are already caught by instmany.test.
+
+# This is the libtool sister test of instfail.test
+
+
+# non-root should catch 'chmod a-r'-challenged file systems.
+required='non-root libtool libtoolize'
+. ./defs || Exit 1
+
+set -e
+
+cat >>configure.in <<END
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'END'
+bin_PROGRAMS = prog1 prog2 prog3
+nobase_bin_PROGRAMS = progn1 progn2 progn3
+lib_LTLIBRARIES = liblt1.la liblt2.la liblt3.la
+nobase_lib_LTLIBRARIES = libltn1.la libltn2.la libltn3.la
+unreadable-prog:
+       chmod a-r prog1$(EXEEXT)
+readable-prog:
+       chmod a+r prog1$(EXEEXT)
+unreadable-progn:
+       chmod a-r progn1$(EXEEXT)
+readable-progn:
+       chmod a+r progn1$(EXEEXT)
+END
+
+for n in 1 2 3; do
+  echo "int main () { return 0; }" > prog$n.c
+  echo "int main () { return 0; }" > progn$n.c
+  echo "int foolt$n () { return 0; }" > liblt$n.c
+  echo "int fooltn$n () { return 0; }" > libltn$n.c
+done
+
+libtoolize
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+instdir=`pwd`/inst
+./configure --prefix="$instdir"
+$MAKE
+
+$MAKE install
+$MAKE uninstall
+
+$MAKE unreadable-prog
+$MAKE install-exec && Exit 1
+$MAKE readable-prog
+
+$MAKE unreadable-progn
+$MAKE install-exec && Exit 1
+$MAKE readable-progn
+
+for file in liblt1.la libltn1.la
+do
+  chmod a-r $file
+  $MAKE install-exec && Exit 1
+  chmod u+r $file
+done
+
+:
diff --git a/tests/instfail.test b/tests/instfail.test
new file mode 100755
index 0000000..a09ca17
--- /dev/null
+++ b/tests/instfail.test
@@ -0,0 +1,97 @@
+#! /bin/sh
+# Copyright (C) 2008  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 3, 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/>.
+
+# The install rule should honor failures of the install program.
+# Some of these are already caught by instmany.test.
+
+# This test has a few sister tests, for java, info, libtool.
+
+
+# non-root should catch 'chmod a-r'-challenged file systems.
+required=non-root
+. ./defs || Exit 1
+
+set -e
+
+cat >>configure.in <<END
+AC_PROG_CC
+AC_PROG_RANLIB
+AM_PATH_LISPDIR
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'END'
+bin_PROGRAMS = prog1 prog2 prog3
+nobase_bin_PROGRAMS = progn1 progn2 progn3
+lisp_LISP = lisp1.el lisp2.el lisp3.el
+nobase_lisp_LISP = lispn1.el lispn2.el lispn3.el
+lib_LIBRARIES = lib1.a lib2.a lib3.a
+nobase_lib_LIBRARIES = libn1.a libn2.a libn3.a
+unreadable-prog:
+       chmod a-r prog1$(EXEEXT)
+readable-prog:
+       chmod a+r prog1$(EXEEXT)
+unreadable-progn:
+       chmod a-r progn1$(EXEEXT)
+readable-progn:
+       chmod a+r progn1$(EXEEXT)
+END
+
+for n in 1 2 3; do
+  echo "int main () { return 0; }" > prog$n.c
+  echo "int main () { return 0; }" > progn$n.c
+  echo "int foo$n () { return 0; }" > lib$n.c
+  echo "int foon$n () { return 0; }" > libn$n.c
+  echo >lisp$n.el
+  echo >lispn$n.el
+done
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+instdir=`pwd`/inst
+./configure --prefix="$instdir"
+$MAKE
+
+$MAKE install
+$MAKE uninstall
+
+$MAKE unreadable-prog
+$MAKE install-exec && Exit 1
+$MAKE readable-prog
+
+$MAKE unreadable-progn
+$MAKE install-exec && Exit 1
+$MAKE readable-progn
+
+for file in lib1.a libn1.a
+do
+  chmod a-r $file
+  $MAKE install-exec && Exit 1
+  chmod u+r $file
+done
+
+if grep "^EMACS = no" Makefile; then :; else
+  for file in lisp1.el lisp1.elc
+  do
+    chmod a-r $file
+    $MAKE install-data && Exit 1
+    chmod u+r $file
+  done
+fi
+
+:


hooks/post-receive
--
GNU Automake




reply via email to

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