Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Dale

Alec Warner wrote:

On Thu, Mar 18, 2010 at 1:27 PM, Ben de Grootyng...@gentoo.org  wrote:
   

On 18 March 2010 20:24, Fabian Groffengrob...@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

:-)  :-)



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Zac Medico
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



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Ciaran McCreesh
On Thu, 18 Mar 2010 23:17:17 +0100
Ben de Groot yng...@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


signature.asc
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Dale

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

:-)  :-)



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Ciaran McCreesh
On Fri, 19 Mar 2010 03:54:28 -0500
Dale rdalek1...@gmail.com wrote:
 Ciaran McCreesh wrote:
  On Thu, 18 Mar 2010 23:17:17 +0100
  Ben de Grootyng...@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


signature.asc
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Dale

Ciaran McCreesh wrote:

On Fri, 19 Mar 2010 03:54:28 -0500
Dalerdalek1...@gmail.com  wrote:
   

Ciaran McCreesh wrote:
 

On Thu, 18 Mar 2010 23:17:17 +0100
Ben de Grootyng...@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

:-)  :-)



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Alistair Bush
 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
 
 :-)  :-)



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-19 10:23:31 Dale napisał(a):
 Ciaran McCreesh wrote:
  On Fri, 19 Mar 2010 03:54:28 -0500
  Dalerdalek1...@gmail.com  wrote:
 
  Ciaran McCreesh wrote:
   
  On Thu, 18 Mar 2010 23:17:17 +0100
  Ben de Grootyng...@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


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Petteri Räty
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



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Brian Harring
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).


pgpfuTlCbt1ph.pgp
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Arfrever Frehtes Taifersar Arahesis
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


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Brian Harring
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


pgpSGu5ROjiqN.pgp
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Ciaran McCreesh
On Fri, 19 Mar 2010 02:56:08 -0700
Brian Harring ferri...@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


signature.asc
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Zac Medico
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



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Dale

Ciaran McCreesh wrote:

On Fri, 19 Mar 2010 04:23:31 -0500
Dalerdalek1...@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

:-)  :-)



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Brian Harring
On Fri, Mar 19, 2010 at 10:01:05AM +, Ciaran McCreesh wrote:
 On Fri, 19 Mar 2010 02:56:08 -0700
 Brian Harring ferri...@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


pgpxylTOhdfiC.pgp
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-19 11:13:48 Dale napisał(a):
 Ciaran McCreesh wrote:
  On Fri, 19 Mar 2010 04:23:31 -0500
  Dalerdalek1...@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


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Dale

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
Dalerdalek1...@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

:-)  :-)



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Dale

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

:-)  :-)



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Doktor Notor
On Fri, 19 Mar 2010 10:02:44 -0500
Dale rdalek1...@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
wh, 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


signature.asc
Description: PGP signature


[gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Thomas Sachau
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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Fabian Groffen
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



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Ciaran McCreesh
On Thu, 18 Mar 2010 20:20:02 +0100
Thomas Sachau to...@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


signature.asc
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Arfrever Frehtes Taifersar Arahesis
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


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Thomas Sachau
On 03/18/2010 08:28 PM, Ciaran McCreesh wrote:
 On Thu, 18 Mar 2010 20:20:02 +0100
 Thomas Sachau to...@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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Thomas Sachau
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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Arfrever Frehtes Taifersar Arahesis
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


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Petteri Räty
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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Ciaran McCreesh
On Thu, 18 Mar 2010 22:02:38 +0200
Petteri Räty betelge...@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


signature.asc
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Thomas Sachau
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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Thomas Sachau
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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Ben de Groot
On 18 March 2010 20:24, Fabian Groffen grob...@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



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Doktor Notor
On Thu, 18 Mar 2010 21:27:50 +0100
Ben de Groot yng...@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


signature.asc
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Petteri Räty
On 03/18/2010 10:10 PM, Ciaran McCreesh wrote:
 On Thu, 18 Mar 2010 22:02:38 +0200
 Petteri Räty betelge...@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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Petteri Räty
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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Ciaran McCreesh
On Thu, 18 Mar 2010 23:00:56 +0200
Petteri Räty betelge...@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


signature.asc
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Brian Harring
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


pgptUvkVYB53o.pgp
Description: PGP signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Thomas Sachau
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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Sebastian Pipping
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



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Ben de Groot
On 18 March 2010 21:53, Doktor Notor notordok...@gmail.com wrote:
 On Thu, 18 Mar 2010 21:27:50 +0100
 Ben de Groot yng...@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



Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Alec Warner
On Thu, Mar 18, 2010 at 1:27 PM, Ben de Groot yng...@gentoo.org wrote:
 On 18 March 2010 20:24, Fabian Groffen grob...@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