[oe] [meta-java][PATCH 0/2] openjdk-8-native: fix do_install and PROVIDES

Huang, Jie (Jackie) Jackie.Huang at windriver.com
Thu Jan 7 03:00:54 UTC 2016



> -----Original Message-----
> From: openembedded-devel-bounces at lists.openembedded.org [mailto:openembedded-devel-
> bounces at lists.openembedded.org] On Behalf Of Jens Rehsack
> Sent: Wednesday, January 06, 2016 9:57 PM
> To: openembedded-devel at lists.openembedded.org
> Subject: Re: [oe] [meta-java][PATCH 0/2] openjdk-8-native: fix do_install and PROVIDES
> 
> 
> > Am 06.01.2016 um 08:03 schrieb Huang, Jie (Jackie) <Jackie.Huang at windriver.com>:
> >
> >
> >
> >> -----Original Message-----
> >> From: openembedded-devel-bounces at lists.openembedded.org [mailto:openembedded-devel-
> >> bounces at lists.openembedded.org] On Behalf Of Jens Rehsack
> >> Sent: Tuesday, January 05, 2016 3:21 AM
> >> To: openembedded-devel at lists.openembedded.org
> >> Subject: Re: [oe] [meta-java][PATCH 0/2] openjdk-8-native: fix do_install and PROVIDES
> >>
> >> It's insane re-introducing a virtual/javac-native without understanding
> >> the issues coming with that.
> >
> > Please carefully review the patches before saying insane, I don't think it was
> > correct to remove virtual/javac-native since there are several providers.
> 
> What does virtual/javac-native mean? Correctly, there can be several providers.
> 
> How many of them can you have in one sysroot/build? One.
> 
> So - when in an openjdk-7 or openjdk-8 bootstrap 4 recipes PROVIDE virtual/javac-native,
> what happens?

So seem like you don't really understand how it should be used.

Yes, only one we can have when there are multiple providers, that's why we should
use PREFERRED_PROVIDER to determines which one it is, and use the virtual/foo
instead of specific provider's name in DEPENDS/RDEPENDS of the recipe that requires it, 
so we can ensure only one will be built and avoid conflicts.

FYI:
http://www.yoctoproject.org/docs/2.0/bitbake-user-manual/bitbake-user-manual.html#bb-bitbake-preferences
http://www.yoctoproject.org/docs/2.0/ref-manual/ref-manual.html#var-PREFERRED_PROVIDER

> 
> It is insane to have multiple providers for the same virtual/foo when at least a bunch

Virtual/foo and PREFERRED_PROVIDER is one of the mechanisms to handle multiple providers,
(another one is update-alternatives which is not supported by -native recipe), and work fine
in many projects, why is it insane here?

I tested my patches to build openjdk7, openjdk8 and most recipes in meta-java with and without sstate
on qemux86-64, qemuarm, qemuppc and some of our BSPs and they all built fine (previous method
 fails to build openjdk7 sometime and always fail when build with sstate)

Thanks,
Jackie

> of them are required to finish a particular build.
> 
> > Thanks,
> > Jackie
> 
> You're welcome,
> Jens
> 
> >>
> >>> Am 23.12.2015 um 11:03 schrieb jackie.huang at windriver.com:
> >>>
> >>> From: Jackie Huang <jackie.huang at windriver.com>
> >>>
> >>> I asked about this issue two days ago but no response, please carefully
> >>> review and correct me if anyone have better understanding.
> >>
> >> Please excuse when people enjoy their holidays around Christmas.
> >>
> >>> My tests includes building openjdk7 and openjdk8 on qemux86-64
> >>> with/without sstate cache.
> >>>
> >>> --
> >>> The following changes since commit 35739fca028996c594b1efa2225a77c8d6038193:
> >>>
> >>> openjdk-8: Use zero mode on arm (2015-12-17 10:39:21 -0200)
> >>>
> >>> are available in the git repository at:
> >>>
> >>> git://git.pokylinux.org/poky-contrib.git jhuang0/d_jdk8-fix_151223_0
> >>> http://git.pokylinux.org/cgit.cgi//log/?h=jhuang0/d_jdk8-fix_151223_0
> >>>
> >>> Jackie Huang (2):
> >>> Revert "meta-java: rely on well known bootstrap-path"
> >>> openjdk-8-native: fix improper do_install and PROVIDES
> >>>
> >>> README                                             | 12 ++++++++--
> >>> classes/java-bootstrap-components.bbclass          |  7 ------
> >>> classes/java-library.bbclass                       |  3 +--
> >>> recipes-core/ant/ant-native_1.8.1.bb               |  2 +-
> >>> recipes-core/antlr/antlr_2.7.7.bb                  |  2 +-
> >>> recipes-core/cacao/cacao_1.6.1.bb                  |  6 ++---
> >>> recipes-core/classpath/classpath.inc               |  4 ++--
> >>> recipes-core/classpathx/gnujaf_1.1.1.bb            |  2 +-
> >>> recipes-core/classpathx/gnumail_1.1.2.bb           |  2 +-
> >>> recipes-core/classpathx/inetlib_1.1.1.bb           |  2 +-
> >>> recipes-core/cup/cup_0.10k.bb                      |  2 +-
> >>> recipes-core/ecj/ecj-bootstrap-native.bb           |  4 +++-
> >>> recipes-core/ecj/libecj-bootstrap.inc              |  2 +-
> >>> recipes-core/icedtea/icedtea7-native.inc           |  2 +-
> >>> recipes-core/jacl/jacl_1.4.1.bb                    |  2 +-
> >>> .../jakarta-commons/commons-logging_1.1.1.bb       |  2 --
> >>> recipes-core/jakarta-commons/commons-net_1.4.1.bb  |  2 --
> >>> .../jakarta-libs/avalon-framework-api_4.3.bb       |  2 +-
> >>> recipes-core/jakarta-libs/bsf_2.4.0.bb             |  2 +-
> >>> recipes-core/jakarta-libs/log4j1.2_1.2.17.bb       |  2 +-
> >>> recipes-core/jakarta-libs/logkit_1.2.2.bb          |  2 +-
> >>> recipes-core/jakarta-libs/oro_2.0.8.bb             |  2 +-
> >>> recipes-core/jakarta-libs/poi_3.0.bb               |  2 +-
> >>> recipes-core/jakarta-libs/regexp_1.5.bb            |  2 +-
> >>> recipes-core/jamvm/jamvm.inc                       |  4 ++--
> >>> recipes-core/jcraft/jsch_0.1.40.bb                 |  2 +-
> >>> recipes-core/jcraft/jzlib_1.0.7.bb                 |  2 +-
> >>> recipes-core/jdepend/jdepend_2.9.1.bb              |  2 +-
> >>> recipes-core/jlex/jlex_1.2.6.bb                    |  2 +-
> >>> recipes-core/junit/junit4_4.3.1.bb                 |  4 +++-
> >>> recipes-core/junit/junit_3.8.2.bb                  |  2 +-
> >>> recipes-core/openjdk/openjdk-8-native.inc          | 13 +++++------
> >>> recipes-core/openjdk/openjdk-8-native_72b05.bb     | 26 ----------------------
> >>> recipes-core/rhino/rhino_1.7r4.bb                  |  2 +-
> >>> recipes-core/servlet-api/servlet2.3_4.1.37.bb      |  4 +++-
> >>> recipes-core/servlet-api/servlet2.4_5.5.26.bb      |  2 ++
> >>> recipes-core/xalan-j/xalan-j_2.7.1.bb              |  2 +-
> >>> recipes-core/xerces-j/xerces-j_2.11.0.bb           |  6 ++---
> >>> recipes-core/xml-commons/jaxp1.3_1.4.01.bb         |  4 +++-
> >>> .../xml-commons/xml-commons-resolver1.1_1.2.bb     |  6 ++---
> >>> recipes-core/xml-commons/xpp2_2.1.10.bb            |  2 ++
> >>> recipes-core/xml-commons/xpp3_1.1.3.4.O.bb         |  2 ++
> >>> 42 files changed, 69 insertions(+), 90 deletions(-)
> >>> delete mode 100644 classes/java-bootstrap-components.bbclass
> >>>
> >>> --
> >>> 1.9.1
> >>>
> >>> --
> >>> _______________________________________________
> >>> Openembedded-devel mailing list
> >>> Openembedded-devel at lists.openembedded.org
> >>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> >>
> >> --
> >> Jens Rehsack - rehsack at gmail.com
> >
> > --
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> 
> --
> Jens Rehsack - rehsack at gmail.com




More information about the Openembedded-devel mailing list