From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-dev+bounces-41114-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1OL2wo-0004MG-E5
	for garchives@archives.gentoo.org; Sat, 05 Jun 2010 23:38:38 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 299EEE0ABD;
	Sat,  5 Jun 2010 23:38:34 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 4F3CFE0916
	for <gentoo-dev@lists.gentoo.org>; Sat,  5 Jun 2010 23:38:16 +0000 (UTC)
Received: from gentoo.org (cp1107341-a.dbsch1.nb.home.nl [84.31.115.1])
	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTP id 31F881B401E
	for <gentoo-dev@lists.gentoo.org>; Sat,  5 Jun 2010 23:38:15 +0000 (UTC)
Date: Sun, 6 Jun 2010 01:38:06 +0200
From: Harald van =?utf-8?Q?D=C4=B3k?= <truedfx@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Actions of python team, especially Arfrever wrt
 python eclass and python-3*
Message-ID: <20100605233806.GA17168@boostbox>
References: <4BFE82C3.2050400@gentoo.org>
 <201006051644.20150.Arfrever@gentoo.org>
 <4C0A720C.20300@gentoo.org>
 <20100605183154.GA19296@boostbox>
 <4C0AD7EC.2010700@gentoo.org>
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
X-BeenThere: gentoo-dev@lists.gentoo.org
Reply-to: gentoo-dev@lists.gentoo.org
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <4C0AD7EC.2010700@gentoo.org>
User-Agent: Mutt/1.5.20 (2009-06-14)
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: 43b89d5f-e56f-445d-9a26-7d2e35f7d2aa
X-Archives-Hash: 87572f4fb9ca2c2c577de39eee050a2b

On Sun, Jun 06, 2010 at 01:03:48AM +0200, Thomas Sachau wrote:
> Am 05.06.2010 20:31, schrieb Harald van D=C4=B3k:
> > On Sat, Jun 05, 2010 at 05:49:08PM +0200, Thomas Sachau wrote:
> >> If any package does inherit python or distutils eclass, then those e=
classes do pull in
> >> "dev-lang/python", which is unversioned, so it will always pull in t=
he latest version, in this case
> >> python-3*. You could change this, so it allows any major installed s=
lot to satisfy the python
> >> dependency.
> >=20
> > A dependency on dev-lang/python *is* satisfied by any slot, any versi=
on. You've
> > been told so already, if I recall correctly.
>=20
> Every slot and every version *should* satisfy a "dev-lang/python" depen=
dency, but currently such
> unspecified version dependency does automaticly pull in the latest vers=
ion/slot, which in case of
> python does mean python-3*, even when you have e.g. python:2.6 installe=
d.

Fine, I'll be as explicit as possible: not quite. I have a Python 3-free =
system. I created
a dummy ebuild that does nothing but pull in unversioned python. Let's
see how it behaves.

$ emerge -pv python

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  NS   ] dev-lang/python-3.1.2-r3 [2.6.5-r2] USE=3D"gdbm ipv6 ncur=
ses readline sqlite ssl threads tk (wide-unicode) xml -build -doc -exampl=
es -wininst" ELIBC=3D"(-uclibc)" 9,558 kB

$ cat test-2.0.ebuild=20
KEYWORDS=3D"~amd64"
SLOT=3D"0"
DEPEND=3D"dev-lang/python"

$ emerge -pv test

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] test/test-2.0  0 kB [1]

Total: 1 package (1 new), Size of downloads: 0 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /etc/portage/overlay

Note how python 3 is *not* pulled in, despite an unversioned dependency o=
n dev-lang/python.
You only get that if you tell portage to try and update dependencies as
well, and yes, if you do that, it's only fair that it attempts to update =
python.