Patrice Dumas wrote:
> > 3) The OpenBSD build fails like this:
> > -------------------------------------------------------------------------------
> > Making all in man
> > Updating man page install-info.1
> > cd ..//install-info && make ginstall-info
> > `ginstall-info' is up to date.
> > /bin/sh 
> > /home/runner/work/ci-check/ci-check/texinfo-7.1.90-20240610/build-aux/missing
> >  help2man --name="update info/dir entries" -I ../../man/ginstall-info.h2m 
> > ..//install-info/ginstall-info -o install-info.1
> > /home/runner/work/ci-check/ci-check/texinfo-7.1.90-20240610/build-aux/missing[81]:
> >  help2man: not found
> > WARNING: 'help2man' is missing on your system.
> >          You should only need it if you modified a dependency of a man page.
> >          You may want to install the GNU Help2man package:
> >          <https://www.gnu.org/software/help2man/>
> > *** Error 127 in man (Makefile:2112 'install-info.1': @name="update 
> > info/dir entries" && echo "Updating man page install-info.1"  && exe_ext...)
> > *** Error 1 in . (Makefile:1947 'all-recursive': @fail=;  if 
> > (target_option=k; case ${target_option-} in  ?) ;;  *) echo 
> > "am__make_running_w...)
> > *** Error 2 in 
> > /home/runner/work/ci-check/ci-check/texinfo-7.1.90-20240610/build 
> > (Makefile:1861 'all')
> > -------------------------------------------------------------------------------
> > 
> > help2man is meant to be needed when building from git, according to
> > README-hacking. But here, I'm building from a tarball. Why is help2man
> > needed in this situation?
> 
> It should not be needed.  I have no clear idea on what could be going on
> here.  Could you please check the timestamps of
> install-info/install-info.c and man/install-info.1
> 
> When I check on my debian testing after unpacking, it is
> $ ls -l install-info/install-info.c man/install-info.1 
> -rw-rw-r-- 1 dumas dumas 93044 juin   8 10:56 install-info/install-info.c
> -rw-rw-r-- 1 dumas dumas  4359 juin   8 11:21 man/install-info.1

The time stamps are in the same order in my generated tarball.
With GNU make, there is no problem. The bug only occurs when OpenBSD 'make'
is used, in a VPATH build. The attached patch fixes the problem (I verified).
It is based on
  
https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=bf9412ab2e5878f2b64c8ba5d496d7a26ac4d374

Bruno

>From f104ef8ade570c2af7a8b3986bfd6f1f69ec59b2 Mon Sep 17 00:00:00 2001
From: Bruno Haible <[email protected]>
Date: Mon, 10 Jun 2024 18:56:07 +0200
Subject: [PATCH] man: Add support for VPATH builds with OpenBSD 'make'.

* man/Makefile.am: In the rules that use HELP2MAN, prefix the target file names
with '$(srcdir)/'.
---
 man/Makefile.am | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/man/Makefile.am b/man/Makefile.am
index cd13ca3f47..6ff35bf204 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -27,7 +27,7 @@ endif
 
 generated_mans += pod2texi.1
 
-pod2texi.1: $(top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl
+$(srcdir)/pod2texi.1: $(top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl
 	$(POD2MAN) -r perl $(top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl \
   | sed 's/\(Automatically generated by Pod::Man \).* \((Pod::Simple\) .*)/\1\2)/' >"$@"
 
@@ -80,29 +80,29 @@ common_mandeps = $(top_srcdir)/configure.ac
 
 # for Info, we have an additional help2man file since the standard
 # SEE ALSO text from help2man does not fit.
-info.1: $(top_srcdir)/info/info.c $(srcdir)/ginfo.h2m \
+$(srcdir)/info.1: $(top_srcdir)/info/info.c $(srcdir)/ginfo.h2m \
                   $(common_mandeps)
 	@name="read Info documents" && $(man_rule_bin)
 
-install-info.1: $(top_srcdir)/install-info/install-info.c \
+$(srcdir)/install-info.1: $(top_srcdir)/install-info/install-info.c \
                           $(common_mandeps)
 	@name="update info/dir entries" && $(man_rule_bin)
 
 # Here we need some postprocessing to avoid man misformatting.
-makeinfo.1: $(tpdir)/texi2any.pl $(common_mandeps)
+$(srcdir)/makeinfo.1: $(tpdir)/texi2any.pl $(common_mandeps)
 	@name="translate Texinfo documents" && $(man_rule_bin)
 	mv $@ [email protected]
 	sed '/^\.IP$$/N;/\nAlso/s/I//;/\nThe/s/I//' [email protected] >$@
 	rm [email protected]
 
-texindex.1: $(top_srcdir)/texindex/ti.twjr $(common_mandeps)
+$(srcdir)/texindex.1: $(top_srcdir)/texindex/ti.twjr $(common_mandeps)
 	@name="sort Texinfo index files" && $(man_rule_bin)
 
 # 
 # For texi2dvi, do not depend on the current user's settings.
 texi2dvi_envvars = unset TEXI2DVI_BUILD_MODE; unset TEXI2DVI_BUILD_DIRECTORY
 
-texi2dvi.1: $(top_srcdir)/util/texi2dvi $(common_mandeps)
+$(srcdir)/texi2dvi.1: $(top_srcdir)/util/texi2dvi $(common_mandeps)
 	$(texi2dvi_envvars); $(HELP2MAN) \
 	  --name="convert Texinfo documents to DVI or PDF" \
 	  $(top_srcdir)/util/texi2dvi >$@
-- 
2.34.1

Reply via email to