On Fri, 23 Mar 2012, Jeremy C. Reed wrote: > 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
I considered reporting via sendbug, but "ports" was not listed ats a category to choose from. I looked at cvs and the patch is still there. Will anyone fix this or suggest a workaround for others using it please? By the way, I tried to use the query-pr.html web interface to search for this and it failed with: The requested URL /cgi-bin/query-pr-wrapper was not found on this server.