public inbox for gentoo-pms@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* Re: [gentoo-pms] License for code snippets included in PMS
  @ 2011-03-13 17:14 99%         ` David Leverton
  0 siblings, 0 replies; 1+ results
From: David Leverton @ 2011-03-13 17:14 UTC (permalink / raw
  To: gentoo-pms

On 13 March 2011 16:40, Brian Harring <ferringb@gmail.com> wrote:
> This section wasn't accurate, as such I threw it out- attached is a
> brain dump of exactly what characteristics can be relied on for
> env saving, and should be reasonably complete.
>
> Could stand to have some comments added though.

As discussed on IRC, the use of "declare" here is problematic, because
inside a function it acts like "local", even if said function is part
of the PM that sources the ebuild.  This would put a pretty nasty
constraint on the PM implementation, and wouldn't work in eclasses
anyway because of the "inherit" function.  Arrays can still be used
simply by not using "declare" and just assigning them, which doesn't
have the implicit local attached, so all that's needed is to change
"declare -a ARRAY_VARIABLE=( a b )" in the patch to simply
"ARRAY_VARIABLE=( a b )".

(See also http://bugs.gentoo.org/show_bug.cgi?id=309369, in which this
caused problems with loading environment.bz2 files.)

As an aside, bash 4.2 has "declare -g" to override the implicit local,
but it'll be a while before we can start using that in ebuilds.



^ permalink raw reply	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2011-02-20  0:15     [gentoo-pms] License for code snippets included in PMS Ulrich Mueller
2011-02-24  7:49     ` Ulrich Mueller
2011-03-13 10:30       ` Petteri Räty
2011-03-13 14:10         ` Ulrich Mueller
2011-03-13 16:40           ` Brian Harring
2011-03-13 17:14 99%         ` David Leverton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox