FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 07-15-2012, 04:15 PM
Davide Pesavento
 
Default RFC: using array variables in qt4-r2.eclass

On Sun, Jul 15, 2012 at 5:53 PM, Michał Górny <mgorny@gentoo.org> wrote:
> On Sun, 15 Jul 2012 17:36:05 +0200
> Davide Pesavento <pesa@gentoo.org> wrote:
>
>> On Sun, Jul 15, 2012 at 3:42 PM, Michał Górny <mgorny@gentoo.org>
>> wrote:
>> > On Sun, 15 Jul 2012 13:00:47 +0200
>> > Davide Pesavento <pesa@gentoo.org> wrote:
>> >
>> >> On Sat, Jul 14, 2012 at 4:00 PM, Michał Górny <mgorny@gentoo.org>
>> >> wrote:
>> >> > On Sat, 14 Jul 2012 12:29:59 +0200
>> >> > Davide Pesavento <pesa@gentoo.org> wrote:
>> >> >
>> >> >> On Fri, Jul 13, 2012 at 3:50 PM, Alexis Ballier
>> >> >> <aballier@gentoo.org> wrote:
>> >> >> > On Fri, 13 Jul 2012 15:26:58 +0200
>> >> >> > Davide Pesavento <pesa@gentoo.org> wrote:
>> >> >> >
>> >> >> >> > [...]
>> >> >> >> >> + # backward compatibility for non-array variables
>> >> >> >> >> + if [[ -n ${DOCS} ]] && [[ "$(declare -p DOCS
>> >> >> >> >> 2>/dev/null
>> >> >> >> >> 2>&1)" != "declare -a"* ]]; then
>> >> >> >> >> + dodoc ${DOCS} || die "dodoc failed"
>> >> >> >> >> + fi
>> >> >> >> >> + if [[ -n ${HTML_DOCS} ]] && [[ "$(declare -p
>> >> >> >> >> HTML_DOCS
>> >> >> >> >> 2>/dev/null 2>&1)" != "declare -a"* ]]; then
>> >> >> >> >> + dohtml -r ${HTML_DOCS} || die "dohtml
>> >> >> >> >> failed"
>> >> >> >> >> + fi
>> >> >> >> >> }
>> >> >> >> >
>> >> >> >> > maybe issue an eqawarn in that case telling people to
>> >> >> >> > convert to arrays; some time later make this an ewarn
>> >> >> >> > telling non-array support will be removed and again later
>> >> >> >> > make this a die (if you take that route i would expect
>> >> >> >> > you to start converting packages to use arrays)
>> >> >> >> >
>> >> >> >>
>> >> >> >> We have no intention of deprecating non-array variables in
>> >> >> >> qt4-r2 eclass.
>> >> >> >
>> >> >> > why ? having two codepaths for the same thing, one being
>> >> >> > inferior, sounds like a good reason to deprecate the inferior
>> >> >> > one
>> >> >> >
>> >> >> > A.
>> >> >> >
>> >> >>
>> >> >> Maintaining these two codepaths has practically zero cost, while
>> >> >> forcing every ebuild using qt4-r2 to switch to arrays would
>> >> >> waste developers' time which is better spent elsewhere.
>> >> >>
>> >> >> Furthermore, the non-array variant is not necessarily inferior,
>> >> >> because it allows you to use bash globbing, brace expansion,
>> >> >> etc...
>> >> >
>> >> > And arrays stopped to allow that overnight?
>> >> >
>> >>
>> >> I mean that the following won't work as you might expect:
>> >>
>> >> DOCS=("*.txt")
>> >
>> > I doubt anyone would expect quoted string to be evaluated as glob.
>> >
>>
>> It depends on when the expansion is performed, although in the
>> base.eclass case, DOCS=(*.txt) doesn't work either, because the
>> quoting happens inside the eclass function.
>>
>> Anyway, I was just explaining why I argued that "the non-array variant
>> is not necessarily inferior". Using DOCS="*.txt" is actually a
>> supported use case and a valid reason not to deprecate non-array
>> variables.
>
> So, you're saying that you're going to support two different variants
> of the variable which work two different ways?
>

Basically yes. As yngwin said, we're introducing support for array
variables to be more in line with other eclasses. People do expect
DOCS to be an array variable, and I've already been asked a few times
for this kind of support.

Thanks,
Pesa
 

Thread Tools




All times are GMT. The time now is 11:54 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org