Date: Tue, 25 May 2004 13:13:41 +0200 From: Oliver Eikemeier <eikemeier@fillmore-labs.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/67171: [PATCH] bsd.port.mk: new variable DISTVERSION Message-ID: <40B32A65.2090607@fillmore-labs.com> Resent-Message-ID: <200405251120.i4PBKRWC002607@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 67171 >Category: ports >Synopsis: [PATCH] bsd.port.mk: new variable DISTVERSION >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue May 25 04:20:26 PDT 2004 >Closed-Date: >Last-Modified: >Originator: Oliver Eikemeier >Release: FreeBSD 4.10-STABLE i386 >Organization: Fillmore Labs - http://www.fillmore-labs.com >Environment: System: FreeBSD nuuk.fillmore-labs.com 4.10-STABLE >Description: It seems to be a FAQ how to make a vendor version number conforming to the FreeBSD version numbering system. This patch introduces a new variable DISTVERSION, that can be set instead of PORTVERSION and is automagically converted in a conforming PORTVERSION. A colon quotes the following character, which is useful to avoid automatically inserted dots, e.g. 10beta3 would be interpreted as 10.b3, whereas 10:brelease3 is 10b3. >How-To-Repeat: DISTVERSION => PORTVERSION 10Alpha3 -> 10.a3 3Beta7-pre2 -> 3.b7.p2 8:f_17 -> 8f.17 >Fix: Since no current port sets DISTVERSION without setting DISTNAME, this change should be unobtrusive. Index: bsd.port.mk =================================================================== RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v retrieving revision 1.488 diff -u -r1.488 bsd.port.mk --- bsd.port.mk 19 Apr 2004 23:39:52 -0000 1.488 +++ bsd.port.mk 25 May 2004 10:47:01 -0000 @@ -53,7 +53,7 @@ # These variables are used to identify your port. # # PORTNAME - Name of software. Mandatory. -# PORTVERSION - Version of software. Mandatory. +# PORTVERSION - Version of software. Mandatory when no DISTVERSION is given. # PORTREVISION - Version of port. Optional. Commonly used to indicate # that an update has happened that affects the port # framework itself, but not the distributed software @@ -72,9 +72,10 @@ # UNIQUENAME - A name for your port that is globally unique. By default, # this is set to ${LATEST_LINK} when LATEST_LINK is set, # and to ${PKGNAMEPREFIX}${PORTNAME} otherwise. +# DISTVERSION - Vendor version of the distribution (default: ${PORTVERSION}) # DISTNAME - Name of port or distribution used in generating # WRKSRC and DISTFILES below (default: -# ${PORTNAME}-${PORTVERSION}). +# ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}) # CATEGORIES - A list of descriptive categories into which this port falls. # Mandatory. # @@ -958,7 +959,7 @@ .endif # check for old, crufty, makefile types, part 1: -.if !defined(PORTNAME) || !defined(PORTVERSION) || defined(PKGNAME) +.if !defined(PORTNAME) || !( defined(PORTVERSION) || defined (DISTVERSION) ) || defined(PKGNAME) check-makefile:: @${ECHO_CMD} "Makefile error: you need to define PORTNAME and PORTVERSION instead of PKGNAME." @${ECHO_CMD} "(This port is too old for your bsd.port.mk, please update it to match" @@ -970,6 +971,9 @@ .if ${PORTVERSION:M*[-_,]*}x != x BROKEN= "PORTVERSION ${PORTVERSION} may not contain '-' '_' or ','" .endif +DISTVERSION?= ${PORTVERSION:S/:/::/g} +.elif defined(DISTVERSION) +PORTVERSION= ${DISTVERSION:L:C/([a-z])[a-z]+/\1/g:C/([0-9])([a-z])/\1.\2/g:C/:(.)/\1/g:C/[^a-z0-9+]+/./g} .endif PORTREVISION?= 0 @@ -987,7 +991,7 @@ .if !defined(PKGNAME) PKGNAME= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION:C/[-_,]/./g}${_SUF1}${_SUF2} .endif -DISTNAME?= ${PORTNAME}-${PORTVERSION} +DISTNAME?= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX} # These need to be absolute since we don't know how deep in the ports # tree we are and thus can't go relative. They can, of course, be overridden >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40B32A65.2090607>