Hi, Bertrand Garrigues wrote on Sun, Dec 09, 2018 at 01:09:28AM +0100: > On Sat, Dec 08 2018 at 09:56:07 PM, Werner LEMBERG <w...@gnu.org> wrote: >> Ingo Schwarze wrote:
>>> On Solaris 9, installation still fails because of the "for f in ; >>> do" we discussed earlier, and the test suite still fails as shown at >>> the end (no change in that respect), but i see no regressions from >>> your patch. >> I really see no reason to not fix this single spot that prevents >> installation on Solaris 9 (together with a comment)... > The problem is that there is no more Solaris 9 iso file available from > download. That said, the fix should be quite straightforward. > > Ingo, > > If the only problem is the few 'for; loops in 'install-prefix-man' > (and the following uinstall rule) in 'Makefile.am', could you please add > some 'test -n' checks before? Ouch. My first attempt to fix this with "test -n" failed miserably: [...] if test -n ""; then \ for f in ; do \ cp -f $f /home/schwarze/Local9/share/man/man5/g`basename $f`; \ done; \ fi bash: -c: line 2: syntax error near unexpected token `;' *** Error code 2 make: Fatal error: Command failed for target `install-prefix-man' Quite logical actually - you can't cure invalid syntax by wrapping it into a condition. It remains invalid syntax, from the point of view of the shell. Here is a better idea, which is also simpler. The problem is that the variables PREFIXMAN5 and PREFIXMAN7 are empty. Carefully inspecting the groff source tree with grep(1), i convinced myself that they are *always* empty, no matter the configuration and operating system. While several *.am Makefile templates assign to the variable PREFIXMAN1, all section 5 and 7 manual page file names are directly assigned to man5_MANS and man7_MANS instead, unconditionally. So i suggest to simply delete the PREFIXMAN5 and PREFIXMAN7 variables outright. With the patch appended below, everything works on OpenBSD, Solaris 11, and Solaris 9, even "make install" on Solaris 9. I admit this change may be slightly more dangerous than i like so closely before release - but i'm not convinced other fixes would be simpler. Shall i commit and push it? Yours, Ingo diff --git a/Makefile.am b/Makefile.am index f23038f5..d18c49b8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -552,8 +552,6 @@ CLEANFILES = EXTRA_DIST = gnulib_m4/gnulib-cache.m4 FONTFILES = PREFIXMAN1 = -PREFIXMAN5 = -PREFIXMAN7 = man1_MANS = man5_MANS = man7_MANS = @@ -738,26 +736,12 @@ install-prefix-man: for f in $(PREFIXMAN1); do \ cp -f $$f $(DESTDIR)$(man1dir)/$(NAMEPREFIX)`basename $$f`; \ done - for f in $(PREFIXMAN5); do \ - cp -f $$f $(DESTDIR)$(man5dir)/$(NAMEPREFIX)`basename $$f`; \ - done - for f in $(PREFIXMAN7); do \ - cp -f $$f $(DESTDIR)$(man7dir)/$(NAMEPREFIX)`basename $$f`; \ - done uninstall-prefix-man: for f in $(PREFIXMAN1); do \ rm -f $(DESTDIR)$(man1dir)/$(NAMEPREFIX)`basename $$f`; \ done - for f in $(PREFIXMAN5); do \ - rm -f $(DESTDIR)$(man5dir)/$(NAMEPREFIX)`basename $$f`; \ - done - for f in $(PREFIXMAN7); do \ - rm -f $(DESTDIR)$(man7dir)/$(NAMEPREFIX)`basename $$f`; \ - done else man1_MANS += $(PREFIXMAN1) -man5_MANS += $(PREFIXMAN5) -man7_MANS += $(PREFIXMAN7) install-prefix-man: uninstall-prefix-man: generate_man_files: @@ -872,7 +856,7 @@ EXTRA_DIST += \ MOSTLYCLEANFILES += $(prefixexecbin_SCRIPTS) $(bin_SCRIPTS) \ $(man1_MANS) $(man5_MANS) $(man7_MANS) \ - $(PREFIXMAN1) $(PREFIXMAN5) $(PREFIXMAN7) \ + $(PREFIXMAN1) \ test-groff # Suffix rule to build .1, .5 and .7 files from .1.man, .5.man and