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