Help with versioning scheme

Freddie Cash fjwcash at gmail.com
Wed Jan 17 18:51:59 UTC 2018


On Wed, Jan 17, 2018 at 10:40 AM, Martin Waschbüsch <martin at waschbuesch.de>
wrote:

> Thanks, Freddie,
>
> Am 17.01.2018 um 19:35 schrieb Freddie Cash <fjwcash at gmail.com>:
>
> On Wed, Jan 17, 2018 at 10:29 AM, Martin Waschbüsch <martin at waschbuesch.de
> > wrote:
>
>> Hi Adam,
>> > Am 17.01.2018 um 19:19 schrieb Adam Weinberger <adamw at adamw.org>:
>> > Hi Martin,
>> >
>> > You don't want to use the upstream version to represent PORTREVISION.
>> PORTREVISION is for when you need to force rebuilds of the port itself, and
>> so tying it to upstream would make it impossible to bump it ourselves.
>> >
>> > Why do you need to ignore the fourth digit? It's perfectly valid for
>> our purposes.
>>
>> So far, I had (because it coincided with their version number) used it to
>> provide SO_VER. But that breaks now:
>>
>> ---
>> # Created by: adamw
>> # $FreeBSD: head/archivers/liblz4/Makefile 448415 2017-08-20 12:30:25Z
>> sunpoet $
>>
>> PORTNAME=       lz4
>> PORTVERSION=    1.8.1
>> DISTVERSIONPREFIX=      v
>> PORTEPOCH=      1
>> CATEGORIES=     archivers
>> PKGNAMEPREFIX=  lib
>>
>> MAINTAINER=     martin at waschbuesch.de
>> COMMENT=        LZ4 compression library, lossless and very fast
>>
>> LICENSE=        BSD2CLAUSE GPLv2
>> LICENSE_COMB=   multi
>>
>> USES=           gmake pathfix pkgconfig
>> USE_GITHUB=     yes
>> USE_LDCONFIG=   yes
>> #PATHFIX_MAKEFILEIN=    Makefile
>>
>> ALL_TARGET=     default         # don't remove this
>> SO_VER=         ${PORTVERSION}
>> PLIST_SUB+=     SO_VER=${SO_VER} SO_VER_MAJ=${SO_VER:R:R}
>>
>
> ​Why can't you do something like the above to get SO_VER?
>
> PORTVERSION=1.8.1.2
> SO_VER=${PORTVERSION:R:R:R)
>
> Similar to how you get SO_VER_MAJ out of SO_VER.​
>
>
> That is true. Do you think this is a robust solution, though?
> Or is the whole relying on upstream variables idea problematic?
>

​So long as they continue to have ​4 digit version numbers (meaning 1.9.0.0
and not just 1.9), then everything will be fine.

If upstream does weird things with their version numbers (1.8.1.2 --> 1.8.2
--> 1.9 --> 2 --> 2.1 --> 2.1.1 --> 2.1.1.1), then you'll have to manually
massage things in the port Makefile with each update.

Hopefully, they don't do that, and keep things logical (1.8.1.2 --> 1.8.2.0
--> 1.9.0.0 --> 2.0.0.0 --> 2.1.0.0 --> 2.1.1.0 --> 2.1.1.1) which would
make things simpler on your end.  :)


-- 
Freddie Cash
fjwcash at gmail.com


More information about the freebsd-ports mailing list