[CFT] lang/python becoming a python binary wrapper

David Demelier demelier.david at gmail.com
Fri Aug 30 06:31:00 UTC 2013


On 29.08.2013 19:55, Marcus von Appen wrote:
> On, Thu Aug 29, 2013, David Demelier wrote:
> 
>> 2013/8/29 Marcus von Appen <mva at freebsd.org>:
>>> David Demelier <demelier.david at gmail.com>:
>>>
>>>
>>>> 2013/8/29 Marcus von Appen <mva at freebsd.org>:
>>>>>
>>>>> David Demelier <demelier.david at gmail.com>:
>>>>>
>>>>> [...]
>>>>>
>>>>>> It's weird, I still have some conflicts with the new wrappers:
>>>>>>
>>>>>> Proceed with installing packages [y/N]: y
>>>>>> Checking integrity...
>>>>>> Conflict found on path /usr/local/bin/2to3-3 between
>>>>>> python2-3(lang/python2) and python3-3(lang/python3)
>>>>>>
>>>>>> Conflict found on path /usr/local/bin/idle3 between
>>>>>> python2-3(lang/python2) and python3-3(lang/python3)
>>>>>>
>>>>>> Conflict found on path /usr/local/bin/pydoc3 between
>>>>>> python2-3(lang/python2) and python3-3(lang/python3)
>>>>>>
>>>>>> Conflict found on path /usr/local/bin/python-shared3 between
>>>>>> python2-3(lang/python2) and python3-3(lang/python3)
>>>>>>
>>>>>> Conflict found on path /usr/local/bin/python-shared3-config between
>>>>>> python2-3(lang/python2) and python3-3(lang/python3)
>>>>>>
>>>>>> Conflict found on path /usr/local/bin/python3 between
>>>>>> python2-3(lang/python2) and python3-3(lang/python3)
>>>>>>
>>>>>> Conflict found on path /usr/local/bin/python3-config between
>>>>>> python2-3(lang/python2) and python3-3(lang/python3)
>>>>>>
>>>>>> Why 2to3-3 conflicts since it should only be installed by python3.3 ?
>>>>>
>>>>>
>>>>>
>>>>> How do you install the packages exactly? Where do you take them from and
>>>>> what are your relevant settings in /etc/make.conf and friends?
>>>>>
>>>>> The installation/deinstallation procedure using the ports tree works
>>>>> flawlessly (to my knowledge and tests), so I would guess that you are
>>>>> using
>>>>> pkgng? If oyu are using pkgng and are building the packages yourself,
>>>>> your
>>>>> poudriere settings or whatever you are using to build the packages would
>>>>> be relevant as well.
>>>>>
>>>>> Cheers
>>>>> Marcus
>>>>>
>>>>
>>>> Hi, the poudriere settings were from the last mail I've sent you on
>>>> the list a few weeks ago. I typically have :
>>>>
>>>> * One jail called "desktop". No make.conf, it uses the defaults.
>>>> (Except for databases version but it does not matter here)
>>>>
>>>> * One jail called python-33. The make.conf has :
>>>>
>>>> PYTHON_DEFAULT_VERSION=         python3.3
>>>> PYTHON3_DEFAULT_VERSION=        python3.3
>>>>
>>>> * One jail clled python-27. The make.conf has:
>>>>
>>>> PYTHON_DEFAULT_VERSION=         python2.7
>>>>
>>>> * Finally I have a experimental jail for mate desktop, with no
>>>> make.conf so python 2.7 is chosen and built as default.
>>>>
>>>> Then I use all of these repositories, the desktop is the default
>>>> packagesite, while python-27 python-33 and mate are other repositories
>>>> but enabled.
>>>>
>>>> And the pkg upgrade does the following :
>>>>
>>>> # pkg upgrade
>>>> Updating repository catalogue
>>>> Uprgades have been requested for the following 94 packages:
>>>>
>>>>     Installing python3: 3 [python33]
>>>>     Upgrading curl: 7.31.0 -> 7.31.0_1 [python33]
>>>>     Upgrading ffmpeg1: 1.2.1_1 -> 1.2.2 [python33]
>>>>     Upgrading firefox: 22.0,1 -> 23.0.1,1 [packagesite]
>>>>     Upgrading firefox-i18n: 22.0 -> 23.0.1 [packagesite]
>>>>     Upgrading libgd: 2.0.35_9,1 -> 2.1.0_1,1 [python33]
>>>>     Upgrading git: 1.8.3.3_1 -> 1.8.3.4 [python27]
>>>>     Upgrading glew: 1.9.0 -> 1.10.0 [python27]
>>>>     Upgrading gnupg: 2.0.20_1 -> 2.0.21 [python33]
>>>>     Upgrading graphviz: 2.30.1 -> 2.32.0 [python27]
>>>>     Upgrading gsl: 1.15_1 -> 1.16 [packagesite]
>>>>     Upgrading iceauth: 1.0.5 -> 1.0.6 [packagesite]
>>>>     Upgrading libXfont: 1.4.5,1 -> 1.4.6,1 [python33]
>>>>     Upgrading liblqr-1: 0.4.1_4 -> 0.4.1_5 [python33]
>>>>     Upgrading libwpd: 0.9.8 -> 0.9.9 [packagesite]
>>>>     Upgrading lua: 5.1.5_5 -> 5.1.5_6 [python33]
>>>>     Upgrading lua: 5.2.2 -> 5.2.2_1 [packagesite]
>>>>     Upgrading mercurial: 2.6.3 -> 2.7_1 [python33]
>>>>     Upgrading p5-Socket: 2.010 -> 2.011 [python33]
>>>>     Upgrading python: 2.7_1,2 -> 3.3_1,2 [python33]
>>>>     Upgrading python2: 2 -> 3 [python33]
>>>>     Upgrading qt4-corelib: 4.8.4_3 -> 4.8.4_4 [python33]
>>>>     Upgrading thunderbird: 17.0.7 -> 17.0.8 [packagesite]
>>>>     Upgrading tmux: 1.8 -> 1.8_1 [packagesite]
>>>>     Upgrading xprop: 1.2.1 -> 1.2.2 [python33]
>>>>     Upgrading xset: 1.2.2_1 -> 1.2.3_1 [python33]
>>>>     Upgrading xwd: 1.0.5 -> 1.0.6 [packagesite]
>>>>     Upgrading zsh: 5.0.2 -> 5.0.2_1 [packagesite]
>>>>     Upgrading p5-IO-Socket-IP: 0.21 -> 0.22 [python33]
>>>>     Upgrading p5-IO-Socket-SSL: 1.94 -> 1.953 [python33]
>>>>     ...
>>>>
>>>> I think the problem comes from here:
>>>>
>>>>     Upgrading python: 2.7_1,2 -> 3.3_1,2 [python33]
>>>>     Upgrading python2: 2 -> 3 [python33]
>>>>
>>>> Is the make.conf incorrect for the jail python3.3 ? I just want to be
>>>> able to produce both versions of pythons modules to 2.7 and 3.3 so I
>>>> can develop with python 3.3 and still use some applications that
>>>> requires python 2.7.
>>>
>>>
>>> No it is not incorrect. It most likely is an issue with propagating the
>>> version
>>> information (PYTHON_DEFAULT_VERSION/PYTHON_VERSION) from bsd.python.mk to
>>> the
>>> meta ports lang/python2 and lang/python3, which results in the conflict.
>>> I'll
>>> check this later on, when I created some jails similar to your
>>> configuration.
>>> It might take a couple of hours or days, but it won't be forgotten ;-).
>>>
>>>
>>>> Just to recall the beginning of our discuss, the idea was to be able
>>>> to pkg upgrade / install both python interpreter without regarding if
>>>> they are the default (so no 2to3 are installed as conflicts).
>>>
>>>
>>> Exactly.
>>>
>>> Cheers
>>> Marcus
>>>
>>
>> Thank you very much on your interest on that issue. I really would
>> like to get python 2.7 and 3.3 modules built so my users (and
>> everyone) will be happy. Lot of Linux distributions does not provide
>> these modules for both python interpreters.
>>
>> I want FreeBSD to go ahead on that and let users install what they
>> want on which version or even both :-).
> 
> The following should do the trick:
> 
> Add the following into bsd.python.mk (around line 283 right before the
> same block for PYTHON3_DEFAULT_VERSION):
> 
> .if ${PYTHON_DEFAULT_VERSION:R} == "python2"
> PYTHON2_DEFAULT_VERSION=	${PYTHON_DEFAULT_VERSION}
> .else
> PYTHON2_DEFAULT_VERSION=	python2.7
> .endif
> 
> and change PYTHON_VERSION=	${PYTHON_DEFAULT_VERSION} to
> 
> PYTHON_VERSION=	${PYTHON2_DEFAULT_VERSION}
> 
> in lang/python2.
> 
> The enhancement is transparent and does not have any side effects (at
> least none that would not be applicable to PYTHON3_DEFAULT_VERSION,
> too). You can get the full patch from
> 
> http://people.freebsd.org/~mva/python2_3.diff
> 
> I'll add this soon to bsd.python.mk, but'd like to hear if you notice
> any regressions with your jails.
> 
> Cheers
> Marcus
> 

Thanks, I'll tell you in the afternoon :)


More information about the freebsd-python mailing list