From: "Nikolaj Sjujskij" <sterkrig@myopera.com>
To: "Michał Górny" <mgorny@gentoo.org>
Cc: gentoo-python@lists.gentoo.org, python@gentoo.org
Subject: Re: [gentoo-python] [PATCH python-r1 2/2] Introduce PYTHON_COMPAT_OVERRIDE to make testing easier.
Date: Thu, 21 Mar 2013 16:12:10 +0400 [thread overview]
Message-ID: <op.wuapikpwh7emz2@verkdatorn.npdb> (raw)
In-Reply-To: <20130321125523.6c820d63@pomiocik>
Den 2013-03-21 15:55:23 skrev Michał Górny <mgorny@gentoo.org>:
> On Thu, 21 Mar 2013 15:30:35 +0400
> "Nikolaj Sjujskij" <sterkrig@myopera.com> wrote:
>
>> Den 2013-03-21 14:27:42 skrev Michał Górny <mgorny@gentoo.org>:
>>
>> > On Thu, 21 Mar 2013 10:59:49 +0400
>> > "Nikolaj Sjujskij" <sterkrig@myopera.com> wrote:
>> >
>> >> Den 2013-03-20 23:03:43 skrev Michał Górny <mgorny@gentoo.org>:
>> >>
>> >> > On Wed, 20 Mar 2013 15:10:18 +0400
>> >> > "Nikolaj Sjujskij" <sterkrig@myopera.com> wrote:
>> >> >
>> >> >> Den 2013-03-18 02:33:50 skrev Michał Górny <mgorny@gentoo.org>:
>> >> >>
>> >> >> > The PYTHON_COMPAT_OVERRIDE can be set in the environment to
>> enforce
>> >> >> > a different set of Python implementations than one being
>> >> intersection
>> >> >> > of PYTHON_COMPAT and PYTHON_TARGETS.
>> >> >> >
>> >> >> > Due to technical limitations, the variable influences only the
>> list
>> >> >> > of implementations actually used. USE flags, dependencies and
>> other
>> >> >> > metadata variables are not modified.
>> >> >> Push it to tree, please, I'd like to test it :)
>> >> >
>> >> > Pushed :).
>> >> Yup, works fine: https://bugs.gentoo.org/show_bug.cgi?id=462566
>> >> One minor thing. I have PYTHON_TARGETS="python2_7 python3_3" in
>> >> make.conf,
>> >> pylint ebuild has PYTHON_COMPAT=( python2_{5,6,7} python{3_1,3_2} ).
>> I
>> >> expected `PYTHON_COMPAT_OVERRIDE="python3_3" emerge -1 pylint` to
>> >> install
>> >> pylint for both 2.7 and 3.3. Of course, it's "OVERRIDE", not
>> "UPDATE",
>> >> but
>> >> still.
>> >> A minor thing, really, and I won't insist on changing this
>> behaviour.
>> >> Thanks in any case :)
>> >
>> > I've decided to go this way since you can't change the IUSE.
>> Therefore,
>> > you can't really control the enabled implementations via USE flags. If
>> > it worked like you suggested, some of the implementations would
>> respect
>> > USE flags and some other wouldn't -- that would be confusing.
>> Agreed. But what about something like this:
>>
>>
>> --- /usr/portage/eclass/python-r1.eclass 2013-03-20 23:31:15.000000000
>> +0400
>> +++ python-r1.eclass 2013-03-21 15:17:58.000000000 +0400
>> @@ -604,11 +604,11 @@
>> ewarn
>> ewarn "Dependencies won't be satisfied, and PYTHON_TARGETS will be
>> ignored."
>> _PYTHON_COMPAT_OVERRIDE_WARNED=1
>> fi
>>
>> - MULTIBUILD_VARIANTS=( ${PYTHON_COMPAT_OVERRIDE} )
>> + MULTIBUILD_VARIANTS=( ${PYTHON_COMPAT_OVERRIDE} ${PYTHON_TARGETS} )
>> return
>> fi
>>
>> _python_validate_useflags
>> _python_check_USE_PYTHON
>>
>>
>> This way eclass would use PYTHON_TARGETS, but equally "disrespect" all
>> the
>> implementations regarding USE-flags etc, wouldn't it? :)
>> (Probably we'd have to deal with duplicates in that array, but that's
>> only
>> an idea).
>
> Think of PYTHON_COMPAT_OVERRIDE='python2_7 python3_3'. Should 2_7 be
> enabled if it's both in override and real _COMPAT, and disabled via USE
> flag?
It should be enabled. To be honest, I fail to see your point: in case of
PYTHON_COMPAT_OVERRIDE='python2_7 python3_3' I see no difference in
current code and my proposal: either way python2_7 would be enabled
regardless of USE-flag settings, wouldn't it?
On the other hand, let's consider testing something like PyQt4 with, say,
Python 3.4, on the system with PYTHON_TARGETS="python2_7 python3_3". In
"my case" with PYTHON_COMPAT_OVERRIDE="python3_4" module would be built
three times, which isn't that good. Dealing in eclass with
PYTHON_COMPAT_OVERRIDE="-python2_7 -python3_3 python3_4" could be tricky,
so maybe the current situation is the most convenient.
prev parent reply other threads:[~2013-03-21 12:12 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-17 22:33 [gentoo-python] [PATCH python-r1 2/2] Introduce PYTHON_COMPAT_OVERRIDE to make testing easier Michał Górny
2013-03-17 23:37 ` [gentoo-python] " Mike Gilbert
2013-03-20 11:10 ` [gentoo-python] " Nikolaj Sjujskij
2013-03-20 19:03 ` Michał Górny
2013-03-21 6:59 ` Nikolaj Sjujskij
2013-03-21 10:27 ` Michał Górny
2013-03-21 11:30 ` Nikolaj Sjujskij
2013-03-21 11:55 ` Michał Górny
2013-03-21 12:12 ` Nikolaj Sjujskij [this message]
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=op.wuapikpwh7emz2@verkdatorn.npdb \
--to=sterkrig@myopera.com \
--cc=gentoo-python@lists.gentoo.org \
--cc=mgorny@gentoo.org \
--cc=python@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