public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Alec Warner <antarus@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Locale check in python_pkg_setup()
Date: Sat, 31 Jul 2010 12:49:50 -0700	[thread overview]
Message-ID: <AANLkTi=VT25DP1JsC7mnqN6csVZ_9DZUrFLAV9o=sbJc@mail.gmail.com> (raw)
In-Reply-To: <201007311645.49028.Arfrever@gentoo.org>

On Sat, Jul 31, 2010 at 7:44 AM, Arfrever Frehtes Taifersar Arahesis
<Arfrever@gentoo.org> wrote:
> 2010-07-30 04:36:22 Brian Harring napisał(a):
>> On Fri, Jul 30, 2010 at 01:16:42AM +0200, Arfrever Frehtes Taifersar Arahesis wrote:
>> > --- python.eclass
>> > +++ python.eclass
>> > @@ -355,6 +355,8 @@
>> >     # Check if phase is pkg_setup().
>> >     [[ "${EBUILD_PHASE}" != "setup" ]] && die "${FUNCNAME}() can be used only in pkg_setup() phase"
>> >
>> > +   local locale
>> > +
>> >     if [[ "$#" -ne 0 ]]; then
>> >             die "${FUNCNAME}() does not accept arguments"
>> >     fi
>> > @@ -407,6 +409,16 @@
>> >             unset -f python_pkg_setup_check_USE_flags
>> >     fi
>> >
>> > +   locale="$(python -c 'import os; print(os.environ.get("LC_ALL", os.environ.get("LC_CTYPE", os.environ.get("LANG", "POSIX"))))')"
>>
>> You're using python to get the exported env.  Don't.  Use bash (you're
>> invoking python from freaking bash after all)...
>
> Given variable can be set, but not exported.

If the variable is set but not exported then it is local to the shell
env.  When bash goes to exec() python the local shell variables are
not in the env; so os.environ() will not contain them.

antarus@kyoto ~ $ foo=BAR
antarus@kyoto ~ $ echo $foo
BAR
antarus@kyoto ~ $ python -c 'import os; print os.environ.get("foo")'
None
antarus@kyoto ~ $ export foo
antarus@kyoto ~ $ python -c 'import os; print os.environ.get("foo")'
BAR

so how is this any different than:

[[ -n $LC_TYPE ]] && locale=$LC_TYPE
[[ -n $LC_ALL ]] && locale=$LC_ALL
locale=${locale:-POSIX}

if you want to keep it short; or the longer version with more ifs and
less shell magic.  Normally I'm not a big performance man myself; but
this is in an eclass used by lots of packages; not just one ebuild.

>
>> bug 328047 is induced by a patch we add (it's not in upstream python).
>
> This patch comes from upstream.
>
> --
> Arfrever Frehtes Taifersar Arahesis
>



  reply	other threads:[~2010-07-31 19:50 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-29 23:16 [gentoo-dev] Locale check in python_pkg_setup() Arfrever Frehtes Taifersar Arahesis
2010-07-29 23:20 ` "Paweł Hajdan, Jr."
2010-07-30  2:29   ` Arfrever Frehtes Taifersar Arahesis
2010-07-30  3:05     ` "Paweł Hajdan, Jr."
2010-07-30  0:13 ` [gentoo-dev] " Jonathan Callen
2010-07-30  2:32   ` Arfrever Frehtes Taifersar Arahesis
2010-07-30  2:36 ` [gentoo-dev] " Brian Harring
2010-07-31 14:44   ` Arfrever Frehtes Taifersar Arahesis
2010-07-31 19:49     ` Alec Warner [this message]
2010-07-31 20:10       ` Arfrever Frehtes Taifersar Arahesis
2010-07-31 20:25         ` Petteri Räty
2010-08-02 21:02           ` Arfrever Frehtes Taifersar Arahesis
2010-08-02 21:40             ` Harald van Dijk
2010-07-30  3:15 ` Krzysztof Pawlik
2010-07-30  3:48   ` Brian Harring
2010-07-30 16:49     ` "Paweł Hajdan, Jr."
2010-07-30 18:45       ` Brian Harring
2010-07-31 21:39       ` James Cloos
2010-07-31 22:04         ` Mike Frysinger
2010-07-31 22:14           ` James Cloos
2010-07-31 22:53             ` Mike Frysinger
2010-07-31 23:30         ` [gentoo-dev] " Jonathan Callen
2010-08-05 14:00           ` James Cloos
2010-07-30 16:05 ` [gentoo-dev] " Harald van Dijk
2010-07-31  3:37 ` Mike Frysinger
2010-08-02 21:18 ` Arfrever Frehtes Taifersar Arahesis
2010-08-02 21:40   ` Mike Frysinger
2010-08-02 22:08   ` Jeroen Roovers
2010-08-02 22:13   ` Jeroen Roovers
2010-08-03  0:58   ` Brian Harring

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='AANLkTi=VT25DP1JsC7mnqN6csVZ_9DZUrFLAV9o=sbJc@mail.gmail.com' \
    --to=antarus@gentoo.org \
    --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