* [gentoo-dev] Packages pulling in python-3*, also they dont require it
@ 2010-03-18 19:20 Thomas Sachau
2010-03-18 19:24 ` Fabian Groffen
` (3 more replies)
0 siblings, 4 replies; 56+ messages in thread
From: Thomas Sachau @ 2010-03-18 19:20 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 946 bytes --]
Hi,
i would like to see a discussion and, if needed, a decision on the following topic:
Currently, some packages just depend on "dev-lang/python". Arfrever claims it to be right, but this
dependency does pull in python-3*, even if the package does not require it (or does not even work
with it). Since the real dep is either "=dev-lang/python-2*" or "|| ( dev-lang/python:3.1
dev-lang/python:2.7 dev-lang/python-2.6 dev-lang/python:2.5 )", it means in both cases, that my
install of python-2.6* should meet the requirement, so the package should not pull in the unneeded
and not used python-3*.
There are 2 ways to fix this issue:
-fix the dependency string for those packages (including the lines in distutils.eclass)
or (since Arfrever claims current portage behaviour is wrong)
-change portage behaviour to be satisfied with a python slot and to not require other slots.
--
Thomas Sachau
Gentoo Linux Developer
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 316 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 19:20 [gentoo-dev] Packages pulling in python-3*, also they dont require it Thomas Sachau
@ 2010-03-18 19:24 ` Fabian Groffen
2010-03-18 20:27 ` Ben de Groot
2010-03-18 19:28 ` Ciaran McCreesh
` (2 subsequent siblings)
3 siblings, 1 reply; 56+ messages in thread
From: Fabian Groffen @ 2010-03-18 19:24 UTC (permalink / raw
To: gentoo-dev
On 18-03-2010 20:20:02 +0100, Thomas Sachau wrote:
> There are 2 ways to fix this issue:
>
> -fix the dependency string for those packages (including the lines in distutils.eclass)
>
> or (since Arfrever claims current portage behaviour is wrong)
> -change portage behaviour to be satisfied with a python slot and to not require other slots.
Since the last option will take time in any case, I guess the first
option is the best to achieve the desired goal: make sure Python 3 stays
as far away as possible from any system that doesn't need it.
--
Fabian Groffen
Gentoo on a different level
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 19:20 [gentoo-dev] Packages pulling in python-3*, also they dont require it Thomas Sachau
2010-03-18 19:24 ` Fabian Groffen
@ 2010-03-18 19:28 ` Ciaran McCreesh
2010-03-18 19:43 ` Thomas Sachau
2010-03-18 19:33 ` Arfrever Frehtes Taifersar Arahesis
2010-03-20 12:51 ` [gentoo-dev] " Peter Hjalmarsson
3 siblings, 1 reply; 56+ messages in thread
From: Ciaran McCreesh @ 2010-03-18 19:28 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 472 bytes --]
On Thu, 18 Mar 2010 20:20:02 +0100
Thomas Sachau <tommy@gentoo.org> wrote:
> -change portage behaviour to be satisfied with a python slot and to
> not require other slots.
But then you'll never get new slots for the majority of dependencies
where you do usually want the newest version. If Portage were to take
existing slots, most users would still be using Python 2.4 to
satisfy dependencies, and would never have had 2.5+ installed...
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 19:20 [gentoo-dev] Packages pulling in python-3*, also they dont require it Thomas Sachau
2010-03-18 19:24 ` Fabian Groffen
2010-03-18 19:28 ` Ciaran McCreesh
@ 2010-03-18 19:33 ` Arfrever Frehtes Taifersar Arahesis
2010-03-18 19:47 ` Thomas Sachau
2010-03-20 12:51 ` [gentoo-dev] " Peter Hjalmarsson
3 siblings, 1 reply; 56+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-03-18 19:33 UTC (permalink / raw
To: Gentoo Development
[-- Attachment #1: Type: Text/Plain, Size: 410 bytes --]
2010-03-18 20:20:02 Thomas Sachau napisał(a):
> Currently, some packages just depend on "dev-lang/python". Arfrever claims it to be right
It's correct only for packages (e.g. dev-python/setuptools), which support all
versions of Python (including Python 3).
> Arfrever claims current portage behaviour is wrong
I claim that Portage behavior is correct.
--
Arfrever Frehtes Taifersar Arahesis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 19:28 ` Ciaran McCreesh
@ 2010-03-18 19:43 ` Thomas Sachau
2010-03-18 20:02 ` Petteri Räty
0 siblings, 1 reply; 56+ messages in thread
From: Thomas Sachau @ 2010-03-18 19:43 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1082 bytes --]
On 03/18/2010 08:28 PM, Ciaran McCreesh wrote:
> On Thu, 18 Mar 2010 20:20:02 +0100
> Thomas Sachau <tommy@gentoo.org> wrote:
>> -change portage behaviour to be satisfied with a python slot and to
>> not require other slots.
>
> But then you'll never get new slots for the majority of dependencies
> where you do usually want the newest version. If Portage were to take
> existing slots, most users would still be using Python 2.4 to
> satisfy dependencies, and would never have had 2.5+ installed...
>
I know this part, this option was just the result of Arfrever telling me that just "dev-lang/python"
is the right dependency and the PM being wrong, when pulling in something unneeded.
python-3* might be a special case, since it is incompactible with 2* versions and wont be set as the
default python during install. But this results in it being useless and not needed, until either a
package or a user does require it explicitly.
So my vote goes for changing the dependency strings for affected packages.
--
Thomas Sachau
Gentoo Linux Developer
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 316 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 19:33 ` Arfrever Frehtes Taifersar Arahesis
@ 2010-03-18 19:47 ` Thomas Sachau
2010-03-18 19:55 ` Arfrever Frehtes Taifersar Arahesis
0 siblings, 1 reply; 56+ messages in thread
From: Thomas Sachau @ 2010-03-18 19:47 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 813 bytes --]
On 03/18/2010 08:33 PM, Arfrever Frehtes Taifersar Arahesis wrote:
> 2010-03-18 20:20:02 Thomas Sachau napisał(a):
>> Currently, some packages just depend on "dev-lang/python". Arfrever claims it to be right
>
> It's correct only for packages (e.g. dev-python/setuptools), which support all
> versions of Python (including Python 3).
Can you tell us any benefit for the normal user, when you require him to install python-3* and to
install the python related packages additionally for python-3*, while the system python is still
2.6* and wont change in the near future?
>
>> Arfrever claims current portage behaviour is wrong
>
> I claim that Portage behavior is correct.
>
So you want everyone to install python-3*? See above question.
--
Thomas Sachau
Gentoo Linux Developer
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 316 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 19:47 ` Thomas Sachau
@ 2010-03-18 19:55 ` Arfrever Frehtes Taifersar Arahesis
2010-03-18 20:13 ` Thomas Sachau
0 siblings, 1 reply; 56+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-03-18 19:55 UTC (permalink / raw
To: Gentoo Development
[-- Attachment #1: Type: Text/Plain, Size: 616 bytes --]
2010-03-18 20:47:35 Thomas Sachau napisał(a):
> On 03/18/2010 08:33 PM, Arfrever Frehtes Taifersar Arahesis wrote:
> > 2010-03-18 20:20:02 Thomas Sachau napisał(a):
> >> Currently, some packages just depend on "dev-lang/python". Arfrever claims it to be right
> >
> > It's correct only for packages (e.g. dev-python/setuptools), which support all
> > versions of Python (including Python 3).
>
> Can you tell us any benefit for the normal user, when you require him to install python-3*
I don't require it. It's only a side effect of correct dependencies.
--
Arfrever Frehtes Taifersar Arahesis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 19:43 ` Thomas Sachau
@ 2010-03-18 20:02 ` Petteri Räty
2010-03-18 20:10 ` Ciaran McCreesh
2010-03-18 20:21 ` Thomas Sachau
0 siblings, 2 replies; 56+ messages in thread
From: Petteri Räty @ 2010-03-18 20:02 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 722 bytes --]
On 03/18/2010 09:43 PM, Thomas Sachau wrote:
>
> So my vote goes for changing the dependency strings for affected packages.
>
Here's some thoughts on the matter:
- dev-lang/python is correct if the package works with all python
versions in tree
- in general we want new slots of packages like gcc being pulled in
Here's how we could change Portage behavior for pulling new slots that
are not strictly required:
- for packages in the world file install as soon as available
- for dependencies install the new slot if everything works with the new
slot
This would mean that Portage would stay with 2.6 as long as you have
something that doesn't work with 3.x installed.
Regards,
Petteri
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 20:02 ` Petteri Räty
@ 2010-03-18 20:10 ` Ciaran McCreesh
2010-03-18 20:57 ` Petteri Räty
2010-03-18 20:21 ` Thomas Sachau
1 sibling, 1 reply; 56+ messages in thread
From: Ciaran McCreesh @ 2010-03-18 20:10 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 718 bytes --]
On Thu, 18 Mar 2010 22:02:38 +0200
Petteri Räty <betelgeuse@gentoo.org> wrote:
> Here's how we could change Portage behavior for pulling new slots that
> are not strictly required:
>
> - for packages in the world file install as soon as available
>
> - for dependencies install the new slot if everything works with the
> new slot
>
> This would mean that Portage would stay with 2.6 as long as you have
> something that doesn't work with 3.x installed.
Why would you want the majority of your packages that can use a newer,
shinier version of a library to continue using the old version? Do you
really want to stick with Qt3 until every single app you have supports
Qt4?
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 19:55 ` Arfrever Frehtes Taifersar Arahesis
@ 2010-03-18 20:13 ` Thomas Sachau
2010-03-18 21:40 ` Brian Harring
0 siblings, 1 reply; 56+ messages in thread
From: Thomas Sachau @ 2010-03-18 20:13 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1086 bytes --]
On 03/18/2010 08:55 PM, Arfrever Frehtes Taifersar Arahesis wrote:
> 2010-03-18 20:47:35 Thomas Sachau napisał(a):
>> On 03/18/2010 08:33 PM, Arfrever Frehtes Taifersar Arahesis wrote:
>>> 2010-03-18 20:20:02 Thomas Sachau napisał(a):
>>>> Currently, some packages just depend on "dev-lang/python". Arfrever claims it to be right
>>>
>>> It's correct only for packages (e.g. dev-python/setuptools), which support all
>>> versions of Python (including Python 3).
>>
>> Can you tell us any benefit for the normal user, when you require him to install python-3*
>
> I don't require it. It's only a side effect of correct dependencies.
>
Wrong. Correct dependencies only require the set of packages they need, they dont pull in packages
nor versions, which are not used or needed.
Since you claim portage behaviour being right and you dont want to change "dev-lang/python"
dependency, you want to force all users to install python-3*, also it is not needed nor used nor is
there any benefit from it being installed.
--
Thomas Sachau
Gentoo Linux Developer
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 316 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 20:02 ` Petteri Räty
2010-03-18 20:10 ` Ciaran McCreesh
@ 2010-03-18 20:21 ` Thomas Sachau
2010-03-18 21:00 ` Petteri Räty
1 sibling, 1 reply; 56+ messages in thread
From: Thomas Sachau @ 2010-03-18 20:21 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1380 bytes --]
On 03/18/2010 09:02 PM, Petteri Räty wrote:
> On 03/18/2010 09:43 PM, Thomas Sachau wrote:
>>
>> So my vote goes for changing the dependency strings for affected packages.
>>
>
> Here's some thoughts on the matter:
>
> - dev-lang/python is correct if the package works with all python
> versions in tree
>
> - in general we want new slots of packages like gcc being pulled in
>
> Here's how we could change Portage behavior for pulling new slots that
> are not strictly required:
>
> - for packages in the world file install as soon as available
>
> - for dependencies install the new slot if everything works with the new
> slot
>
> This would mean that Portage would stay with 2.6 as long as you have
> something that doesn't work with 3.x installed.
>
> Regards,
> Petteri
>
How do you detect this?
Also, what about a new slot for python-2? E.g. 2.7?
And do you want to add a special rule to portage just for the special case of python instead of the
ebuilds/eclasses having the issue?
There is currently the additional issue with distutils.eclass, which does directly add
"dev-lang/python" to the dependencies, if there is nothing additional defined. So even e.g.
dev-libs/protobuf does pull in python-3*, also there is no indication, that it will even work with
that version.
--
Thomas Sachau
Gentoo Linux Developer
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 316 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 19:24 ` Fabian Groffen
@ 2010-03-18 20:27 ` Ben de Groot
2010-03-18 20:53 ` Doktor Notor
2010-03-19 5:35 ` [gentoo-dev] " Alec Warner
0 siblings, 2 replies; 56+ messages in thread
From: Ben de Groot @ 2010-03-18 20:27 UTC (permalink / raw
To: gentoo-dev
On 18 March 2010 20:24, Fabian Groffen <grobian@gentoo.org> wrote:
> On 18-03-2010 20:20:02 +0100, Thomas Sachau wrote:
>> There are 2 ways to fix this issue:
>>
>> -fix the dependency string for those packages (including the lines in distutils.eclass)
>>
>> or (since Arfrever claims current portage behaviour is wrong)
>> -change portage behaviour to be satisfied with a python slot and to not require other slots.
>
> Since the last option will take time in any case, I guess the first
> option is the best to achieve the desired goal: make sure Python 3 stays
> as far away as possible from any system that doesn't need it.
And the best way to do that is to package.mask it.
Cheers,
--
Ben de Groot
Gentoo Linux Qt project lead developer
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 20:27 ` Ben de Groot
@ 2010-03-18 20:53 ` Doktor Notor
2010-03-18 22:09 ` Sebastian Pipping
2010-03-18 22:17 ` Ben de Groot
2010-03-19 5:35 ` [gentoo-dev] " Alec Warner
1 sibling, 2 replies; 56+ messages in thread
From: Doktor Notor @ 2010-03-18 20:53 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 983 bytes --]
On Thu, 18 Mar 2010 21:27:50 +0100
Ben de Groot <yngwin@gentoo.org> wrote:
> > Since the last option will take time in any case, I guess the first
> > option is the best to achieve the desired goal: make sure Python 3
> > stays as far away as possible from any system that doesn't need it.
>
> And the best way to do that is to package.mask it.
Mask in the CVS tree?! Hmmm, there are tons of broken junk long dead
upstream in the tree that doesn't even compile - guess what - not
masked and noone's caring. Why on earth would you mask a working
package with extremely active maintainer in CVS - just because you
don't have a use for it? So why don't you mask it for yourself if you
don't have any use for it?
The time spent on this ML debate would IMHO be better spent on fixing
the dependencies in the tree for stuff that doesn't work w/ python-2 and
yet has unversioned or >= deps in ebuilds and such. [1]
Cheers,
DN.
[1] http://tinyurl.com/yhlmcq8
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 20:10 ` Ciaran McCreesh
@ 2010-03-18 20:57 ` Petteri Räty
0 siblings, 0 replies; 56+ messages in thread
From: Petteri Räty @ 2010-03-18 20:57 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1330 bytes --]
On 03/18/2010 10:10 PM, Ciaran McCreesh wrote:
> On Thu, 18 Mar 2010 22:02:38 +0200
> Petteri Räty <betelgeuse@gentoo.org> wrote:
>> Here's how we could change Portage behavior for pulling new slots that
>> are not strictly required:
>>
>> - for packages in the world file install as soon as available
>>
>> - for dependencies install the new slot if everything works with the
>> new slot
>>
>> This would mean that Portage would stay with 2.6 as long as you have
>> something that doesn't work with 3.x installed.
>
> Why would you want the majority of your packages that can use a newer,
> shinier version of a library to continue using the old version? Do you
> really want to stick with Qt3 until every single app you have supports
> Qt4?
>
PM can make it configurable. It's a trade off between having as few
packages as possible installed and upgrading as soon as possible. In
general I want to keep my installed stuff to minimum. I don't have a
need for new stuff that I don't know exists. If I know packages can make
use of it to give me something new and shiny I can always manually
request the new slot to be installed. Most likely before everything is
ported over there is something written to require the new version
explicitly so it's sooner than you are saying.
Regards,
Petteri
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 20:21 ` Thomas Sachau
@ 2010-03-18 21:00 ` Petteri Räty
2010-03-18 21:06 ` Ciaran McCreesh
2010-03-18 21:45 ` Thomas Sachau
0 siblings, 2 replies; 56+ messages in thread
From: Petteri Räty @ 2010-03-18 21:00 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1365 bytes --]
On 03/18/2010 10:21 PM, Thomas Sachau wrote:
> On 03/18/2010 09:02 PM, Petteri Räty wrote:
>> On 03/18/2010 09:43 PM, Thomas Sachau wrote:
>>>
>>> So my vote goes for changing the dependency strings for affected packages.
>>>
>>
>> Here's some thoughts on the matter:
>>
>> - dev-lang/python is correct if the package works with all python
>> versions in tree
>>
>> - in general we want new slots of packages like gcc being pulled in
>>
>> Here's how we could change Portage behavior for pulling new slots that
>> are not strictly required:
>>
>> - for packages in the world file install as soon as available
>>
>> - for dependencies install the new slot if everything works with the new
>> slot
>>
>> This would mean that Portage would stay with 2.6 as long as you have
>> something that doesn't work with 3.x installed.
>>
>> Regards,
>> Petteri
>>
>
> How do you detect this?
By looking at the dependency graph?
> Also, what about a new slot for python-2? E.g. 2.7?
Handled by the same rules.
> And do you want to add a special rule to portage just for the special case of python instead of the
> ebuilds/eclasses having the issue?
>
What issue is there with ebuilds/eclasses? Both should reflect the deps
as well as can be done with current EAPIs. If they don't, they need to
be fixed.
Regards,
Petteri
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 21:00 ` Petteri Räty
@ 2010-03-18 21:06 ` Ciaran McCreesh
2010-03-18 21:45 ` Thomas Sachau
1 sibling, 0 replies; 56+ messages in thread
From: Ciaran McCreesh @ 2010-03-18 21:06 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1183 bytes --]
On Thu, 18 Mar 2010 23:00:56 +0200
Petteri Räty <betelgeuse@gentoo.org> wrote:
> >> Here's how we could change Portage behavior for pulling new slots
> >> that are not strictly required:
> >>
> >> - for packages in the world file install as soon as available
> >>
> >> - for dependencies install the new slot if everything works with
> >> the new slot
> >>
> >> This would mean that Portage would stay with 2.6 as long as you
> >> have something that doesn't work with 3.x installed.
> >
> > How do you detect this?
>
> By looking at the dependency graph?
But you can't tell whether everything will work with the new slot until
you've generated a full set of decisions, and you can't generate a full
set of decisions until you decide whether you want to install the newer
slot.
The problem with expecting the resolver to be clever is that the same
kind of clever in different places leads to horrible screwups... Every
time the resolver has to make some kind of decision that isn't utterly
explicit it's going to do the wrong thing in an annoying minority of
cases. Much better to just have ebuilds say exactly what they mean.
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 20:13 ` Thomas Sachau
@ 2010-03-18 21:40 ` Brian Harring
0 siblings, 0 replies; 56+ messages in thread
From: Brian Harring @ 2010-03-18 21:40 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1876 bytes --]
On Thu, Mar 18, 2010 at 09:13:01PM +0100, Thomas Sachau wrote:
> On 03/18/2010 08:55 PM, Arfrever Frehtes Taifersar Arahesis wrote:
> > 2010-03-18 20:47:35 Thomas Sachau napisał(a):
> >> On 03/18/2010 08:33 PM, Arfrever Frehtes Taifersar Arahesis wrote:
> >>> 2010-03-18 20:20:02 Thomas Sachau napisał(a):
> >>>> Currently, some packages just depend on "dev-lang/python". Arfrever claims it to be right
> >>>
> >>> It's correct only for packages (e.g. dev-python/setuptools), which support all
> >>> versions of Python (including Python 3).
> >>
> >> Can you tell us any benefit for the normal user, when you require him to install python-3*
> >
> > I don't require it. It's only a side effect of correct dependencies.
> >
>
> Wrong. Correct dependencies only require the set of packages they need, they dont pull in packages
> nor versions, which are not used or needed.
> Since you claim portage behaviour being right and you dont want to change "dev-lang/python"
> dependency, you want to force all users to install python-3*, also it is not needed nor used nor is
> there any benefit from it being installed.
dev-lang/python, if the pkg supports py2k/py3k (specifically
py2.{4,5,6,7}, py3.{0,1,2}), *is* the correct dependency. End of
story, no arguement is possible on that.
Note I said 'correct', not 'desired'. It's the PM's choice how it
chooses to fullfill that constraint. Now, even if py3k is basically
unusable (for anything reliant on a framework, at this point in time
it is unusable), that *still* doesn't matter- the dependency is
*correct*.
If you want to influence how the PM chooses what to use, that's
masking or changing the algo it uses- not screwing up perfectly
correct dependencies.
Considering that the algo varies across all 3 managers, masking is the
only tool that exists atm.
~harring
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 21:00 ` Petteri Räty
2010-03-18 21:06 ` Ciaran McCreesh
@ 2010-03-18 21:45 ` Thomas Sachau
1 sibling, 0 replies; 56+ messages in thread
From: Thomas Sachau @ 2010-03-18 21:45 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 813 bytes --]
On 03/18/2010 10:00 PM, Petteri Räty wrote:
>> And do you want to add a special rule to portage just for the special case of python instead of the
>> ebuilds/eclasses having the issue?
>>
>
> What issue is there with ebuilds/eclasses? Both should reflect the deps
> as well as can be done with current EAPIs. If they don't, they need to
> be fixed.
>
> Regards,
> Petteri
>
I know about distutils.eclass: If an ebuild does just inherit it and does not define anything
special, it will add "dev-lang/python" to the dependency tree, which will pull in python-3*, also
noone knows, if it is requested, supported or will even work there (e.g. dev-util/protobuf does pull
in python-3*, also i dont see any marks, that it does support python-3*).
--
Thomas Sachau
Gentoo Linux Developer
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 316 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 20:53 ` Doktor Notor
@ 2010-03-18 22:09 ` Sebastian Pipping
2010-03-18 22:17 ` Ben de Groot
1 sibling, 0 replies; 56+ messages in thread
From: Sebastian Pipping @ 2010-03-18 22:09 UTC (permalink / raw
To: gentoo-dev
On 03/18/10 21:53, Doktor Notor wrote:
> Why on earth would you mask a working
> package with extremely active maintainer in CVS
Upstream stability is unequel Gentoo stability.
Sebastian
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 20:53 ` Doktor Notor
2010-03-18 22:09 ` Sebastian Pipping
@ 2010-03-18 22:17 ` Ben de Groot
2010-03-19 8:12 ` Ciaran McCreesh
1 sibling, 1 reply; 56+ messages in thread
From: Ben de Groot @ 2010-03-18 22:17 UTC (permalink / raw
To: gentoo-dev
On 18 March 2010 21:53, Doktor Notor <notordoktor@gmail.com> wrote:
> On Thu, 18 Mar 2010 21:27:50 +0100
> Ben de Groot <yngwin@gentoo.org> wrote:
>
>> > Since the last option will take time in any case, I guess the first
>> > option is the best to achieve the desired goal: make sure Python 3
>> > stays as far away as possible from any system that doesn't need it.
>>
>> And the best way to do that is to package.mask it.
>
> Mask in the CVS tree?! Hmmm, there are tons of broken junk long dead
> upstream in the tree that doesn't even compile - guess what - not
> masked and noone's caring.
If that is the case, that is bad practice and should be remedied,
not used as an excuse to commit more crimes.
> Why on earth would you mask a working
> package with extremely active maintainer in CVS
Because it is extremely useless to the great majority of users.
Cheers,
--
Ben de Groot
Gentoo Linux Qt project lead developer
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 20:27 ` Ben de Groot
2010-03-18 20:53 ` Doktor Notor
@ 2010-03-19 5:35 ` Alec Warner
2010-03-19 7:15 ` Dale
1 sibling, 1 reply; 56+ messages in thread
From: Alec Warner @ 2010-03-19 5:35 UTC (permalink / raw
To: gentoo-dev
On Thu, Mar 18, 2010 at 1:27 PM, Ben de Groot <yngwin@gentoo.org> wrote:
> On 18 March 2010 20:24, Fabian Groffen <grobian@gentoo.org> wrote:
>> On 18-03-2010 20:20:02 +0100, Thomas Sachau wrote:
>>> There are 2 ways to fix this issue:
>>>
>>> -fix the dependency string for those packages (including the lines in distutils.eclass)
>>>
>>> or (since Arfrever claims current portage behaviour is wrong)
>>> -change portage behaviour to be satisfied with a python slot and to not require other slots.
>>
>> Since the last option will take time in any case, I guess the first
>> option is the best to achieve the desired goal: make sure Python 3 stays
>> as far away as possible from any system that doesn't need it.
>
> And the best way to do that is to package.mask it.
The maintainer has chosen not to mask it in gentoo-x86, which means
users are empowered to mask it locally and everyone who is complaining
about getting python3 installed on their system should mask it
locally. This is how users work around other defaults in the tree
they don't agree with (USE flags, KEYWORDS, etc.) I don't get why
this is a big deal at all or why people are unable to solve this
themselves.
>
> Cheers,
> --
> Ben de Groot
> Gentoo Linux Qt project lead developer
>
>
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 5:35 ` [gentoo-dev] " Alec Warner
@ 2010-03-19 7:15 ` Dale
2010-03-19 7:58 ` Zac Medico
0 siblings, 1 reply; 56+ messages in thread
From: Dale @ 2010-03-19 7:15 UTC (permalink / raw
To: gentoo-dev
Alec Warner wrote:
> On Thu, Mar 18, 2010 at 1:27 PM, Ben de Groot<yngwin@gentoo.org> wrote:
>
>> On 18 March 2010 20:24, Fabian Groffen<grobian@gentoo.org> wrote:
>>
>>> On 18-03-2010 20:20:02 +0100, Thomas Sachau wrote:
>>>
>>>> There are 2 ways to fix this issue:
>>>>
>>>> -fix the dependency string for those packages (including the lines in distutils.eclass)
>>>>
>>>> or (since Arfrever claims current portage behaviour is wrong)
>>>> -change portage behaviour to be satisfied with a python slot and to not require other slots.
>>>>
>>> Since the last option will take time in any case, I guess the first
>>> option is the best to achieve the desired goal: make sure Python 3 stays
>>> as far away as possible from any system that doesn't need it.
>>>
>> And the best way to do that is to package.mask it.
>>
> The maintainer has chosen not to mask it in gentoo-x86, which means
> users are empowered to mask it locally and everyone who is complaining
> about getting python3 installed on their system should mask it
> locally. This is how users work around other defaults in the tree
> they don't agree with (USE flags, KEYWORDS, etc.) I don't get why
> this is a big deal at all or why people are unable to solve this
> themselves.
>
>
>> Cheers,
>> --
>> Ben de Groot
>> Gentoo Linux Qt project lead developer
>>
>>
>>
I think this is because people that use Gentoo do so because it doesn't
install things they don't need. Why install a package that is used by
no other package? It's pointless.
I would also add, if it gets installed and is used by no other package,
--depclean should remove it. Putting it in package.mask locally is sort
of silly in my opinion. There will come a day, maybe way off in the
future, that something will need it. Then you have to edit the file
again so portage can install it.
This just seems to be adding either more work or unneeded packages.
This is a users $0.02 worth.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 7:15 ` Dale
@ 2010-03-19 7:58 ` Zac Medico
2010-03-19 8:52 ` Dale
0 siblings, 1 reply; 56+ messages in thread
From: Zac Medico @ 2010-03-19 7:58 UTC (permalink / raw
To: gentoo-dev
On 03/19/2010 12:15 AM, Dale wrote:
> I think this is because people that use Gentoo do so because it doesn't
> install things they don't need. Why install a package that is used by
> no other package? It's pointless.
>
> I would also add, if it gets installed and is used by no other package,
> --depclean should remove it. Putting it in package.mask locally is sort
> of silly in my opinion. There will come a day, maybe way off in the
> future, that something will need it. Then you have to edit the file
> again so portage can install it.
I guess what you want is an emerge
--avoid-new-slots-whenever-possible option. You might also want it
to check for cases in which pulling in a new slot will allow you to
remove an older slot (that will require some additional work).
Having options like those would be really super, but I don't think
using package.mask to do it will be so awful.
--
Thanks,
Zac
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-18 22:17 ` Ben de Groot
@ 2010-03-19 8:12 ` Ciaran McCreesh
2010-03-19 8:54 ` Dale
0 siblings, 1 reply; 56+ messages in thread
From: Ciaran McCreesh @ 2010-03-19 8:12 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 241 bytes --]
On Thu, 18 Mar 2010 23:17:17 +0100
Ben de Groot <yngwin@gentoo.org> wrote:
> Because it is extremely useless to the great majority of users.
Most packages in the tree are useless to the great majority of users.
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 7:58 ` Zac Medico
@ 2010-03-19 8:52 ` Dale
2010-03-19 9:09 ` Zac Medico
2010-03-19 22:28 ` Alistair Bush
0 siblings, 2 replies; 56+ messages in thread
From: Dale @ 2010-03-19 8:52 UTC (permalink / raw
To: gentoo-dev
Zac Medico wrote:
> On 03/19/2010 12:15 AM, Dale wrote:
>
>> I think this is because people that use Gentoo do so because it doesn't
>> install things they don't need. Why install a package that is used by
>> no other package? It's pointless.
>>
>> I would also add, if it gets installed and is used by no other package,
>> --depclean should remove it. Putting it in package.mask locally is sort
>> of silly in my opinion. There will come a day, maybe way off in the
>> future, that something will need it. Then you have to edit the file
>> again so portage can install it.
>>
> I guess what you want is an emerge
> --avoid-new-slots-whenever-possible option. You might also want it
> to check for cases in which pulling in a new slot will allow you to
> remove an older slot (that will require some additional work).
>
> Having options like those would be really super, but I don't think
> using package.mask to do it will be so awful.
>
I think what most people want is for portage not to pull in a package
that nothing uses. I'm not a dev nor a programmer but I have yet to see
any good reason for installing something that is not being used. It's
not being tested to see if it is stable. It would have to be used
before that would happen. Basically, it is just one more package to
update and taking up hard drive space. It's not doing anything else.
As for slots, if something needs it, portage would pull in the new
slot. That's what portage does. It just seems in this case it is
pulling in a new slot that nothing uses.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 8:12 ` Ciaran McCreesh
@ 2010-03-19 8:54 ` Dale
2010-03-19 8:57 ` Ciaran McCreesh
0 siblings, 1 reply; 56+ messages in thread
From: Dale @ 2010-03-19 8:54 UTC (permalink / raw
To: gentoo-dev
Ciaran McCreesh wrote:
> On Thu, 18 Mar 2010 23:17:17 +0100
> Ben de Groot<yngwin@gentoo.org> wrote:
>
>> Because it is extremely useless to the great majority of users.
>>
> Most packages in the tree are useless to the great majority of users.
>
>
Which is why most users don't install everything. I have about 1000
packages installed here. The packages installed are either something I
use or a dependency of something I use. What exactly is this being
installed for again? If nothing depends on it, there is no need to have
it.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 8:54 ` Dale
@ 2010-03-19 8:57 ` Ciaran McCreesh
2010-03-19 9:23 ` Dale
2010-03-19 15:13 ` [gentoo-dev] " Nikos Chantziaras
0 siblings, 2 replies; 56+ messages in thread
From: Ciaran McCreesh @ 2010-03-19 8:57 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 842 bytes --]
On Fri, 19 Mar 2010 03:54:28 -0500
Dale <rdalek1967@gmail.com> wrote:
> Ciaran McCreesh wrote:
> > On Thu, 18 Mar 2010 23:17:17 +0100
> > Ben de Groot<yngwin@gentoo.org> wrote:
> >
> >> Because it is extremely useless to the great majority of users.
> >>
> > Most packages in the tree are useless to the great majority of
> > users.
>
> Which is why most users don't install everything. I have about 1000
> packages installed here. The packages installed are either something
> I use or a dependency of something I use. What exactly is this being
> installed for again? If nothing depends on it, there is no need to
> have it.
It's being installed because it's a dependency of something you use.
Replace Python with any other library and we wouldn't be having this
discussion.
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 8:52 ` Dale
@ 2010-03-19 9:09 ` Zac Medico
2010-03-19 22:28 ` Alistair Bush
1 sibling, 0 replies; 56+ messages in thread
From: Zac Medico @ 2010-03-19 9:09 UTC (permalink / raw
To: gentoo-dev
On 03/19/2010 01:52 AM, Dale wrote:
> I think what most people want is for portage not to pull in a package
> that nothing uses. I'm not a dev nor a programmer but I have yet to see
> any good reason for installing something that is not being used. It's
> not being tested to see if it is stable. It would have to be used
> before that would happen. Basically, it is just one more package to
> update and taking up hard drive space. It's not doing anything else.
It won't be pulled in unless something else is pulled in that "can
use python3".
> As for slots, if something needs it, portage would pull in the new
> slot. That's what portage does. It just seems in this case it is
> pulling in a new slot that nothing uses.
The problem is, most people will have have something pulled in via
dependencies that "can use python3", even though python-2.x will
suffice. For cases like this, some users may want to use
package.mask in order to prevent python3 from being installed.
--
Thanks,
Zac
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 8:57 ` Ciaran McCreesh
@ 2010-03-19 9:23 ` Dale
2010-03-19 9:30 ` Ciaran McCreesh
` (2 more replies)
2010-03-19 15:13 ` [gentoo-dev] " Nikos Chantziaras
1 sibling, 3 replies; 56+ messages in thread
From: Dale @ 2010-03-19 9:23 UTC (permalink / raw
To: gentoo-dev
Ciaran McCreesh wrote:
> On Fri, 19 Mar 2010 03:54:28 -0500
> Dale<rdalek1967@gmail.com> wrote:
>
>> Ciaran McCreesh wrote:
>>
>>> On Thu, 18 Mar 2010 23:17:17 +0100
>>> Ben de Groot<yngwin@gentoo.org> wrote:
>>>
>>>
>>>> Because it is extremely useless to the great majority of users.
>>>>
>>>>
>>> Most packages in the tree are useless to the great majority of
>>> users.
>>>
>> Which is why most users don't install everything. I have about 1000
>> packages installed here. The packages installed are either something
>> I use or a dependency of something I use. What exactly is this being
>> installed for again? If nothing depends on it, there is no need to
>> have it.
>>
> It's being installed because it's a dependency of something you use.
>
> Replace Python with any other library and we wouldn't be having this
> discussion.
>
>
OK. Right now, as you type this, what package depends on python-3 and
won't work with python-2? Anything at all? If it is nothing, then why
install it?
Since python-3 is not what the system is using, it's not getting used
even if it is installed. So as I mentioned in another reply, portage is
installing something and it is just sitting there doing nothing. What
is the point in that?
Dale
:-) :-)
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 9:23 ` Dale
@ 2010-03-19 9:30 ` Ciaran McCreesh
2010-03-19 10:13 ` Dale
2010-03-19 9:35 ` [gentoo-dev] " Arfrever Frehtes Taifersar Arahesis
2010-03-19 9:40 ` Brian Harring
2 siblings, 1 reply; 56+ messages in thread
From: Ciaran McCreesh @ 2010-03-19 9:30 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 762 bytes --]
On Fri, 19 Mar 2010 04:23:31 -0500
Dale <rdalek1967@gmail.com> wrote:
> > It's being installed because it's a dependency of something you use.
> >
> > Replace Python with any other library and we wouldn't be having this
> > discussion.
>
> OK. Right now, as you type this, what package depends on python-3
> and won't work with python-2? Anything at all? If it is nothing,
> then why install it?
And that's where you're making the mistake: you're treating Python as
being different from every other package.
In every other case, you want things to be using the newest version of a
slotted package where possible. Why aren't you complaining that you were
forced to install gcc 4.3 and 4.1 when 3.4 worked just fine?
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 9:23 ` Dale
2010-03-19 9:30 ` Ciaran McCreesh
@ 2010-03-19 9:35 ` Arfrever Frehtes Taifersar Arahesis
2010-03-19 9:39 ` Petteri Räty
2010-03-19 9:40 ` Brian Harring
2 siblings, 1 reply; 56+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-03-19 9:35 UTC (permalink / raw
To: Gentoo Development
[-- Attachment #1: Type: Text/Plain, Size: 1687 bytes --]
2010-03-19 10:23:31 Dale napisał(a):
> Ciaran McCreesh wrote:
> > On Fri, 19 Mar 2010 03:54:28 -0500
> > Dale<rdalek1967@gmail.com> wrote:
> >
> >> Ciaran McCreesh wrote:
> >>
> >>> On Thu, 18 Mar 2010 23:17:17 +0100
> >>> Ben de Groot<yngwin@gentoo.org> wrote:
> >>>
> >>>
> >>>> Because it is extremely useless to the great majority of users.
> >>>>
> >>>>
> >>> Most packages in the tree are useless to the great majority of
> >>> users.
> >>>
> >> Which is why most users don't install everything. I have about 1000
> >> packages installed here. The packages installed are either something
> >> I use or a dependency of something I use. What exactly is this being
> >> installed for again? If nothing depends on it, there is no need to
> >> have it.
> >>
> > It's being installed because it's a dependency of something you use.
> >
> > Replace Python with any other library and we wouldn't be having this
> > discussion.
> >
> >
>
> OK. Right now, as you type this, what package depends on python-3 and
> won't work with python-2? Anything at all? If it is nothing, then why
> install it?
>
> Since python-3 is not what the system is using, it's not getting used
> even if it is installed. So as I mentioned in another reply, portage is
> installing something and it is just sitting there doing nothing. What
> is the point in that?
I can add "python2" USE flag (enabled by default) to some versions of
dev-lang/python. With USE="-python2", Python 2 will not be required and
Python 3 will be set as main active version of Python.
--
Arfrever Frehtes Taifersar Arahesis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 9:35 ` [gentoo-dev] " Arfrever Frehtes Taifersar Arahesis
@ 2010-03-19 9:39 ` Petteri Räty
2010-03-19 9:55 ` Arfrever Frehtes Taifersar Arahesis
0 siblings, 1 reply; 56+ messages in thread
From: Petteri Räty @ 2010-03-19 9:39 UTC (permalink / raw
To: gentoo-dev
On 19.3.2010 11.35, Arfrever Frehtes Taifersar Arahesis wrote:
>
> I can add "python2" USE flag (enabled by default) to some versions of
> dev-lang/python. With USE="-python2", Python 2 will not be required and
> Python 3 will be set as main active version of Python.
>
You should move to the same scheme that ruby uses. Then users can just
disable the python_version_3 or whatever USE_EXPAND scheme is used.
Regards,
Petteri
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 9:23 ` Dale
2010-03-19 9:30 ` Ciaran McCreesh
2010-03-19 9:35 ` [gentoo-dev] " Arfrever Frehtes Taifersar Arahesis
@ 2010-03-19 9:40 ` Brian Harring
2 siblings, 0 replies; 56+ messages in thread
From: Brian Harring @ 2010-03-19 9:40 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1798 bytes --]
On Fri, Mar 19, 2010 at 04:23:31AM -0500, Dale wrote:
> OK. Right now, as you type this, what package depends on python-3 and
> won't work with python-2? Anything at all? If it is nothing, then why
> install it?
To some degree it's the users choice which python version they choose
to settle on- a simple server system doing file sharing could actually
be py3k via portage/pkgcore both supporting py3k (including their
dependencies).
As for py3k only pkgs, I'd bet 3to2 is py3k only... it's worth noting
that some new libs are targeting py3k only also (I don't agree with
that, but it's upstreams choice).
> Since python-3 is not what the system is using, it's not getting used
> even if it is installed. So as I mentioned in another reply, portage is
> installing something and it is just sitting there doing nothing. What
> is the point in that?
Mask the freaking package already. The time people have extended in
bitching about this *literally* exceeds the time to type
mkdir -p /etc/portage && \
echo '>=dev-lang/python-3' >> /etc/portage/package.mask
If you consider masking it to be that horrible (or want to keep
expending time), fine- then please do what Betelgeuse has
suggested in IRC and raid from the ruby eclass the USE_EXPAND'd
ruby_targets trickery and integrate that into the python eclass [1].
Via that (and a lot of ebuild cleanup) users could explicitly specify
the python versions they want targeted and it would properly be
represented in the depgraph.
~harring
[1] Note that python.eclass already has something *roughly* similar to
this, but 1) it's not USE based, 2) no one aparently knows about it,
3) from what I've seen most ebuilds haven't really been converted to
handle this properly (yet).
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 9:39 ` Petteri Räty
@ 2010-03-19 9:55 ` Arfrever Frehtes Taifersar Arahesis
2010-03-19 9:56 ` Brian Harring
0 siblings, 1 reply; 56+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-03-19 9:55 UTC (permalink / raw
To: Gentoo Development
[-- Attachment #1: Type: Text/Plain, Size: 681 bytes --]
2010-03-19 10:39:07 Petteri Räty napisał(a):
> On 19.3.2010 11.35, Arfrever Frehtes Taifersar Arahesis wrote:
>
> >
> > I can add "python2" USE flag (enabled by default) to some versions of
> > dev-lang/python. With USE="-python2", Python 2 will not be required and
> > Python 3 will be set as main active version of Python.
> >
>
> You should move to the same scheme that ruby uses. Then users can just
> disable the python_version_3 or whatever USE_EXPAND scheme is used.
We are waiting on ABI dependencies (and extended support for multiple ABIs in
package manager), which will provide some needed functionality.
--
Arfrever Frehtes Taifersar Arahesis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 9:55 ` Arfrever Frehtes Taifersar Arahesis
@ 2010-03-19 9:56 ` Brian Harring
2010-03-19 10:01 ` Ciaran McCreesh
0 siblings, 1 reply; 56+ messages in thread
From: Brian Harring @ 2010-03-19 9:56 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1330 bytes --]
On Fri, Mar 19, 2010 at 10:55:03AM +0100, Arfrever Frehtes Taifersar Arahesis wrote:
> 2010-03-19 10:39:07 Petteri Räty napisał(a):
> > On 19.3.2010 11.35, Arfrever Frehtes Taifersar Arahesis wrote:
> >
> > >
> > > I can add "python2" USE flag (enabled by default) to some versions of
> > > dev-lang/python. With USE="-python2", Python 2 will not be required and
> > > Python 3 will be set as main active version of Python.
> > >
> >
> > You should move to the same scheme that ruby uses. Then users can just
> > disable the python_version_3 or whatever USE_EXPAND scheme is used.
>
> We are waiting on ABI dependencies (and extended support for multiple ABIs in
> package manager), which will provide some needed functionality.
You can do it now w/out waiting on ABI dependencies- I'm not saying
the dependencies would be pretty, but it's doable to get abi level
depdencies per slotting via expanding out the use combinations.
Note that's a step beyond what's in place now- converting over to the
ruby abuse of USE_EXPAND hands over better control to users now w/ the
same dep gurantees.
So... yeah, it's not reliant on EAPI. An EAPI extension *would* make
it easier, but it's not required to do it (especially since the deps
are already autogenerated to a decent degree).
~harring
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 9:56 ` Brian Harring
@ 2010-03-19 10:01 ` Ciaran McCreesh
2010-03-19 10:27 ` Brian Harring
0 siblings, 1 reply; 56+ messages in thread
From: Ciaran McCreesh @ 2010-03-19 10:01 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1021 bytes --]
On Fri, 19 Mar 2010 02:56:08 -0700
Brian Harring <ferringb@gmail.com> wrote:
> > We are waiting on ABI dependencies (and extended support for
> > multiple ABIs in package manager), which will provide some needed
> > functionality.
>
> You can do it now w/out waiting on ABI dependencies- I'm not saying
> the dependencies would be pretty, but it's doable to get abi level
> depdencies per slotting via expanding out the use combinations.
>
> Note that's a step beyond what's in place now- converting over to the
> ruby abuse of USE_EXPAND hands over better control to users now w/
> the same dep gurantees.
>
> So... yeah, it's not reliant on EAPI. An EAPI extension *would* make
> it easier, but it's not required to do it (especially since the deps
> are already autogenerated to a decent degree).
How would do it and deal with existing packages not having the required
things in IUSE without (+)/(-) use deps? I don't see a way of doing it
legally without those.
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 9:30 ` Ciaran McCreesh
@ 2010-03-19 10:13 ` Dale
2010-03-19 10:34 ` Arfrever Frehtes Taifersar Arahesis
` (2 more replies)
0 siblings, 3 replies; 56+ messages in thread
From: Dale @ 2010-03-19 10:13 UTC (permalink / raw
To: gentoo-dev
Ciaran McCreesh wrote:
> On Fri, 19 Mar 2010 04:23:31 -0500
> Dale<rdalek1967@gmail.com> wrote:
>
>>> It's being installed because it's a dependency of something you use.
>>>
>>> Replace Python with any other library and we wouldn't be having this
>>> discussion.
>>>
>> OK. Right now, as you type this, what package depends on python-3
>> and won't work with python-2? Anything at all? If it is nothing,
>> then why install it?
>>
> And that's where you're making the mistake: you're treating Python as
> being different from every other package.
>
> In every other case, you want things to be using the newest version of a
> slotted package where possible. Why aren't you complaining that you were
> forced to install gcc 4.3 and 4.1 when 3.4 worked just fine?
>
>
Because, when I installed gcc 4.3, I could then unmerge the old gcc.
That's why I didn't complain about that. With python, we still have to
have the current version plus the new version which is not being used at
all.
Am I not correct in that? If the new python is installed, what exactly
is going to use it? I used the new gcc. It worked fine. I unmerged
the old one with no wasted space and one less package installed. This
doesn't appear to be the case with python-3 tho. It's going to be
installed and just sit there like a rock.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 10:01 ` Ciaran McCreesh
@ 2010-03-19 10:27 ` Brian Harring
0 siblings, 0 replies; 56+ messages in thread
From: Brian Harring @ 2010-03-19 10:27 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 3364 bytes --]
On Fri, Mar 19, 2010 at 10:01:05AM +0000, Ciaran McCreesh wrote:
> On Fri, 19 Mar 2010 02:56:08 -0700
> Brian Harring <ferringb@gmail.com> wrote:
> > > We are waiting on ABI dependencies (and extended support for
> > > multiple ABIs in package manager), which will provide some needed
> > > functionality.
> >
> > You can do it now w/out waiting on ABI dependencies- I'm not saying
> > the dependencies would be pretty, but it's doable to get abi level
> > depdencies per slotting via expanding out the use combinations.
> >
> > Note that's a step beyond what's in place now- converting over to the
> > ruby abuse of USE_EXPAND hands over better control to users now w/
> > the same dep gurantees.
> >
> > So... yeah, it's not reliant on EAPI. An EAPI extension *would* make
> > it easier, but it's not required to do it (especially since the deps
> > are already autogenerated to a decent degree).
>
> How would do it and deal with existing packages not having the required
> things in IUSE without (+)/(-) use deps? I don't see a way of doing it
> legally without those.
Roughly,
PYTHON_DEPS="pkg1 pkg2 pkg3"
SUPPORTED_PYTHONS="2.6 2.7 3.1"
inherit insanely-unfriendly-trickery
w/in said eclass, it does a few things
1) IUSE addition of the USE_EXPAND targets for the supported abis
2) take the enabled USE_EXPAND'd flags intersected against
SUPPORTED_PYTHON, then set deps/rdeps to
"""
python_2.6? ( pkg1[python_2.6] pkg2[python_2.6] pkg3[python2.6] )
python_2.7? ( pkg1[python_2.7] pkg2[python_2.7] pkg3[python2.7] )
python_3.1? ( pkg1[python_3.1] pkg2[python_3.1] pkg3[python3.1] )
"""
Yes, that is horrible (ciaran you knew it was going to be). Few flaws
with it also-
1) edge case when the user turns off all use flags needs addressing-
worst case, python eclass forces whatever we consider the 'default'
(aka 2.6)
2) python_2.6 isn't actually a valid use flag- it would have to be
python_2-6 or python_26 since periods aren't allowed (arfie pointed
this out)
3) this can be ugly for users if the PM doesn't treat use flags as
tristate- specifically 'explicitly-set', 'explicitly-unset',
'indeterminant'. If the ocnfiguration forces an explicit and it
conflicts w/ the use dep, ok, configuration needs to be changed. If
the use flag is indeterminant, then the PM needs to flip the flag on
it's own in that case- I know pkgcore should do this, I don't think
portage/paludis do (please correct me if wrong).
Thing to note, the deps *would* be accurate- further at the vdb level
they'd actually be usable. A dev-lang/python in the vdb is basically
unusable since implicitly the pkg that has the dep is built against
whatever slottings of python were available at the time- so if you
take a pkg from now, a year down the line when py3.2 is stabled as far
as the PM can tell that pkg *still* would work if <=py3.1 were removed
(this obviously is not true).
Note also that what I laid out above is as far as I know, going a
couple of steps beyond what the ruby eclass does (same for what the
python eclass does). I'm not necessarily advocating the approach
above, but for the raw dev-lang/python dependency we *really* should
be using use_expand there- it'll hand folk a fair amount of control as
to what abi's get installed into.
~harring
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 10:13 ` Dale
@ 2010-03-19 10:34 ` Arfrever Frehtes Taifersar Arahesis
2010-03-19 14:54 ` Dale
2010-03-20 0:51 ` [gentoo-dev] " Duncan
2010-03-20 12:47 ` Peter Hjalmarsson
2 siblings, 1 reply; 56+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-03-19 10:34 UTC (permalink / raw
To: Gentoo Development
[-- Attachment #1: Type: Text/Plain, Size: 1833 bytes --]
2010-03-19 11:13:48 Dale napisał(a):
> Ciaran McCreesh wrote:
> > On Fri, 19 Mar 2010 04:23:31 -0500
> > Dale<rdalek1967@gmail.com> wrote:
> >
> >>> It's being installed because it's a dependency of something you use.
> >>>
> >>> Replace Python with any other library and we wouldn't be having this
> >>> discussion.
> >>>
> >> OK. Right now, as you type this, what package depends on python-3
> >> and won't work with python-2? Anything at all? If it is nothing,
> >> then why install it?
> >>
> > And that's where you're making the mistake: you're treating Python as
> > being different from every other package.
> >
> > In every other case, you want things to be using the newest version of a
> > slotted package where possible. Why aren't you complaining that you were
> > forced to install gcc 4.3 and 4.1 when 3.4 worked just fine?
> >
> >
> Because, when I installed gcc 4.3, I could then unmerge the old gcc.
> That's why I didn't complain about that. With python, we still have to
> have the current version plus the new version which is not being used at
> all.
>
> Am I not correct in that? If the new python is installed, what exactly
> is going to use it? I used the new gcc. It worked fine. I unmerged
> the old one with no wasted space and one less package installed. This
> doesn't appear to be the case with python-3 tho. It's going to be
> installed and just sit there like a rock.
Python 3 is used during installation of packages, which support Python 2 and
Python 3 and support installation for multiple Python ABIs. You can directly
execute scripts with "-3.1" suffix (e.g. "bpython-3.1" or "coverage-3.1")
to use Python 3.1 even when Python 2.* is set as main active version of Python.
--
Arfrever Frehtes Taifersar Arahesis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 10:34 ` Arfrever Frehtes Taifersar Arahesis
@ 2010-03-19 14:54 ` Dale
0 siblings, 0 replies; 56+ messages in thread
From: Dale @ 2010-03-19 14:54 UTC (permalink / raw
To: gentoo-dev
Arfrever Frehtes Taifersar Arahesis wrote:
> 2010-03-19 11:13:48 Dale napisał(a):
>
>> Ciaran McCreesh wrote:
>>
>>> On Fri, 19 Mar 2010 04:23:31 -0500
>>> Dale<rdalek1967@gmail.com> wrote:
>>>
>>>
>>>>> It's being installed because it's a dependency of something you use.
>>>>>
>>>>> Replace Python with any other library and we wouldn't be having this
>>>>> discussion.
>>>>>
>>>>>
>>>> OK. Right now, as you type this, what package depends on python-3
>>>> and won't work with python-2? Anything at all? If it is nothing,
>>>> then why install it?
>>>>
>>>>
>>> And that's where you're making the mistake: you're treating Python as
>>> being different from every other package.
>>>
>>> In every other case, you want things to be using the newest version of a
>>> slotted package where possible. Why aren't you complaining that you were
>>> forced to install gcc 4.3 and 4.1 when 3.4 worked just fine?
>>>
>>>
>>>
>> Because, when I installed gcc 4.3, I could then unmerge the old gcc.
>> That's why I didn't complain about that. With python, we still have to
>> have the current version plus the new version which is not being used at
>> all.
>>
>> Am I not correct in that? If the new python is installed, what exactly
>> is going to use it? I used the new gcc. It worked fine. I unmerged
>> the old one with no wasted space and one less package installed. This
>> doesn't appear to be the case with python-3 tho. It's going to be
>> installed and just sit there like a rock.
>>
> Python 3 is used during installation of packages, which support Python 2 and
> Python 3 and support installation for multiple Python ABIs. You can directly
> execute scripts with "-3.1" suffix (e.g. "bpython-3.1" or "coverage-3.1")
> to use Python 3.1 even when Python 2.* is set as main active version of Python.
>
>
But again, if it will work with python2 then you don't need python3. So
you still don't need it installed just as has been said many times.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 22:28 ` Alistair Bush
@ 2010-03-19 15:02 ` Dale
2010-03-19 15:21 ` Doktor Notor
0 siblings, 1 reply; 56+ messages in thread
From: Dale @ 2010-03-19 15:02 UTC (permalink / raw
To: gentoo-dev
Alistair Bush wrote:
>> Zac Medico wrote:
>>
>> I think what most people want is for portage not to pull in a package
>> that nothing uses. I'm not a dev nor a programmer but I have yet to see
>> any good reason for installing something that is not being used. It's
>> not being tested to see if it is stable. It would have to be used
>> before that would happen. Basically, it is just one more package to
>> update and taking up hard drive space. It's not doing anything else.
>>
>> As for slots, if something needs it, portage would pull in the new
>> slot. That's what portage does. It just seems in this case it is
>> pulling in a new slot that nothing uses.
>>
> Have you considered that they might possibly be hundreds of packages that you
> have installed providing functionality that you never use, but are only there
> as a fixed dependencies of something that you do.
>
> Hell lets take it even further than that, i'm sure there are thousands of
> lines of code in most packages that you will never hit, so why dont we start
> "masking" them as well.
>
> I don't recall ever using grep --version, please remove (mask) that code from
> grep. We will obviously need someway to unmask those code masks so lets
> create a couple of files for portage. Hows....
>
> code.mask and code.unmask with a format of....
>
> package path/to/file line1 line2 line3 line4
>
>
>
> Or maybe we could just let users who don't want to install python-3 mask it
> _locally_. Once they need it portage is more than capable of telling them
> that.
>
>
>> Dale
>>
>> :-) :-)
Because in my opinion, portage is the first thing in line to keep a
system sane. Installing packages that are not needed means that portage
fails on that. So in your example, portage fails to do its due
diligence and it falls to the users to do it for portage. Yep, sounds
like a good idea.
If a package has something that I don't need, I can generally disable
that with the USE flags. That is why I picked Gentoo as my distro. I
can disable/remove things that I don't need. If Gentoo is going to
start putting a lot of unneeded stuff on my system, I may as well go
back to Mandriva and off the RPM cliff. I left Mandrake to get rid of
unneeded packages. Now Gentoo is doing the same just not nearly as
bad. This would be like a small bump in the huge hill that Mandriva has.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 56+ messages in thread
* [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-19 8:57 ` Ciaran McCreesh
2010-03-19 9:23 ` Dale
@ 2010-03-19 15:13 ` Nikos Chantziaras
2010-03-19 18:26 ` Alec Warner
1 sibling, 1 reply; 56+ messages in thread
From: Nikos Chantziaras @ 2010-03-19 15:13 UTC (permalink / raw
To: gentoo-dev
On 03/19/2010 10:57 AM, Ciaran McCreesh wrote:
> On Fri, 19 Mar 2010 03:54:28 -0500
> Dale<rdalek1967@gmail.com> wrote:
>> Ciaran McCreesh wrote:
>>> On Thu, 18 Mar 2010 23:17:17 +0100
>>> Ben de Groot<yngwin@gentoo.org> wrote:
>>>
>>>> Because it is extremely useless to the great majority of users.
>>>>
>>> Most packages in the tree are useless to the great majority of
>>> users.
>>
>> Which is why most users don't install everything. I have about 1000
>> packages installed here. The packages installed are either something
>> I use or a dependency of something I use. What exactly is this being
>> installed for again? If nothing depends on it, there is no need to
>> have it.
>
> It's being installed because it's a dependency of something you use.
>
> Replace Python with any other library and we wouldn't be having this
> discussion.
It's weird that we have this discussion, that's true. Why don't you
guys simply do what you did before when Qt3 was still in the tree? Qt3
applications depended on x11-libs/qt:3, Qt4 ones on x11-libs/qt:4
(before the Qt4 ebuild split).
It seems very obvious and straightforward that the same applies here.
And if a package offers both Python 2 and Python 3 compatibility, it
should depend on whatever the upstream of that package considers best.
Also, we had a "qt" and "qt4" USE flag before. Why not "python" and
"python3" flags? That's an additional way ebuilds can choose deps.
You guys always make easy decisions so complicated. :P
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 15:02 ` Dale
@ 2010-03-19 15:21 ` Doktor Notor
0 siblings, 0 replies; 56+ messages in thread
From: Doktor Notor @ 2010-03-19 15:21 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1699 bytes --]
On Fri, 19 Mar 2010 10:02:44 -0500
Dale <rdalek1967@gmail.com> wrote:
> Because in my opinion, portage is the first thing in line to keep a
> system sane. Installing packages that are not needed means that
> portage fails on that. So in your example, portage fails to do its
> due diligence and it falls to the users to do it for portage. Yep,
> sounds like a good idea.
>
No, portage does what the dependencies are telling it to do. I.e., if
you have unversioned dev-lang/python in DEPEND, or
>=dev-lang/python-2.4 or whatever similar then it installs
>dev-lang/python:3 - why? Because the ebuilds tell portage that it will
work like that. Another example: you have an ebuild that only works w/
gtk+-1* - you don't go to the ML asking for masking gtk+-2* but instead
go and fix the dependencies to properly reflect that. So, now you can go
and fix the dependencies treewide, or you can simply mask it *locally*
if you don't want it. You'd still need to mask it if you install
something that *really* works with both 2.x and 3.1 slots if you don't
want python-3. It's like with any other slotted stuff in the tree, but
for a reason unknown to me it's a huge issue all of a sudden because
wheeee, t3h noes, it's python.
And on that note - noone cares why people has lots of dev-libs/boost
slots installed and why's the darned thing slotted on every minor
version. So while talking about wrong dependencies, maybe the boost
maintainer could explain why do we need it slotted like this:
SLOT="$(get_version_component_range 1-2)" - simply because I'm tired of
depcleaning it all the time as nothing requires multiple slots of this
thing here.
Cheers,
DN
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-19 15:13 ` [gentoo-dev] " Nikos Chantziaras
@ 2010-03-19 18:26 ` Alec Warner
2010-03-20 12:42 ` Nikos Chantziaras
0 siblings, 1 reply; 56+ messages in thread
From: Alec Warner @ 2010-03-19 18:26 UTC (permalink / raw
To: gentoo-dev
On Fri, Mar 19, 2010 at 8:13 AM, Nikos Chantziaras <realnc@arcor.de> wrote:
> On 03/19/2010 10:57 AM, Ciaran McCreesh wrote:
>>
>> On Fri, 19 Mar 2010 03:54:28 -0500
>> Dale<rdalek1967@gmail.com> wrote:
>>>
>>> Ciaran McCreesh wrote:
>>>>
>>>> On Thu, 18 Mar 2010 23:17:17 +0100
>>>> Ben de Groot<yngwin@gentoo.org> wrote:
>>>>
>>>>> Because it is extremely useless to the great majority of users.
>>>>>
>>>> Most packages in the tree are useless to the great majority of
>>>> users.
>>>
>>> Which is why most users don't install everything. I have about 1000
>>> packages installed here. The packages installed are either something
>>> I use or a dependency of something I use. What exactly is this being
>>> installed for again? If nothing depends on it, there is no need to
>>> have it.
>>
>> It's being installed because it's a dependency of something you use.
>>
>> Replace Python with any other library and we wouldn't be having this
>> discussion.
>
> It's weird that we have this discussion, that's true. Why don't you guys
> simply do what you did before when Qt3 was still in the tree? Qt3
> applications depended on x11-libs/qt:3, Qt4 ones on x11-libs/qt:4 (before
> the Qt4 ebuild split).
Using your example, some applications would have had to exist that
could use either Qt3 or Qt4, so a greedy SLOT matcher would pull in
Qt4 (and to be equal to the python case, portage would have to build
two copies of all the binaries, one linked against qt3 and one linked
against qt4, because python.eclass does something similar, but I
digress.)
>
> It seems very obvious and straightforward that the same applies here. And if
> a package offers both Python 2 and Python 3 compatibility, it should depend
> on whatever the upstream of that package considers best.
When choosing dependencies you want to maximize flexibility (because
users like it for some reason). So we chose 'dev-lang/python' because
typically any ole' version of python will work. If we hardcoded
everything upstream 'recommended' (many upstreams don't make such
recommendations either, which puts us in an interesting situation) it
means when our users want to do something upstream does not
'recommend' they have to do a bunch of work like have a custom overlay
just so they can changed a DEPEND string that should not have been so
specific in the first place.
Amusingly this very thing happened to me at work; a bunch of scripts
depend on python but their dependencies are 'python2.4' and Ubuntu
Lucid has no python2.4 (it ships with 2.6). Now I get to rewrite all
the dependencies in all the debs to depend on 'python < 3' instead of
'python2.4.' Most of this work would have been unnecessary had the
dependencies just been a bit more flexible.
>
> Also, we had a "qt" and "qt4" USE flag before. Why not "python" and
> "python3" flags? That's an additional way ebuilds can choose deps.
>
> You guys always make easy decisions so complicated. :P
Masking a package is not complicated.
>
>
>
I just want to give props to Arfrever for getting Python3 into the
tree so quickly. Thanks for all your work on this.
-A
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
2010-03-19 8:52 ` Dale
2010-03-19 9:09 ` Zac Medico
@ 2010-03-19 22:28 ` Alistair Bush
2010-03-19 15:02 ` Dale
1 sibling, 1 reply; 56+ messages in thread
From: Alistair Bush @ 2010-03-19 22:28 UTC (permalink / raw
To: gentoo-dev
> Zac Medico wrote:
>
> I think what most people want is for portage not to pull in a package
> that nothing uses. I'm not a dev nor a programmer but I have yet to see
> any good reason for installing something that is not being used. It's
> not being tested to see if it is stable. It would have to be used
> before that would happen. Basically, it is just one more package to
> update and taking up hard drive space. It's not doing anything else.
>
> As for slots, if something needs it, portage would pull in the new
> slot. That's what portage does. It just seems in this case it is
> pulling in a new slot that nothing uses.
Have you considered that they might possibly be hundreds of packages that you
have installed providing functionality that you never use, but are only there
as a fixed dependencies of something that you do.
Hell lets take it even further than that, i'm sure there are thousands of
lines of code in most packages that you will never hit, so why dont we start
"masking" them as well.
I don't recall ever using grep --version, please remove (mask) that code from
grep. We will obviously need someway to unmask those code masks so lets
create a couple of files for portage. Hows....
code.mask and code.unmask with a format of....
package path/to/file line1 line2 line3 line4
Or maybe we could just let users who don't want to install python-3 mask it
_locally_. Once they need it portage is more than capable of telling them
that.
>
> Dale
>
> :-) :-)
^ permalink raw reply [flat|nested] 56+ messages in thread
* [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-19 10:13 ` Dale
2010-03-19 10:34 ` Arfrever Frehtes Taifersar Arahesis
@ 2010-03-20 0:51 ` Duncan
2010-03-20 9:56 ` Jean-Marc Hengen
2010-03-20 14:11 ` Arfrever Frehtes Taifersar Arahesis
2010-03-20 12:47 ` Peter Hjalmarsson
2 siblings, 2 replies; 56+ messages in thread
From: Duncan @ 2010-03-20 0:51 UTC (permalink / raw
To: gentoo-dev
Dale posted on Fri, 19 Mar 2010 05:13:48 -0500 as excerpted:
> Ciaran McCreesh wrote:
>> On Fri, 19 Mar 2010 04:23:31 -0500
>> Dale<rdalek1967@gmail.com> wrote:
>>
>>>> It's being installed because it's a dependency of something you use.
>>>>
>>>> Replace Python with any other library and we wouldn't be having this
>>>> discussion.
>>>>
>>> OK. Right now, as you type this, what package depends on python-3 and
>>> won't work with python-2? Anything at all? If it is nothing, then
>>> why install it?
>>>
>> And that's where you're making the mistake: you're treating Python as
>> being different from every other package.
>>
>> In every other case, you want things to be using the newest version of
>> a slotted package where possible. Why aren't you complaining that you
>> were forced to install gcc 4.3 and 4.1 when 3.4 worked just fine?
>>
>>
> Because, when I installed gcc 4.3, I could then unmerge the old gcc.
> That's why I didn't complain about that. With python, we still have to
> have the current version plus the new version which is not being used at
> all.
I had to pick somewhere to reply, and this seemed as good a place as any,
as it does give me a jumping off point...
It seems to me Ciaran is correct in one point, at least: python-3.x /is/
different than most such major updates (but then again, each such major
update tends to have its unique points). That's why this huge discussion.
It also seems to me that, due to the resolver and dependency specifier
technology on the one side, the practicalities of running one's system
with least complication (thus, most people /not/ wanting the normal update
as soon as available/stable, in this /special/ case) on another, political
correctness (the problem with just masking it in base and being done with
it) on a third, and the number of packages to update to specific
dependencies much like portage's, should that be chosen, on the fourth,
we're pretty much surrounded with unpleasant alternatives that /are/ going
to be something of an issue for /some/, no matter which is chosen.
Again, thus the huge discussion.
So what can be done besides continuing to spin wheels as we are? What's
the least painful, yet still practical, alternative, all factors
considered?
Here's one that I'll admit isn't perfect, but none are. Yet this one
seems the best way forward to me, given the alternatives.
First, let's step back a moment and remember a defining characteristic of
Gentoo, that we give the users both freedom and responsibility for their
own systems, and have never made excuses for that fact.
Second, let's remember that we /do/ have the news feature now, so at least
there's a way to communicate a warning about such things. After that,
it's generally up to the user, as, ultimately, it seems likely to be
here. But we /can/ warn them using a news item, first, and given that,
we /should/.
So let's just recognize that it's not a perfect situation, create a news
item saying that python-3 will soon (give a date) be unmasked, and suggest
that users not needing it may wish to package.mask it themselves, with a
link to documentation with specific instructions and a bit more detail on
why they might wish to mask it and under what circumstances they might not.
I'd suggest an unmasking date 30 days after the release of the news item.
Yes, that's not going to get everyone before it happens, but the news item
will be there after that for those what want to read it, and if people
aren't doing that --ask or --pretend before they go doing their updates,
especially if they're going a month or more between updates, well...
Worst-case they get a py3k sitting there basically unused, and a few extra
builds for some period, until such time as py3k is considered stable and
popular enough to be the system default.
This to me seems the best of painful choices. Down side, it's forcing
every user to fiddle with their masks or decide not to. Three up sides:
(1) At least with the news item they get some warning and can put the mask
in place ahead of time. (2) We're simply relying on one of the best
features of Gentoo, the one giving the user both the freedom and
responsibility to manage his own system. (3) It gives us a way to
actually move forward, /now/, using our current tools, without continuing
the debate /forever/.
Can anyone shoot holes in this any worse than the other proposals? Let's
give our users the warning they need, and treat them like the adults
Gentoo has always claimed to respect them as. What they do with it after
that is up to them.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-20 0:51 ` [gentoo-dev] " Duncan
@ 2010-03-20 9:56 ` Jean-Marc Hengen
2010-03-20 12:53 ` Zac Medico
2010-03-20 14:11 ` Arfrever Frehtes Taifersar Arahesis
1 sibling, 1 reply; 56+ messages in thread
From: Jean-Marc Hengen @ 2010-03-20 9:56 UTC (permalink / raw
To: gentoo-dev
Duncan wrote:
> ...
++ - I can only add the saying "With freedom comes great responsibility.".
Maybe the python herd could maintain a little status page which covers
informations like:
- Estimated python 3 compatibility in respect to the packages in the
main tree.
- Recommendations if installing makes sense or not (e.g. package X gains
feature Y with python 3).
- Recommendations if setting python 3 as system engine makes already
sense or not.
This way gentoo can give its users the tools needed to make a good
decision if python 3 makes sense on his system. For me as a user I need
more time to study if an action makes sense than implementing said
action (e.g. locally masking python 3 - It would not be the first time
masking a package). If one isn't into python, it gets even more complicated.
J_M
^ permalink raw reply [flat|nested] 56+ messages in thread
* [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-19 18:26 ` Alec Warner
@ 2010-03-20 12:42 ` Nikos Chantziaras
0 siblings, 0 replies; 56+ messages in thread
From: Nikos Chantziaras @ 2010-03-20 12:42 UTC (permalink / raw
To: gentoo-dev
On 03/19/2010 08:26 PM, Alec Warner wrote:
> On Fri, Mar 19, 2010 at 8:13 AM, Nikos Chantziaras<realnc@arcor.de> wrote:
>> You guys always make easy decisions so complicated. :P
>
> Masking a package is not complicated.
Yes, that's why all the heated debates about Python 3 exist, because
it's all so simple.
It *is* simple, but you don't want it to be.
^ permalink raw reply [flat|nested] 56+ messages in thread
* [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-19 10:13 ` Dale
2010-03-19 10:34 ` Arfrever Frehtes Taifersar Arahesis
2010-03-20 0:51 ` [gentoo-dev] " Duncan
@ 2010-03-20 12:47 ` Peter Hjalmarsson
2 siblings, 0 replies; 56+ messages in thread
From: Peter Hjalmarsson @ 2010-03-20 12:47 UTC (permalink / raw
To: gentoo-dev
fre 2010-03-19 klockan 05:13 -0500 skrev Dale:
> Because, when I installed gcc 4.3, I could then unmerge the old gcc.
> That's why I didn't complain about that. With python, we still have to
> have the current version plus the new version which is not being used at
> all.
>
That was if you did not use qemu that did *not* compile or run with a
gcc never then gcc-3 for a couple of years...
Also search for "gcc-porting" in b.g.o and guess what: there are many
packages that fits this description for gcc, qemu was just a special
case since for it it actually took YEARS before upstream released a
version that worked with gcc-4, most other packages is often easier to
patch (since it is mostly compile-time brokenness related to headers or
other "small" fixes) and our awesome toolchain guys helps fixing it up
before it hits ~arch.
^ permalink raw reply [flat|nested] 56+ messages in thread
* [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-18 19:20 [gentoo-dev] Packages pulling in python-3*, also they dont require it Thomas Sachau
` (2 preceding siblings ...)
2010-03-18 19:33 ` Arfrever Frehtes Taifersar Arahesis
@ 2010-03-20 12:51 ` Peter Hjalmarsson
2010-03-20 14:07 ` Arfrever Frehtes Taifersar Arahesis
3 siblings, 1 reply; 56+ messages in thread
From: Peter Hjalmarsson @ 2010-03-20 12:51 UTC (permalink / raw
To: gentoo-dev
I have a question related to this:
If I have package X which supports python2 and python 3, and I install
it without python3 installed it will only install python2-files
(i.e. /usr/lib/python2.x/*), right?
What happens if I later install packages Y that is only python3, and
relies on the python3 parts of package X? Can this happen and how will
the PM handle that (reemerge package X installing the python3 parts or
fail to compile package Y due to missing python module)?
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-20 9:56 ` Jean-Marc Hengen
@ 2010-03-20 12:53 ` Zac Medico
0 siblings, 0 replies; 56+ messages in thread
From: Zac Medico @ 2010-03-20 12:53 UTC (permalink / raw
To: gentoo-dev
On 03/20/2010 02:56 AM, Jean-Marc Hengen wrote:
> Duncan wrote:
>> ...
>
> ++ - I can only add the saying "With freedom comes great responsibility.".
>
> Maybe the python herd could maintain a little status page which covers
> informations like:
> - Estimated python 3 compatibility in respect to the packages in the
> main tree.
That would be easy enough to generate from dependencies. Surely
there are some dependencies that need to be updated, but that
shouldn't be much work. For example, I've already updated the
cracklib and libxml2 deps to indicate lack of python3 support.
> - Recommendations if installing makes sense or not (e.g. package X gains
> feature Y with python 3).
> - Recommendations if setting python 3 as system engine makes already
> sense or not.
> This way gentoo can give its users the tools needed to make a good
> decision if python 3 makes sense on his system. For me as a user I need
> more time to study if an action makes sense than implementing said
> action (e.g. locally masking python 3 - It would not be the first time
> masking a package). If one isn't into python, it gets even more complicated.
I would advise people to go ahead and install it as long as they can
spare a little disk space and cpu time. Anybody who is tight on
those resources should feel free to mask it (and the dependency
resolver will certainly notify you if this is not feasible in your
case). Honestly, I don't see a need for lots of data analysis here,
but maybe some people just like that kind of thing.
--
Thanks,
Zac
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-20 12:51 ` [gentoo-dev] " Peter Hjalmarsson
@ 2010-03-20 14:07 ` Arfrever Frehtes Taifersar Arahesis
0 siblings, 0 replies; 56+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-03-20 14:07 UTC (permalink / raw
To: Gentoo Development
[-- Attachment #1: Type: Text/Plain, Size: 689 bytes --]
2010-03-20 13:51:37 Peter Hjalmarsson napisał(a):
> I have a question related to this:
>
> If I have package X which supports python2 and python 3, and I install
> it without python3 installed it will only install python2-files
> (i.e. /usr/lib/python2.x/*), right?
> What happens if I later install packages Y that is only python3, and
> relies on the python3 parts of package X? Can this happen and how will
> the PM handle that (reemerge package X installing the python3 parts or
> fail to compile package Y due to missing python module)?
As the news item says, you should run python-updater after installation
of Python 3.1.
--
Arfrever Frehtes Taifersar Arahesis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-20 0:51 ` [gentoo-dev] " Duncan
2010-03-20 9:56 ` Jean-Marc Hengen
@ 2010-03-20 14:11 ` Arfrever Frehtes Taifersar Arahesis
2010-03-22 21:12 ` Jacob Godserv
1 sibling, 1 reply; 56+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-03-20 14:11 UTC (permalink / raw
To: Gentoo Development
[-- Attachment #1: Type: Text/Plain, Size: 622 bytes --]
2010-03-20 01:51:44 Duncan napisał(a):
> So let's just recognize that it's not a perfect situation, create a news
> item saying that python-3 will soon (give a date) be unmasked, and suggest
> that users not needing it may wish to package.mask it themselves, with a
> link to documentation with specific instructions and a bit more detail on
> why they might wish to mask it and under what circumstances they might not.
>
> I'd suggest an unmasking date 30 days after the release of the news item.
Python 3 is not masked. The discussion is about stabilization.
--
Arfrever Frehtes Taifersar Arahesis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-20 14:11 ` Arfrever Frehtes Taifersar Arahesis
@ 2010-03-22 21:12 ` Jacob Godserv
2010-03-23 15:37 ` Arfrever Frehtes Taifersar Arahesis
0 siblings, 1 reply; 56+ messages in thread
From: Jacob Godserv @ 2010-03-22 21:12 UTC (permalink / raw
To: gentoo-dev
On Sat, Mar 20, 2010 at 10:11, Arfrever Frehtes Taifersar Arahesis
<Arfrever@gentoo.org> wrote:
> 2010-03-20 01:51:44 Duncan napisał(a):
>> So let's just recognize that it's not a perfect situation, create a news
>> item saying that python-3 will soon (give a date) be unmasked, and suggest
>> that users not needing it may wish to package.mask it themselves, with a
>> link to documentation with specific instructions and a bit more detail on
>> why they might wish to mask it and under what circumstances they might not.
>>
>> I'd suggest an unmasking date 30 days after the release of the news item.
>
> Python 3 is not masked. The discussion is about stabilization.
Duncan's comments still apply, though, right? What's against writing a
news item about stabilizing Python?
--
Jacob
"For then there will be great distress, unequaled
from the beginning of the world until now — and never
to be equaled again. If those days had not been cut
short, no one would survive, but for the sake of the
elect those days will be shortened."
Are you ready?
^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-22 21:12 ` Jacob Godserv
@ 2010-03-23 15:37 ` Arfrever Frehtes Taifersar Arahesis
2010-03-23 16:15 ` Duncan
0 siblings, 1 reply; 56+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-03-23 15:37 UTC (permalink / raw
To: Gentoo Development
[-- Attachment #1: Type: Text/Plain, Size: 1042 bytes --]
2010-03-22 22:12:54 Jacob Godserv napisał(a):
> On Sat, Mar 20, 2010 at 10:11, Arfrever Frehtes Taifersar Arahesis
> <Arfrever@gentoo.org> wrote:
> > 2010-03-20 01:51:44 Duncan napisał(a):
> >> So let's just recognize that it's not a perfect situation, create a news
> >> item saying that python-3 will soon (give a date) be unmasked, and suggest
> >> that users not needing it may wish to package.mask it themselves, with a
> >> link to documentation with specific instructions and a bit more detail on
> >> why they might wish to mask it and under what circumstances they might not.
> >>
> >> I'd suggest an unmasking date 30 days after the release of the news item.
> >
> > Python 3 is not masked. The discussion is about stabilization.
>
> Duncan's comments still apply, though, right? What's against writing a
> news item about stabilizing Python?
There is already a thread about news item:
http://archives.gentoo.org/gentoo-dev/msg_814e67764c17f88bde94f22e9a392e4f.xml
--
Arfrever Frehtes Taifersar Arahesis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 56+ messages in thread
* [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it
2010-03-23 15:37 ` Arfrever Frehtes Taifersar Arahesis
@ 2010-03-23 16:15 ` Duncan
0 siblings, 0 replies; 56+ messages in thread
From: Duncan @ 2010-03-23 16:15 UTC (permalink / raw
To: gentoo-dev
Arfrever Frehtes Taifersar Arahesis posted on Tue, 23 Mar 2010 16:37:34
+0100 as excerpted:
> 2010-03-22 22:12:54 Jacob Godserv napisał(a):
>> On Sat, Mar 20, 2010 at 10:11, Arfrever Frehtes Taifersar Arahesis
>> <Arfrever@gentoo.org> wrote:
>> > 2010-03-20 01:51:44 Duncan napisał(a):
>> >> So let's just recognize that it's not a perfect situation, create a
>> >> news item saying that python-3 will soon (give a date) be unmasked,
>> >> and suggest that users not needing it may wish to package.mask it
>> >> themselves, with a link to documentation with specific instructions
>> >> and a bit more detail on why they might wish to mask it and under
>> >> what circumstances they might not.
>> >>
>> >> I'd suggest an unmasking date 30 days after the release of the news
>> >> item.
>> >
>> > Python 3 is not masked. The discussion is about stabilization.
>>
>> Duncan's comments still apply, though, right? What's against writing a
>> news item about stabilizing Python?
>
> There is already a thread about news item:
> http://archives.gentoo.org/gentoo-dev/
msg_814e67764c17f88bde94f22e9a392e4f.xml
(link wrapped)
But that doesn't mention that users may wish to package.mask it, to avoid
having it on their systems at all. That's what /I/ was suggesting in
/this/ thread, that a news item (presumably that one) should mention the
package.mask option.
That really does seem to be about the best compromise, given the situation
as described so well in this thread.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 56+ messages in thread
end of thread, other threads:[~2010-03-23 16:16 UTC | newest]
Thread overview: 56+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-18 19:20 [gentoo-dev] Packages pulling in python-3*, also they dont require it Thomas Sachau
2010-03-18 19:24 ` Fabian Groffen
2010-03-18 20:27 ` Ben de Groot
2010-03-18 20:53 ` Doktor Notor
2010-03-18 22:09 ` Sebastian Pipping
2010-03-18 22:17 ` Ben de Groot
2010-03-19 8:12 ` Ciaran McCreesh
2010-03-19 8:54 ` Dale
2010-03-19 8:57 ` Ciaran McCreesh
2010-03-19 9:23 ` Dale
2010-03-19 9:30 ` Ciaran McCreesh
2010-03-19 10:13 ` Dale
2010-03-19 10:34 ` Arfrever Frehtes Taifersar Arahesis
2010-03-19 14:54 ` Dale
2010-03-20 0:51 ` [gentoo-dev] " Duncan
2010-03-20 9:56 ` Jean-Marc Hengen
2010-03-20 12:53 ` Zac Medico
2010-03-20 14:11 ` Arfrever Frehtes Taifersar Arahesis
2010-03-22 21:12 ` Jacob Godserv
2010-03-23 15:37 ` Arfrever Frehtes Taifersar Arahesis
2010-03-23 16:15 ` Duncan
2010-03-20 12:47 ` Peter Hjalmarsson
2010-03-19 9:35 ` [gentoo-dev] " Arfrever Frehtes Taifersar Arahesis
2010-03-19 9:39 ` Petteri Räty
2010-03-19 9:55 ` Arfrever Frehtes Taifersar Arahesis
2010-03-19 9:56 ` Brian Harring
2010-03-19 10:01 ` Ciaran McCreesh
2010-03-19 10:27 ` Brian Harring
2010-03-19 9:40 ` Brian Harring
2010-03-19 15:13 ` [gentoo-dev] " Nikos Chantziaras
2010-03-19 18:26 ` Alec Warner
2010-03-20 12:42 ` Nikos Chantziaras
2010-03-19 5:35 ` [gentoo-dev] " Alec Warner
2010-03-19 7:15 ` Dale
2010-03-19 7:58 ` Zac Medico
2010-03-19 8:52 ` Dale
2010-03-19 9:09 ` Zac Medico
2010-03-19 22:28 ` Alistair Bush
2010-03-19 15:02 ` Dale
2010-03-19 15:21 ` Doktor Notor
2010-03-18 19:28 ` Ciaran McCreesh
2010-03-18 19:43 ` Thomas Sachau
2010-03-18 20:02 ` Petteri Räty
2010-03-18 20:10 ` Ciaran McCreesh
2010-03-18 20:57 ` Petteri Räty
2010-03-18 20:21 ` Thomas Sachau
2010-03-18 21:00 ` Petteri Räty
2010-03-18 21:06 ` Ciaran McCreesh
2010-03-18 21:45 ` Thomas Sachau
2010-03-18 19:33 ` Arfrever Frehtes Taifersar Arahesis
2010-03-18 19:47 ` Thomas Sachau
2010-03-18 19:55 ` Arfrever Frehtes Taifersar Arahesis
2010-03-18 20:13 ` Thomas Sachau
2010-03-18 21:40 ` Brian Harring
2010-03-20 12:51 ` [gentoo-dev] " Peter Hjalmarsson
2010-03-20 14:07 ` Arfrever Frehtes Taifersar Arahesis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox