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

» Linux Archive

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


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 03-18-2010, 07:21 PM
Thomas Sachau
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-18-2010, 07:53 PM
Doktor Notor
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-18-2010, 07:57 PM
Petteri Räty
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-18-2010, 08:00 PM
Petteri Räty
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-18-2010, 08:06 PM
Ciaran McCreesh
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-18-2010, 08:40 PM
Brian Harring
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-18-2010, 08:45 PM
Thomas Sachau
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-18-2010, 09:09 PM
Sebastian Pipping
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-19-2010, 07:12 AM
Ciaran McCreesh
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-19-2010, 07:54 AM
Dale
 
Default Packages pulling in python-3*, also they dont require it

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

:-) :-)
 

Thread Tools




All times are GMT. The time now is 08:17 PM.

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