Re: [gentoo-dev] [PATCH] java-pkg-opt-2.eclass: fix java-pkg-opt-2_src_prepare to always call eapply_user for EAPI-6+

2017-08-07 Thread Andrew Savchenko
On Sun, 30 Jul 2017 22:08:18 +0100 James Le Cuirot wrote:
> On Sun, 30 Jul 2017 14:32:53 +0300
> Andrew Savchenko  wrote:
> 
> > For EAPI 6+ java-pkg-opt-2_src_prepare() has eapply_user call via
> > java-utils-2_src_prepare() from java-utils-2.eclass. But
> > java-utils-2_src_prepare() call is conditional and in case when
> > package is build with USE=-java java-utils-2_src_prepare() is not
> > called, hence eapply_user is not called in src_prepare phase and
> > ebuild fails.
> > 
> > The following patch fixes this by calling eapply_user if java USE
> > is disabled _and_ EAPI is 6+.
> 
> This makes sense so no problem here.
> 
> > [pedantic mode on]
> > Strictly speaking when EAPI is other than [0-5]. The way java-*
> > eclasses are now, they assume ![0-5] == 6+. It may be speculated
> > that this is not entirely correct and many other eclasses
> > explicitly deny all unknown EAPIs. If someone is interesting in
> > fixing this issue, please handle it with the java team and do not
> > mix it into the problem described at the beginning. My goal now is
> > to fix eapply_user issue which cases trouble for any EAPI 6
> > packages with optional java support and default src_prepare() at
> > the ebuild scope.
> > [pedantic mode off]
> 
> Agreed. I don't think java-utils-2_src_prepare() should be changed in
> this regard as the behaviour may continue to be correct but the eclass
> should have a global EAPI check that forbids anything beyond 6 like
> other eclasses do.

Applied in the tree. The whitespace change from the original patch
is removed.

Best regards,
Andrew Savchenko


pgp3wWgzigZOK.pgp
Description: PGP signature


Re: [gentoo-dev] [PATCH] java-pkg-opt-2.eclass: fix java-pkg-opt-2_src_prepare to always call eapply_user for EAPI-6+

2017-07-30 Thread James Le Cuirot
On Sun, 30 Jul 2017 14:32:53 +0300
Andrew Savchenko  wrote:

> For EAPI 6+ java-pkg-opt-2_src_prepare() has eapply_user call via
> java-utils-2_src_prepare() from java-utils-2.eclass. But
> java-utils-2_src_prepare() call is conditional and in case when
> package is build with USE=-java java-utils-2_src_prepare() is not
> called, hence eapply_user is not called in src_prepare phase and
> ebuild fails.
> 
> The following patch fixes this by calling eapply_user if java USE
> is disabled _and_ EAPI is 6+.

This makes sense so no problem here.

> [pedantic mode on]
> Strictly speaking when EAPI is other than [0-5]. The way java-*
> eclasses are now, they assume ![0-5] == 6+. It may be speculated
> that this is not entirely correct and many other eclasses
> explicitly deny all unknown EAPIs. If someone is interesting in
> fixing this issue, please handle it with the java team and do not
> mix it into the problem described at the beginning. My goal now is
> to fix eapply_user issue which cases trouble for any EAPI 6
> packages with optional java support and default src_prepare() at
> the ebuild scope.
> [pedantic mode off]

Agreed. I don't think java-utils-2_src_prepare() should be changed in
this regard as the behaviour may continue to be correct but the eclass
should have a global EAPI check that forbids anything beyond 6 like
other eclasses do.

-- 
James Le Cuirot (chewi)
Gentoo Linux Developer


pgpequPLcnucX.pgp
Description: OpenPGP digital signature


[gentoo-dev] [PATCH] java-pkg-opt-2.eclass: fix java-pkg-opt-2_src_prepare to always call eapply_user for EAPI-6+

2017-07-30 Thread Andrew Savchenko
Hi all,

For EAPI 6+ java-pkg-opt-2_src_prepare() has eapply_user call via
java-utils-2_src_prepare() from java-utils-2.eclass. But
java-utils-2_src_prepare() call is conditional and in case when
package is build with USE=-java java-utils-2_src_prepare() is not
called, hence eapply_user is not called in src_prepare phase and
ebuild fails.

The following patch fixes this by calling eapply_user if java USE
is disabled _and_ EAPI is 6+.

[pedantic mode on]
Strictly speaking when EAPI is other than [0-5]. The way java-*
eclasses are now, they assume ![0-5] == 6+. It may be speculated
that this is not entirely correct and many other eclasses
explicitly deny all unknown EAPIs. If someone is interesting in
fixing this issue, please handle it with the java team and do not
mix it into the problem described at the beginning. My goal now is
to fix eapply_user issue which cases trouble for any EAPI 6
packages with optional java support and default src_prepare() at
the ebuild scope.
[pedantic mode off]

Best regards,
Andrew Savchenko
diff --git a/eclass/java-pkg-opt-2.eclass b/eclass/java-pkg-opt-2.eclass
index 16c9f8f..c0b05f9 100644
--- a/eclass/java-pkg-opt-2.eclass
+++ b/eclass/java-pkg-opt-2.eclass
@@ -43,7 +43,11 @@ java-pkg-opt-2_pkg_setup() {
 # default src_prepare, wrapper for java-utils-2_src_prepare
 
 java-pkg-opt-2_src_prepare() {
-	use ${JAVA_PKG_OPT_USE} && java-utils-2_src_prepare
+	use ${JAVA_PKG_OPT_USE} && java-utils-2_src_prepare 
+	case "${EAPI:-0}" in
+		[0-5]) ;;
+		*) use ${JAVA_PKG_OPT_USE} || eapply_user ;;
+	esac
 }
 
 


pgpBNKAGqg2e6.pgp
Description: PGP signature