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:27 PM
Ben de Groot
 
Default Packages pulling in python-3*, also they dont require it

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

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
 
Old 03-19-2010, 04:35 AM
Alec Warner
 
Default Packages pulling in python-3*, also they dont require it

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

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

:-) :-)
 
Old 03-19-2010, 06:58 AM
Zac Medico
 
Default Packages pulling in python-3*, also they dont require it

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

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

:-) :-)
 
Old 03-19-2010, 08:09 AM
Zac Medico
 
Default Packages pulling in python-3*, also they dont require it

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

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

:-) :-)
 
Old 03-19-2010, 05:26 PM
Alec Warner
 
Default Packages pulling in python-3*, also they dont require it

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
 
Old 03-19-2010, 09:28 PM
Alistair Bush
 
Default Packages pulling in python-3*, also they dont require it

> 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
>
> :-) :-)
 

Thread Tools




All times are GMT. The time now is 09:34 PM.

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