groff
[Top][All Lists]
Advanced

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

Re: [groff] 1.22.4.rc4 - Final RC before official 1.22.4


From: Ingo Schwarze
Subject: Re: [groff] 1.22.4.rc4 - Final RC before official 1.22.4
Date: Sun, 9 Dec 2018 05:12:25 +0100
User-agent: Mutt/1.8.0 (2017-02-23)

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 <address@hidden> 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



reply via email to

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