FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 02-05-2010, 03:40 PM
Arfrever Frehtes Taifersar Arahesis
 
Default Python-3.2-related changes

It is planned that ebuilds of Python 3.2 will automatically set Python 3.2 as main active
version of Python. (Currently ebuilds of Python 3.1 do not automatically set Python 3.1
as main active version of Python.) Final release of Python 3.2 is currently scheduled on
2010-12-11, so you have over 10 months for adjusting of your ebuilds.

The following changes should be made in ebuilds of packages supporting only Python 2:
- Dependency on Python 2 should be set correctly. You can specify it directly in
{,R}DEPEND or use PYTHON_DEPEND.

Example:
PYTHON_DEPEND="2"

inherit python

- Miscellaneous actions should be executed with correct version of Python.

- In ebuilds of packages supporting installation for multiple versions of Python,
please remember to disable installation for all versions of Python 3.
(Please do not use python_set_active_version() in ebuilds of these packages.)

Example:
RESTRICT_PYTHON_ABIS="3.*"

- In ebuilds of packages not supporting installation for multiple versions of Python,
set active version of Python using python_set_active_version().
(Please avoid passing precisely specified Python ABI to python_set_active_version().)

Example:
pkg_setup() {
python_set_active_version 2
}

(If given package currently cannot be installed for multiple versions of Python,
but it is theoretically possible (e.g. this package installs .py files into
/usr/lib/pythonX.Y/site-packages and does not install any non-versioned libraries
into /usr/lib), then please try to adjust ebuilds of this package to allow
installation for multiple versions of Python.)

It is recommended to have set a version of Python 3 as main active version of Python
during testing of these changes to ensure that no required change has been missed.

I consider filing bugs for not adjusted packages after some months (e.g in summer).
(Please note that these changes are not required before stabilization of Python 3.1,
so stabilization of Python 3.1 will not be delayed.)

--
Arfrever Frehtes Taifersar Arahesis
 
Old 02-06-2010, 09:23 AM
Arfrever Frehtes Taifersar Arahesis
 
Default Python-3.2-related changes

2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
> I consider filing bugs for not adjusted packages after some months (e.g in summer).

1123 packages (440 in dev-python category) from 108 categories specify dev-lang/python
or virtual/python in DEPEND or RDEPEND, so actually it might be better to start filing
bugs in this month. If there are no objections, then I would like to file 1 bug per
category (except dev-python category).

--
Arfrever Frehtes Taifersar Arahesis
 
Old 02-06-2010, 10:03 AM
Arfrever Frehtes Taifersar Arahesis
 
Default Python-3.2-related changes

2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
> - Dependency on Python 2 should be set correctly. You can specify it directly in
> {,R}DEPEND or use PYTHON_DEPEND.
>
> Example:
> PYTHON_DEPEND="2"
>
> inherit python

It might be useful to provide another example:
If given package requires e.g. Python >=2.6, but does not support Python 3, then you can
set PYTHON_DEPEND="2:2.6".

--
Arfrever Frehtes Taifersar Arahesis
 
Old 02-06-2010, 11:14 AM
Brian Harring
 
Default Python-3.2-related changes

On Sat, Feb 06, 2010 at 12:03:11PM +0100, Arfrever Frehtes Taifersar Arahesis wrote:
> 2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
> > - Dependency on Python 2 should be set correctly. You can specify it directly in
> > {,R}DEPEND or use PYTHON_DEPEND.
> >
> > Example:
> > PYTHON_DEPEND="2"
> >
> > inherit python
>
> It might be useful to provide another example:
> If given package requires e.g. Python >=2.6, but does not support Python 3, then you can
> set PYTHON_DEPEND="2:2.6".

We really need better syntax than that. Particular reason you're
jamming py2k and py3k all into one? Breaking it down into
PYTHON2K_DEPEND and PYTHON3K_DEPEND would involve lest magic in
parsing and would be clear in the reading I'd expect.

~harring
 
Old 02-06-2010, 03:54 PM
Mark Loeser
 
Default Python-3.2-related changes

Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> said:
> 2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
> > I consider filing bugs for not adjusted packages after some months (e.g in summer).
>
> 1123 packages (440 in dev-python category) from 108 categories specify dev-lang/python
> or virtual/python in DEPEND or RDEPEND, so actually it might be better to start filing
> bugs in this month. If there are no objections, then I would like to file 1 bug per
> category (except dev-python category).

Make trackers and make one bug per package. Its way too hard to follow
a huge metabug with a bunch of packages listed in it. Also, I think the
concerns and suggestions that were brought up about the syntax of this
new variable should be addressed first and not ignored.

Thanks,

--
Mark Loeser
email - halcy0n AT gentoo DOT org
email - mark AT halcy0n DOT com
web - http://www.halcy0n.com
 
Old 02-07-2010, 05:43 PM
Markos Chandras
 
Default Python-3.2-related changes

On Saturday 06 February 2010 13:03:11 Arfrever Frehtes Taifersar Arahesis
wrote:
> 2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
> > - Dependency on Python 2 should be set correctly. You can specify it
> > directly in {,R}DEPEND or use PYTHON_DEPEND.
> >
> > Example:
> > PYTHON_DEPEND="2"
> >
> > inherit python
>
> It might be useful to provide another example:
> If given package requires e.g. Python >=2.6, but does not support Python 3,
> then you can set PYTHON_DEPEND="2:2.6".
>
Could you please update the python documentation [1] or any other online
documentation you may find useful cause I am pretty sure your recommendations
in this e-mail will be lost over time.

Many thanks

[1]: http://www.gentoo.org/proj/en/Python/developersguide.xml
--
Markos Chandras (hwoarang)
Gentoo Linux Developer
Web: http://hwoarang.silverarrow.org
 
Old 02-07-2010, 07:17 PM
Zac Medico
 
Default Python-3.2-related changes

On 02/06/2010 03:03 AM, Arfrever Frehtes Taifersar Arahesis wrote:
> 2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
>> - Dependency on Python 2 should be set correctly. You can specify it directly in
>> {,R}DEPEND or use PYTHON_DEPEND.
>>
>> Example:
>> PYTHON_DEPEND="2"
>>
>> inherit python
>
> It might be useful to provide another example:
> If given package requires e.g. Python >=2.6, but does not support Python 3, then you can
> set PYTHON_DEPEND="2:2.6".

I noticed that this generates a depedency like "|| (
=dev-lang/python-2.7* =dev-lang/python-2.6* )" which is very similar
to the way that QT3VERSIONS works in qt3.eclass. One thing that is
sub-optimal about these types of dependencies is that you end up
with lots of installed packages that have out-dated dependencies
when the next minor version of python is released (python-2.8 in
this case). In the case of the python dependencies, it might be more
optimal to use a version range like ">=dev-lang/python-2.6
<dev-lang/python-3".

--
Thanks,
Zac
 
Old 02-07-2010, 11:20 PM
Brian Harring
 
Default Python-3.2-related changes

On Sun, Feb 07, 2010 at 12:17:17PM -0800, Zac Medico wrote:
> I noticed that this generates a depedency like "|| (
> =dev-lang/python-2.7* =dev-lang/python-2.6* )" which is very similar
> to the way that QT3VERSIONS works in qt3.eclass. One thing that is
> sub-optimal about these types of dependencies is that you end up
> with lots of installed packages that have out-dated dependencies
> when the next minor version of python is released (python-2.8 in
> this case). In the case of the python dependencies, it might be more
> optimal to use a version range like ">=dev-lang/python-2.6
> <dev-lang/python-3".

Thing is, the first deps are valid- the deps you posted however
aren't and cannot be used as you're proposing.

Under || ( dev-lang/python:2.7 dev-lang/python:2.6 )
Having python:2.6 or python:2.7 merged satisfies it.

Under >=dev-lang/python:2.6 <dev-lang/python:3.0
having "|| ( python:2.6 python:2.7 )" satisfies it, as does
"|| ( python:2.4 python:2.5 ) || ( python:3.0 python:3.1 python:3.2 )"

Literally, python:2.5 and python:3.1 merged would satisfy it, which is
completely contrary to the intent and an unlikely scenario (several of
my machines have such a deployment).

Ranged versions don't exist in any EAPI's currently although you *can*
get away with them in the cases where the target has a single
slotting- only in that case will the ranged versions from above work.
Python obviously has multiple slottings, thus you cannot rely on it.

If you want ranged versions, get them added to an EAPI- but do *not*
introduce deps like you proposed into the tree since they're wrong
(related, kindly fix the portage deps since I pointed this issue out
several months back).

~harring
 
Old 02-08-2010, 11:11 AM
Arfrever Frehtes Taifersar Arahesis
 
Default Python-3.2-related changes

2010-02-08 01:20:22 Brian Harring napisał(a):
> On Sun, Feb 07, 2010 at 12:17:17PM -0800, Zac Medico wrote:
> > I noticed that this generates a depedency like "|| (
> > =dev-lang/python-2.7* =dev-lang/python-2.6* )" which is very similar
> > to the way that QT3VERSIONS works in qt3.eclass. One thing that is
> > sub-optimal about these types of dependencies is that you end up
> > with lots of installed packages that have out-dated dependencies
> > when the next minor version of python is released (python-2.8 in
> > this case). In the case of the python dependencies, it might be more
> > optimal to use a version range like ">=dev-lang/python-2.6
> > <dev-lang/python-3".
>
> Thing is, the first deps are valid- the deps you posted however
> aren't and cannot be used as you're proposing.
>
> Under || ( dev-lang/python:2.7 dev-lang/python:2.6 )
> Having python:2.6 or python:2.7 merged satisfies it.
>
> Under >=dev-lang/python:2.6 <dev-lang/python:3.0
> having "|| ( python:2.6 python:2.7 )" satisfies it, as does
> "|| ( python:2.4 python:2.5 ) || ( python:3.0 python:3.1 python:3.2 )"
>
> Literally, python:2.5 and python:3.1 merged would satisfy it, which is
> completely contrary to the intent and an unlikely scenario (several of
> my machines have such a deployment).

I will improve handling of cases when minimal and maximal versions aren't
specified. E.g. PYTHON_DEPEND="2" will be translated into dependency on
"=dev-lang/python-2*".

--
Arfrever Frehtes Taifersar Arahesis
 
Old 02-08-2010, 11:14 AM
Arfrever Frehtes Taifersar Arahesis
 
Default Python-3.2-related changes

2010-02-07 19:43:24 Markos Chandras napisał(a):
> On Saturday 06 February 2010 13:03:11 Arfrever Frehtes Taifersar Arahesis
> wrote:
> > 2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
> > > - Dependency on Python 2 should be set correctly. You can specify it
> > > directly in {,R}DEPEND or use PYTHON_DEPEND.
> > >
> > > Example:
> > > PYTHON_DEPEND="2"
> > >
> > > inherit python
> >
> > It might be useful to provide another example:
> > If given package requires e.g. Python >=2.6, but does not support Python 3,
> > then you can set PYTHON_DEPEND="2:2.6".
> >
> Could you please update the python documentation [1] or any other online
> documentation you may find useful cause I am pretty sure your recommendations
> in this e-mail will be lost over time.

Yes.

--
Arfrever Frehtes Taifersar Arahesis
 

Thread Tools




All times are GMT. The time now is 03:18 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org