Why portmaster try to install python 3.6 when I have 3.4 set in /etc/make.conf?

Stefan Esser se at freebsd.org
Wed Jan 10 20:59:29 UTC 2018


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
py27: py27-py-1.5.2
py34: py34-py-1.5.2

I'll try to get this feature implemented in portmaster, but it may
take a few days ...

Regards, STefan


More information about the freebsd-ports mailing list