Why portmaster try to install python 3.6 when I have 3.4 set in /etc/make.conf?
Tijl Coosemans
tijl at FreeBSD.org
Thu Jan 11 10:09:53 UTC 2018
On Wed, 10 Jan 2018 21:59:17 +0100 Stefan Esser <se at freebsd.org> wrote:
> Am 10.01.18 um 21:30 schrieb Stefan Esser:
>> 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 at py36
>>> ===>>> Reason: Moved to a flavored, generic, version
>>> [...]
>>> ===>>> All >> py34-pip-9.0.1 >> devel/py-setuptools at 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 at 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 have just checked, that the ports infrastructure already kind of
> supports this case. With PYTHON3_DEFAULT=3.4 set in /etc/make.conf,
> it is possible to determine the flavor that corresponds to the
> package to be upgraded:
>
> $ PYTHON3_DEFAULT=3.4 make pretty-flavors-package-names
You're not supposed to set PYTHON3_DEFAULT directly. Users should set
DEFAULT_VERSIONS=python3=3.4, like Lev showed above.
More information about the freebsd-ports
mailing list