Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Gentoo Development (http://www.linux-archive.org/gentoo-development/)
-   -   patch eutils.eclass for EAPI 5 (http://www.linux-archive.org/gentoo-development/707894-patch-eutils-eclass-eapi-5-a.html)

Ulrich Mueller 09-27-2012 04:49 PM

patch eutils.eclass for EAPI 5
 
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]

Zac Medico 09-27-2012 05:07 PM

patch eutils.eclass for EAPI 5
 
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

Ian Stakenvicius 09-27-2012 05:16 PM

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)


Sorry..

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlBkif0ACgkQ2ugaI38ACPDcvgEAudN0ErAB8a ZkjtdiTK309NV0
01UWERp6vSQsvTmaVUwA/1LBd9ddbgGUpiqwvDCYzYR1rbgiA+7a6vzU9mmzZpil
=RdnN
-----END PGP SIGNATURE-----

Zac Medico 09-27-2012 05:23 PM

patch eutils.eclass for EAPI 5
 
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

Zac Medico 09-27-2012 05:30 PM

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

Brian Harring 09-27-2012 05:53 PM

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

Jeroen Roovers 09-28-2012 02:32 PM

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

Ulrich Mueller 09-28-2012 03:28 PM

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

Ian Stakenvicius 09-28-2012 05:08 PM

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.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlBl2XEACgkQ2ugaI38ACPCYwwD/WDVp/5Mm7QJqaKDJQ8QDKT2S
NciA/t5yzRXp7oMYdygA/0HxrtuIn6ju+OnSwv3r07X00HOMtH8l9wrRE3/jmjOU
=Nlqd
-----END PGP SIGNATURE-----

Ciaran McCreesh 09-29-2012 03:57 PM

patch eutils.eclass for EAPI 5
 
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.

--
Ciaran McCreesh


All times are GMT. The time now is 05:27 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.