From: Brian Harring <ferringb@gmail.com>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it
Date: Fri, 19 Mar 2010 03:27:42 -0700 [thread overview]
Message-ID: <20100319102742.GG28451@hrair> (raw)
In-Reply-To: <20100319100105.2d8fa848@snowcone>
[-- 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 --]
next prev parent reply other threads:[~2010-03-19 10:27 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100319102742.GG28451@hrair \
--to=ferringb@gmail.com \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox