From dfb21b449dd652b99bc4725796d143e8c9779cd6 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Thu, 17 Dec 2015 18:40:50 -0800 Subject: openjdk-8-native: fix improper do_install and PROVIDES We had: virtual/jar-native provided by fastjar-native virtual/java-native provided by cacao-native and jamvm-native virtual/javac-native provided by ecj-bootstrap-native Then openjdk-8-native added and also provides: virtual/java-native and virtual/javac-native (it also installs ${STAGING_BINDIR_NATIVE}/jar but doesn't add virtual/jar-native in the PROVIDES) which introduces circular dependencies, java-bootstrap-components.bbclass is to avoid the circular dependencies but it's not a correct way since it make two conflicted packages build into the same sysroot: DEPENDS_prepend_class-native = " ecj-bootstrap-native " DEPENDS_prepend_class-target = " virtual/javac-native " virtual/javac-native is provided by openjdk-8-native, and it assumed that ecj-bootstrap-native, fastjar-native and cacao-native/jamvm-native are always built before openjdk-8-native, then in the do_install of penjdk-8-native, it removes them from staging dirs first, then install (create symlinks for) these files in staging dirs directly, which results with empty sstate and builds from sstate cache or builds not in this assumption will fail. The fixes here includes: - Revert "meta-java: rely on well known bootstrap-path" in previous commit to remove the improper java-bootstrap-components.bbclass - Do not let openjdk-8-native provides jar, java and javac, just like what we do in icedtea7-native, which can provides but not to avoid circular dependencies and conflicts. - make cacao-native back to provide virtual/java-native, and ecj-bootstrap-native back to provide virtual/javac-native - Add back provider settings in README. - Remove the update-alternatives in openjdk-8-native, it doesn't work for native package. Signed-off-by: Jackie Huang --- recipes-core/cacao/cacao_1.6.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'recipes-core/cacao') diff --git a/recipes-core/cacao/cacao_1.6.1.bb b/recipes-core/cacao/cacao_1.6.1.bb index ce1ffc2..8e212af 100644 --- a/recipes-core/cacao/cacao_1.6.1.bb +++ b/recipes-core/cacao/cacao_1.6.1.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" SECTION = "interpreters" DEPENDS_class-native = "zlib-native libtool-native ecj-initial-native fastjar-native classpath-native bdwgc-native" -#PROVIDES_class-native = "virtual/java-native" +PROVIDES_class-native = "virtual/java-native" DEPENDS = "zlib libtool classpath virtual/javac-native bdwgc" RPROVIDES_${PN} = "java2-runtime" -- cgit v1.2.3-54-g00ecf