Dear Cy, dear list here I am to talk about the INFO issue of sysutils/screen [screen].
To summarize: screen has an option to [en|dis]able installation of an INFO page. If the option is set, WITH_INFO gets set accordingly, otherwise the port's Makefile sets the make argument NO_INFO. In turn, ${WRKSRC}/doc/Makefile checks for NO_INFO, and if it's not set, it prepares the INFO page for installation by running makeinfo --no-split ./screen.texinfo -o screen.info The problem is that make.conf(5) documents the variable NO_INFO under the section "BUILDING THE WORLD - The following list provides a name and short description for variables that are used during the world build". I think here we have a namespace collision problem for the variable NO_INFO. If NO_INFO is set in make.conf and the WITH_INFO option is enabled while building screen, ${WRKSRC}/doc/Makefile won't prepare the info page but the port's Makefile will try to install it anyway. This leads to a "file not found" build error: install-info --quiet /usr/local/info/screen.info /usr/local/info/dir install-info: No such file or directory for /usr/local/info/screen.info *** Error code 1 I suggest that we change ${WRKSRC}/doc/Makefile to check for WITH_INFO (used within ports) instead of !NO_INFO (used while building the world). In addition, we should change the port's Makefile to set the make argument WITH_INFO if the option was chosen instead of setting NO_INFO it it wasn't. The same whole issue exists for the MAN page, for which I suggest the same modifications in the port's Makefile and in ${WRKSRC}/doc/Makefile. The following patches to the port's Makefile and for files/patch-doc_Makefile.in implement the changes discussed above. --- Makefile.orig 2007-10-29 19:18:41.000000000 +0100 +++ Makefile 2007-10-29 20:15:20.000000000 +0100 @@ -31,16 +31,14 @@ GNU_CONFIGURE= yes .if defined(WITH_MAN) MAN1= screen.1 -.else -MAKE_ARGS+= -DNO_MAN +MAKE_ARGS+= -DWITH_MAN .endif .if defined(WITH_INFO) .if !exists(/usr/bin/install-info) RUN_DEPENDS+= install-info:${PORTSDIR}/print/texinfo .endif INFO= screen -.else -MAKE_ARGS+= -DNO_INFO +MAKE_ARGS+= -DWITH_INFO .endif .if ${ARCH} == "alpha" --- files/patch-doc_Makefile.in.orig 2007-10-29 19:40:13.000000000 +0100 +++ files/patch-doc_Makefile.in 2007-10-29 20:11:43.000000000 +0100 @@ -4,10 +4,10 @@ $(MAKEINFO) $(srcdir)/screen.texinfo -o screen.info install: installdirs -+.if !defined(NO_MAN) ++.if defined(WITH_MAN) $(INSTALL_DATA) $(srcdir)/screen.1 $(DESTDIR)$(mandir)/man1/screen.1 +.endif -+.if !defined(NO_INFO) ++.if defined(WITH_INFO) -$(MAKE) screen.info -if test -f screen.info; then d=.; else d=$(srcdir); fi; \ if test -f $$d/screen.info; then \ @@ -23,10 +23,10 @@ installdirs: - $(srcdir)/../etc/mkinstalldirs $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(infodir) -+.if !defined(NO_MAN) ++.if defined(WITH_MAN) + $(srcdir)/../etc/mkinstalldirs $(DESTDIR)$(mandir)/man1 +.endif -+.if !defined(NO_INFO) ++.if defined(WITH_INFO) + $(srcdir)/../etc/mkinstalldirs $(DESTDIR)$(infodir) +.endif I would greatly appreciate input / clarification / feedback / ideas on the whole story before filling a PR. Best Regards, -- Pietro Cerutti PGP Public Key: http://gahr.ch/pgp
signature.asc
Description: OpenPGP digital signature