Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jan 2018 21:30:08 +0100
From:      Stefan Esser <se@freebsd.org>
To:        lev@FreeBSD.org, freebsd-ports@freebsd.org
Subject:   Re: Why portmaster try to install python 3.6 when I have 3.4 set in /etc/make.conf?
Message-ID:  <dbe7b775-b957-a72f-c1a5-fd0a7877b525@freebsd.org>
In-Reply-To: <55707b9f-3d02-2982-2aa8-3570724608ac@FreeBSD.org>
References:  <55707b9f-3d02-2982-2aa8-3570724608ac@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 10.01.18 um 17:29 schrieb Lev Serebryakov:
>  I have system with pre-FLAVORed ports installed, and try to update
> ports with new version of "portmaster". My "/etc/make.conf" contains:
> 
> DEFAULT_VERSIONS+=      python2=2.7
> DEFAULT_VERSIONS+=      python3=3.4
> DEFAULT_VERSIONS+=      python=3.4
> 
>  But "portmaster -a" try to install python 3.6:
> 
> ===>>> All >> py34-pip-9.0.1 (12/12)
>         ===>>> The devel/py3-pip port moved to devel/py-pip@py36
>         ===>>> Reason: Moved to a flavored, generic, version
> [...]
> ===>>> All >> py34-pip-9.0.1 >> devel/py-setuptools@py36 >>
> lang/python36 (14/14)

Another example that the FLAVOR feature is not well designed :(

The entry in /usr/ports/MOVED maps devel/py3-pip to devel/py-pip@py36
even though building that port with FLAVOR=py34 builds the correct
version with the expected dependency on Python-3.4.

If at least the output of "make pretty-flavors-package-names" did hint
at the existence of a package for FLAVOR=py34, I could make portmaster
override the wrong FLAVOR obtained from the MOVED file.

But the output of that command is:

$ cd /usr/ports/devel/py-py
$ make pretty-flavors-package-names
py27: py27-py-1.5.2
py36: py36-py-1.5.2

I could special case the knowledge that if a port can be built for
py36 but the package name starts with py34-, that the FLAVOR is forced
to be py34.

But I'm not going to implement that kind of work-around in portmaster,
I expect that the FLAVOR support is fixed in the port system.

>  What do I do wrong?

You are not doing anything wrong, I'm afraid. The problem is in the
current state of the ports system, with FLAVOR support just used as
an alternative to slave ports, but without a sound design (IMHO).

Once you have installed the port built with manually specified
FLAVOR=py34, this information is recorded in the PKG DB, from where
portmaster will fetch it and use it to upgrade the port, when needed.

Regards, STefan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dbe7b775-b957-a72f-c1a5-fd0a7877b525>