GNU bug report logs - #19964
automake fails if files named “install.sh” and “install-sh” are found in the parent directory

Previous Next

Package: automake;

Reported by: Florent Le Coz <louiz <at> louiz.org>

Date: Fri, 27 Feb 2015 20:04:01 UTC

Severity: minor

Tags: confirmed

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Nick Bowler <nbowler <at> elliptictech.com>
To: Florent Le Coz <louiz <at> louiz.org>
Cc: 19964 <at> debbugs.gnu.org
Subject: bug#19964: automake fails if files named “install.sh” and “install-sh” are found in the parent directory
Date: Fri, 27 Feb 2015 16:02:04 -0500
> Assuming project.tar.gz contains the source code of a project using
> the autotools as its build system:
> 
> $ tar xf project.tar.gz
> $ cd project/
> $ touch ../install-sh ../install.sh
> $ autoreconf -vif
> autoreconf: Entering directory `.'
> […]
> BUG.am: error: 'install.sh' is an anachronism; use 'install-sh' instead
> […]
> autoreconf: automake failed with exit status: 1

Full test case:

  % mkdir foo
  % cat >foo/configure.ac <<'EOF'
AC_INIT([test], [0])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
EOF
  % touch foo/Makefile.am
  % touch install-sh install.sh
  % (cd foo && autoreconf -i)
configure.ac:2: installing '../missing'
BUG.am: error: 'install.sh' is an anachronism; use 'install-sh' instead
autoreconf-2.69: automake failed with exit status: 1

Note how it actually copies the missing script to ".." as well, and NOT
into the package directory.  If we remove just ../install.sh automake
will still copy files into "..", and 'make dist' will fail to include
them in the tarball.

> You probably have reasons to look in .. or ../.. (and I would be
> quite interested to hear them, actually)

I imagine it is for subprojects, so that the scripts are not copied into
every one.  Which unfortunately means changing the automake behaviour
could break this usage...

However, there is a workaround.  If you add AC_CONFIG_AUX_DIR([.]) to
configure.ac, then this will cause Automake to not look in .. or ../..,
and things should work properly.

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)




This bug report was last modified 82 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.