portversion and distversion - why not?

Andrew Pantyukhin infofarmer at gmail.com
Mon May 1 22:36:41 UTC 2006


On 5/2/06, Kirill Ponomarew <krion at voodoo.bawue.com> wrote:
> On Tue, May 02, 2006 at 12:06:54AM +0400, Andrew Pantyukhin wrote:
> > On 5/1/06, Kirill Ponomarew <krion at voodoo.bawue.com> wrote:
> > >On Mon, May 01, 2006 at 11:32:55PM +0400, Andrew Pantyukhin wrote:
> > >> Portlint says:
> > >> FATAL: Makefile: either PORTVERSION or DISTVERSION must be specified, not
> > >> both.
> > >>
> > >> Can somebody please explain why? It comes in handy
> > >> to be able to define illegal distversion instead of redefining
> > >> the whole distname. B.p.m was designed to handle two
> > >> different variables in the first place. Should we really
> > >> abstain from using this functionality?
> > >
> > >DISTVERSION is just conform conversion of PORTVERSION, I don't see a
> > >reason to specify both.
> >
> > grrr
> >
> > To quote bpm:
> > PORTVERSION   - Version of software.  Mandatory when no DISTVERSION is
> > given.
> > DISTVERSION   - Vendor version of the distribution.
> >
> > Now what's so hard to understand here? Portversion is nice
> > and legal, it tries to increase from version to version, it
> > follows a number of guidelines imposed by FreeBSD. Now
> > distversion - is something from vendor's imagination. It can
> > contain a multitude of not very nice characters, long strings,
> > bad syntax; it can stay the same across releases (e.g. when
> > subdir is changing), it can go back and forth...
> >
> > Portversion is the version that users and the system see
> > Distversion is actually _just_ for the purpose of downloading
> > and building the software
> >
> > Conversions between them (both directions are defined in
> > bpm) are only to ease our live, they do not happen if both
> > *versions are defined.
> >
> > What's so fatal if we use both, huh?
>
> Hehe, I can still remember why I committed it into bpm, DISTVERSION
> was invented to remove the "bogus" port versions like '10Beta2-pre',
> '20Alpha1', '30_1_20' etc, and convert them into more logical
> numbers like '10.b2.p', '20.a1', '30.1.20' etc.  Therefore I don't
> quite follow why to have, say, PORTVERSION=10Beta2-pre and
> DISTVERSION=10Beta2-pre with each other.  DISTVERSION actually was
> *not* intended for the purpose of downloading and building the
> software.

find /usr/ports -name Makefile -exec egrep \
'^DISTNAME=[[:space:]]*\$\{PORTNAME\}-[0-9]' {} +

Most of these would benefit from defining both variables


More information about the freebsd-ports mailing list