On 09/27/2012 09:49 AM, Ulrich Mueller wrote:
> As far as I can see, only the definition of the usex function must be
> disabled. Please review the patch included below.
>
> Ulrich
>
> --- eutils.eclass 15 Sep 2012 16:16:53 -0000 1.403
> +++ eutils.eclass 27 Sep 2012 16:45:14 -0000
> @@ -1373,7 +1373,9 @@
> # @DESCRIPTION:
> # If USE flag is set, echo [true output][true suffix] (defaults to "yes"),
> # otherwise echo [false output][false suffix] (defaults to "no").
> +if has "${EAPI:-0}" 0 1 2 3 4; then
> usex() { use "$1" && echo "${2-yes}$4" || echo "${3-no}$5" ; } #382963
> +fi
>
> # @FUNCTION: prune_libtool_files
> # @USAGE: [--all]
>
Looks good to me.
It may not work for unofficial EAPIs that don't include usex, but I
guess there's nothing we can do for those, and they can just be replaced
with newer EAPIs that include usex.
--
Thanks,
Zac
09-27-2012, 05:16 PM
Ian Stakenvicius
patch eutils.eclass for EAPI 5
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 27/09/12 01:07 PM, Zac Medico wrote:
> On 09/27/2012 09:49 AM, Ulrich Mueller wrote:
>> As far as I can see, only the definition of the usex function
>> must be disabled. Please review the patch included below.
>>
>> Ulrich
>>
>> --- eutils.eclass 15 Sep 2012 16:16:53 -0000 1.403 +++
>> eutils.eclass 27 Sep 2012 16:45:14 -0000 @@ -1373,7 +1373,9 @@ #
>> @DESCRIPTION: # If USE flag is set, echo [true output][true
>> suffix] (defaults to "yes"), # otherwise echo [false
>> output][false suffix] (defaults to "no"). +if has "${EAPI:-0}" 0
>> 1 2 3 4; then usex() { use "$1" && echo "${2-yes}$4" || echo
>> "${3-no}$5" ; } #382963 +fi
>>
>> # @FUNCTION: prune_libtool_files # @USAGE: [--all]
>>
>
> Looks good to me.
>
> It may not work for unofficial EAPIs that don't include usex, but
> I guess there's nothing we can do for those, and they can just be
> replaced with newer EAPIs that include usex.
....i actually just committed the fix discussed in #gentoo-dev , using
'declare -F' instead (similar to the eqawarn conditional declaration
already in eutils.eclass)
On 09/27/2012 10:07 AM, Zac Medico wrote:
> On 09/27/2012 09:49 AM, Ulrich Mueller wrote:
>> As far as I can see, only the definition of the usex function must be
>> disabled. Please review the patch included below.
>>
>> Ulrich
>>
>> --- eutils.eclass 15 Sep 2012 16:16:53 -0000 1.403
>> +++ eutils.eclass 27 Sep 2012 16:45:14 -0000
>> @@ -1373,7 +1373,9 @@
>> # @DESCRIPTION:
>> # If USE flag is set, echo [true output][true suffix] (defaults to "yes"),
>> # otherwise echo [false output][false suffix] (defaults to "no").
>> +if has "${EAPI:-0}" 0 1 2 3 4; then
>> usex() { use "$1" && echo "${2-yes}$4" || echo "${3-no}$5" ; } #382963
>> +fi
>>
>> # @FUNCTION: prune_libtool_files
>> # @USAGE: [--all]
>>
>
> Looks good to me.
>
> It may not work for unofficial EAPIs that don't include usex, but I
> guess there's nothing we can do for those, and they can just be replaced
> with newer EAPIs that include usex.
Something like this would work with current versions of portage:
if ! declare -F usex >/dev/null ; then
usex() { use "$1" && echo "${2-yes}$4" || echo "${3-no}$5" ; }
fi
However, it's probably not a good idea to assume that the package
manager defines usex prior to sourcing the eclass.
--
Thanks,
Zac
09-27-2012, 05:30 PM
Zac Medico
patch eutils.eclass for EAPI 5
On 09/27/2012 10:16 AM, Ian Stakenvicius wrote:
> On 27/09/12 01:07 PM, Zac Medico wrote:
>> On 09/27/2012 09:49 AM, Ulrich Mueller wrote:
>>> As far as I can see, only the definition of the usex function
>>> must be disabled. Please review the patch included below.
>>>
>>> Ulrich
>>>
>>> --- eutils.eclass 15 Sep 2012 16:16:53 -0000 1.403 +++
>>> eutils.eclass 27 Sep 2012 16:45:14 -0000 @@ -1373,7 +1373,9 @@ #
>>> @DESCRIPTION: # If USE flag is set, echo [true output][true
>>> suffix] (defaults to "yes"), # otherwise echo [false
>>> output][false suffix] (defaults to "no"). +if has "${EAPI:-0}" 0
>>> 1 2 3 4; then usex() { use "$1" && echo "${2-yes}$4" || echo
>>> "${3-no}$5" ; } #382963 +fi
>>>
>>> # @FUNCTION: prune_libtool_files # @USAGE: [--all]
>>>
>
>> Looks good to me.
>
>> It may not work for unofficial EAPIs that don't include usex, but
>> I guess there's nothing we can do for those, and they can just be
>> replaced with newer EAPIs that include usex.
>
> ....i actually just committed the fix discussed in #gentoo-dev , using
> 'declare -F' instead (similar to the eqawarn conditional declaration
> already in eutils.eclass)
>
>
> Sorry..
It's fine with me, but some of the other package manager devs might
object, since it makes assumptions about implementation details.
--
Thanks,
Zac
09-27-2012, 05:53 PM
Brian Harring
patch eutils.eclass for EAPI 5
On Thu, Sep 27, 2012 at 10:30:21AM -0700, Zac Medico wrote:
> On 09/27/2012 10:16 AM, Ian Stakenvicius wrote:
> > On 27/09/12 01:07 PM, Zac Medico wrote:
> >> On 09/27/2012 09:49 AM, Ulrich Mueller wrote:
> >>> As far as I can see, only the definition of the usex function
> >>> must be disabled. Please review the patch included below.
> >>>
> >>> Ulrich
> >>>
> >>> --- eutils.eclass 15 Sep 2012 16:16:53 -0000 1.403 +++
> >>> eutils.eclass 27 Sep 2012 16:45:14 -0000 @@ -1373,7 +1373,9 @@ #
> >>> @DESCRIPTION: # If USE flag is set, echo [true output][true
> >>> suffix] (defaults to "yes"), # otherwise echo [false
> >>> output][false suffix] (defaults to "no"). +if has "${EAPI:-0}" 0
> >>> 1 2 3 4; then usex() { use "$1" && echo "${2-yes}$4" || echo
> >>> "${3-no}$5" ; } #382963 +fi
> >>>
> >>> # @FUNCTION: prune_libtool_files # @USAGE: [--all]
> >>>
> >
> >> Looks good to me.
> >
> >> It may not work for unofficial EAPIs that don't include usex, but
> >> I guess there's nothing we can do for those, and they can just be
> >> replaced with newer EAPIs that include usex.
> >
> > ....i actually just committed the fix discussed in #gentoo-dev , using
> > 'declare -F' instead (similar to the eqawarn conditional declaration
> > already in eutils.eclass)
> >
> >
> > Sorry..
>
> It's fine with me, but some of the other package manager devs might
> object, since it makes assumptions about implementation details.
PMS isn't particular clear on the metadata sourcing env for EAPIs-
especially after the requirement that we pull the EAPI out of the file
on the fly was aded.
Point is, if it's EAPI5 the env should already export usex- even if
it's disabled- so case/esac is better imo.
~harring
09-28-2012, 02:32 PM
Jeroen Roovers
patch eutils.eclass for EAPI 5
On Thu, 27 Sep 2012 13:16:45 -0400
Ian Stakenvicius <axs@gentoo.org> wrote:
> ....i actually just committed the fix discussed in #gentoo-dev , using
> 'declare -F' instead (similar to the eqawarn conditional declaration
> already in eutils.eclass)
You forgot to add an entry to eclass/ChangeLog.
jer
09-28-2012, 03:28 PM
Ulrich Mueller
patch eutils.eclass for EAPI 5
>>>>> On Thu, 27 Sep 2012, Zac Medico wrote:
>>> --- eutils.eclass 15 Sep 2012 16:16:53 -0000 1.403
>>> +++ eutils.eclass 27 Sep 2012 16:45:14 -0000
>>> @@ -1373,7 +1373,9 @@
>>> # @DESCRIPTION:
>>> # If USE flag is set, echo [true output][true suffix] (defaults to "yes"),
>>> # otherwise echo [false output][false suffix] (defaults to "no").
>>> +if has "${EAPI:-0}" 0 1 2 3 4; then
>>> usex() { use "$1" && echo "${2-yes}$4" || echo "${3-no}$5" ; } #382963
>>> +fi
>>>
>>> # @FUNCTION: prune_libtool_files
>>> # @USAGE: [--all]
>> Looks good to me.
>> It may not work for unofficial EAPIs that don't include usex, but I
>> guess there's nothing we can do for those, and they can just be
>> replaced with newer EAPIs that include usex.
> Something like this would work with current versions of portage:
> if ! declare -F usex >/dev/null ; then
> usex() { use "$1" && echo "${2-yes}$4" || echo "${3-no}$5" ; }
> fi
> However, it's probably not a good idea to assume that the package
> manager defines usex prior to sourcing the eclass.
I agree, and I've replaced the declare -F by the explicit EAPI test
from the above patch.
Ulrich
09-28-2012, 05:08 PM
Ian Stakenvicius
patch eutils.eclass for EAPI 5
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 28/09/12 10:32 AM, Jeroen Roovers wrote:
> On Thu, 27 Sep 2012 13:16:45 -0400 Ian Stakenvicius
> <axs@gentoo.org> wrote:
>
>> ....i actually just committed the fix discussed in #gentoo-dev ,
>> using 'declare -F' instead (similar to the eqawarn conditional
>> declaration already in eutils.eclass)
>
> You forgot to add an entry to eclass/ChangeLog.
>
>
> jer
>
..should have been one.. I ran echangelog and a blanket cvs commit to
submit it. *shrug*
Will double-check the commit next time and fix the ChangeLog if it
didn't work.
On Thu, 27 Sep 2012 10:23:50 -0700
Zac Medico <zmedico@gentoo.org> wrote:
> Something like this would work with current versions of portage:
>
> if ! declare -F usex >/dev/null ; then
> usex() { use "$1" && echo "${2-yes}$4" || echo "${3-no}$5" ; }
> fi
>
> However, it's probably not a good idea to assume that the package
> manager defines usex prior to sourcing the eclass.
It's also not a good idea to assume that usex is a function.