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
