Date: Mon, 8 Mar 2004 13:34:54 -0500 (EST) From: Mikhail Teterin <mi@aldan.algebra.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/63937: USE_GETTEXT is too specific Message-ID: <200403081834.i28IYsM3000495@250-217.customer.cloud9.net> Resent-Message-ID: <200403081840.i28IeAiN070099@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 63937 >Category: ports >Synopsis: USE_GETTEXT is too specific >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Mar 08 10:40:09 PST 2004 >Closed-Date: >Last-Modified: >Originator: Mikhail Teterin >Release: FreeBSD 5.2-RELEASE i386 >Organization: Virtual Estates, Inc. >Environment: >Description: Most (probably -- all) of the ports declaring USE_GETTEXT don't really care, which version of -lintl they get. If none is currently installed on the system, the latest and greatest, should, of course, be built. But if one is already present (and used by other ports, as is usually the case), there is no need to insist on the latest one to build another port. The simple patch below changes bsd.port.mk to treat a port's declaration of USE_GETTEXT=yes as a sign, that it will accept any library version. A port, which needs a particular feature, not present in the earlier gettext releases, can declare USE_GETTEXT=6 to insist on a particular major number. Some other variables in bsd.port.mk should, probably, get a similar treatment (USE_MESA?)? The current rigidity breaks the good old method of port building through make, forcing (coercing?) the use of good new portupgrade. Its only advantage is that it forces the port build to be closer to that on the ports-cluster -- not too useful, because the download of the cluster-built version of a port is available anyway. >How-To-Repeat: Install the latest release of OS and the ports tree. Build kdebase3. Update the ports tree (through cvsup, for example). Try to build lynx-current -- or anything else that uses gettext. Make(1) will notice, that intl.6 is required and proceed to build it and install it. Upon trying to install, it will fail, because an earlier version is already installed. Portupgrade to the resque (if you happen to know about it)... Why? Lynx does not care, which version of gettext it is going to be linked against. The administrating user should be able to upgrade gettext, when she/he wants to -- not when he/she wants to build another package. >Fix: Index: bsd.port.mk =================================================================== RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v retrieving revision 1.484 diff -U2 -r1.484 bsd.port.mk --- bsd.port.mk 4 Feb 2004 04:27:04 -0000 1.484 +++ bsd.port.mk 8 Mar 2004 18:33:27 -0000 @@ -1669,5 +1669,9 @@ .if defined(USE_GETTEXT) -LIB_DEPENDS+= intl.6:${PORTSDIR}/devel/gettext +. if ${USE_GETTEXT:L} == "yes" +LIB_DEPENDS+= intl:${PORTSDIR}/devel/gettext +. else +LIB_DEPENDS+= intl.${USE_GETTEXT}:${PORTSDIR}/devel/gettext +. endif .endif >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403081834.i28IYsM3000495>