Re: [gentoo-dev] [PATCH] java-pkg-opt-2.eclass: fix java-pkg-opt-2_src_prepare to always call eapply_user for EAPI-6+
On Sun, 30 Jul 2017 22:08:18 +0100 James Le Cuirot wrote: > On Sun, 30 Jul 2017 14:32:53 +0300 > Andrew Savchenkowrote: > > > 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+
On Sun, 30 Jul 2017 14:32:53 +0300 Andrew Savchenkowrote: > 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+
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