[yocto] [meta-oracle-java][PATCH 5/6] Use update-alternatives

Jaap de Jong jaap.dejong at nedap.com
Wed Mar 29 23:28:20 PDT 2017


-------------- next part --------------
From 7cfe2ca9173353b2ea7dd8e3fabec9e283daff85 Mon Sep 17 00:00:00 2001
From: Jaap de Jong <jaap.dejong at nedap.com>
Date: Tue, 28 Mar 2017 14:26:52 +0200
Subject: [PATCH 5/6] Use update-alternatives

---
 recipes-devtools/oracle-java/oracle-jse-jdk.inc | 14 ++++++++++++++
 recipes-devtools/oracle-java/oracle-jse.inc     | 12 ++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/recipes-devtools/oracle-java/oracle-jse-jdk.inc b/recipes-devtools/oracle-java/oracle-jse-jdk.inc
index 291a75d..9fd76e1 100644
--- a/recipes-devtools/oracle-java/oracle-jse-jdk.inc
+++ b/recipes-devtools/oracle-java/oracle-jse-jdk.inc
@@ -25,3 +25,17 @@ BBCLASSEXTEND = "native"
 
 RPROVIDES_${PN} += "java2-development"
 PROVIDES += "virtual/javac virtual/java-initial"
+
+pkg_postinst_${PN} () {
+	update-alternatives --install ${bindir}/jar   jar   ${JDK_HOME}/bin/jar 100
+	update-alternatives --install ${bindir}/java  java  ${JDK_HOME}/jre/bin/java 100
+	update-alternatives --install ${bindir}/javac javac ${JDK_HOME}/jre/bin/javac 100
+	update-alternatives --install ${bindir}/javah javah ${JDK_HOME}/bin/javah 100
+}
+
+pkg_prerm_${PN} () {
+	update-alternatives --remove jar   ${JDK_HOME}/jre/bin/jar
+	update-alternatives --remove java  ${JDK_HOME}/jre/bin/java
+	update-alternatives --remove javac ${JDK_HOME}/jre/bin/javac
+	update-alternatives --remove javah ${JDK_HOME}/jre/bin/javah
+}
diff --git a/recipes-devtools/oracle-java/oracle-jse.inc b/recipes-devtools/oracle-java/oracle-jse.inc
index 7e508bf..37685cd 100644
--- a/recipes-devtools/oracle-java/oracle-jse.inc
+++ b/recipes-devtools/oracle-java/oracle-jse.inc
@@ -21,8 +21,6 @@ JDK_HOME = "${libdir_jvm}/${JDK_DIR}"
 do_install () {
 	install -d -m 0755			${D}${libdir_jvm}
 	cp -a ${S}/${JDK_JRE}${PV}_${PV_UPDATE}	${D}${JDK_HOME}
-	install -d -m 0755			${D}${bindir}
-	ln -sf ${JDK_HOME}/bin/java		${D}${bindir}/java
 }
 
 # All the files are provided in a binaray package, and keeping all the
@@ -36,3 +34,13 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
 FILES_${PN} = "/usr/"
 RPROVIDES_${PN} = "java2-runtime java2-vm"
 PROVIDES += "virtual/java"
+
+inherit update-alternatives
+
+pkg_postinst_${PN} () {
+	update-alternatives --install ${bindir}/java java ${JDK_HOME}/jre/bin/java 75
+}
+
+pkg_prerm_${PN} () {
+	update-alternatives --remove java ${JDK_HOME}/jre/bin/java
+}
-- 
2.7.4


More information about the yocto mailing list