Can someone please explain how 
ports/devel/automake/1.11/patches/patch-lib_am_header-vars_am works with 
/usr/local/share/aclocal-1.11/install-sh.m4 (note that it results in 
${SHELL} ${SHELL} install-sh)?

----------------------------
revision 1.1
date: 2011/05/18 19:38:15;  author: matthieu;  state: Exp;
Use ${SHELL} to run install-sh since it may not be executable.
ok phessler@, landry@ who did run this through a full ports build.
=============================================================================

This causes my install targets to run
        /bin/sh /bin/sh /home/jreed/foo/install-sh
resulting in:

        /bin/sh[2]: syntax error: `(' unexpected

I am using autoconf-2.68 and automake-1.11.1p2 from ports and I am 
attempting to port a software to OpenBSD in preparation to make a port.

You can see the shell is repeated in the definition below.

$ cat src/Makefile.am                                                          
SUBDIRS = lib bin

$ head -4 install-sh  
#!/bin/sh
# install - install a program, script, or datafile

scriptversion=2009-04-28.21; # UTC


$ grep ^install_sh src/Makefile     
install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
install_sh_PROGRAM = ${SHELL} $(install_sh) -c
install_sh_SCRIPT = ${SHELL} $(install_sh) -c
install_sh = ${SHELL} /home/jreed/foo/install-sh

Here is the problem (that I don't see on other systems with various 
versions of automake/autoconf) introduced in the patch above:

$ grep ^install_sh src/Makefile.in     
install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
install_sh_PROGRAM = ${SHELL} $(install_sh) -c
install_sh_SCRIPT = ${SHELL} $(install_sh) -c
install_sh = @install_sh@

Also the patch in patch-automake_in also causes the same problem for me:
-      define_variable ('mkinstalldirs', '$(install_sh) -d', INTERNAL);
+      define_variable ('mkinstalldirs', '$(SHELL) $(install_sh) -d', INTERNAL);

Is there some workaround you can suggest I need?

Note that the cvs log message said the patch was run through a 
full ports build, but this only is used when using automake. So only 
ports that use automake (most ports do not since the probably use the 
pre-generated Makefile.in files provided by the upstream distfile) and 
use the standard install-sh shell script would have a problem -- or I am 
misunderstanding something.

If the install-sh is not executable maybe fix that instead of running 
/bin/sh /bin/sh install-sh.

Thanks,

  Jeremy C. Reed

echo 'EhZ[h ^jjf0%%h[[Zc[Z_W$d[j%Xeeai%ZW[ced#]dk#f[d]k_d%' | \
  tr            '#-~'            '\-.-{'


Reply via email to