From owner-freebsd-ports@FreeBSD.ORG Mon Oct 29 21:46:30 2007 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6D04916A46E for ; Mon, 29 Oct 2007 21:46:30 +0000 (UTC) (envelope-from gahr@gahr.ch) Received: from cpanel03.rubas-s03.net (cpanel03.rubas-s03.net [195.182.222.73]) by mx1.freebsd.org (Postfix) with ESMTP id 1729813C4BD for ; Mon, 29 Oct 2007 21:46:29 +0000 (UTC) (envelope-from gahr@gahr.ch) Received: from 80-218-180-150.dclient.hispeed.ch ([80.218.180.150] helo=gahrtop.localhost) by cpanel03.rubas-s03.net with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1ImanJ-0007tN-Kz; Mon, 29 Oct 2007 21:01:05 +0100 Message-ID: <47263BF4.3070305@gahr.ch> Date: Mon, 29 Oct 2007 21:00:52 +0100 From: Pietro Cerutti User-Agent: Thunderbird 2.0.0.6 (X11/20070808) MIME-Version: 1.0 To: Cy Schubert References: <200710291955.l9TJtG2x075845@cwsys.cwsent.com> In-Reply-To: <200710291955.l9TJtG2x075845@cwsys.cwsent.com> X-Enigmail-Version: 0.95.5 OpenPGP: id=9571F78E; url=http://www.gahr.ch/pgp Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enigB8265C98D519CDAA1FC5B00B" X-Antivirus-Scanner: Clean mail though you should still use an Antivirus X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cpanel03.rubas-s03.net X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - gahr.ch X-Source: X-Source-Args: X-Source-Dir: Cc: freebsd-ports@freebsd.org Subject: Re: sysutils/screen -- INFO issue X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Oct 2007 21:46:30 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigB8265C98D519CDAA1FC5B00B Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cy Schubert wrote: > In message <472632D7.3@gahr.ch>, Pietro Cerutti writes: >> This is an OpenPGP/MIME signed message (RFC 2440 and 3156) >> --------------enig25037A9EB2B21A45B2ACF21A >> Content-Type: text/plain; charset=3DUTF-8 >> Content-Transfer-Encoding: quoted-printable >> >> 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 se= t, >> 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 a= nd >> short description for variables that are used during the world build".= >> >> I think here we have a namespace collision problem for the variable NO= _IN=3D >> FO. >> >> If NO_INFO is set in make.conf and the WITH_INFO option is enabled whi= le >> building screen, ${WRKSRC}/doc/Makefile won't prepare the info page bu= t >> the port's Makefile will try to install it anyway. This leads to a "fi= le >> 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.inf= o >> *** 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/Makefil= e. >> >> 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=3D3D yes >> .if defined(WITH_MAN) >> MAN1=3D3D screen.1 >> -.else >> -MAKE_ARGS+=3D3D -DNO_MAN >> +MAKE_ARGS+=3D3D -DWITH_MAN >> .endif >> .if defined(WITH_INFO) >> .if !exists(/usr/bin/install-info) >> RUN_DEPENDS+=3D3D install-info:${PORTSDIR}/print/texinfo >> .endif >> INFO=3D3D screen >> -.else >> -MAKE_ARGS+=3D3D -DNO_INFO >> +MAKE_ARGS+=3D3D -DWITH_INFO >> .endif >> >> .if ${ARCH} =3D3D=3D3D "alpha" >> --- files/patch-doc_Makefile.in.orig 2007-10-29 19:40:13.000000000 +01= 00 >> +++ 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=3D3D.; else d=3D3D$(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. >=20 > What you're discussing is renaming NO_INFO and NO_MAN to WITHOUT_INFO a= nd=20 > WITHOUT_MAN (or comparing for non-definition of WITH_MAN and WITH_INFO)= =2E=20 > Agreed something needs to be done about the namespace collision. There = has=20 > been some discussion of make.conf files for src/ports/doc/etc, which I = > believe didn't result in any decision being made. This would also solve the problem. Do you have any argument supporting the use of WITHOUT_* when an option is not set and against the use WITH_* when the option is set? My option would save a few lines of in the Makefile (you don't need an =2Eelse branch). --=20 Pietro Cerutti PGP Public Key: http://gahr.ch/pgp --------------enigB8265C98D519CDAA1FC5B00B Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFHJjv5wMJqmJVx944RCh4fAKDFEIg8Isw5ZJgZUU4fuXL/RF3GnQCgrAq/ IUYn9dI8Vb3PMGA564SPmtM= =r/U2 -----END PGP SIGNATURE----- --------------enigB8265C98D519CDAA1FC5B00B--