From: Waldemar Kozaczuk <jwkozac...@gmail.com>
Committer: Nadav Har'El <n...@scylladb.com>
Branch: master

Support Java GA 9

This patch provides new app to run Java 9 apps and replaces
openjdk9-ea-java-base. It uses jlink tool to create minimal JRE
with single java-base module (please note jlink --add-modules java.base argument).
One would need more Java 9 modules to run more sophisticated apps.

scripts/build image=openjdk9-java-base,java-example

Signed-off-by: Waldemar Kozaczuk <jwkozac...@gmail.com>
Message-Id: <1508845882-5576-1-git-send-email-jwkozac...@gmail.com>

---
diff --git a/openjdk9-ea-java-base/Makefile b/openjdk9-ea-java-base/Makefile
--- a/openjdk9-ea-java-base/Makefile
+++ b/openjdk9-ea-java-base/Makefile
@@ -1,35 +0,0 @@
-#
-# Copyright (C) 2013 Cloudius Systems, Ltd.
-#
-# This work is open source software, licensed under the terms of the
-# BSD license as described in the LICENSE file in the top-level directory.
-#
-
-.PHONY: module clean
-
-jvm_dir=install/usr/lib/jvm
-
-java_version=$(shell ./latest.sh)
-java_dir=http://www.java.net/download/java/jdk9/archive/$(java_version)/binaries/
-java_fullname=jdk-9-ea+$(java_version)_linux-x64_bin.tar.gz
-
-jre_name=jdk-9-ea-$(java_version)-java-base
-linked_jre_dir=usr/lib/jvm/$(jre_name)
-
-SRC = $(shell readlink -f ../..)
-
-module:
-       mkdir -p upstream
-       wget -c -O upstream/$(java_fullname) $(java_dir)$(java_fullname)
-       rm -rf install
-       mkdir -p install/$(linked_jre_dir)
-       cd install && tar xfz ../upstream/$(java_fullname)
- cd install && jdk-9/bin/jlink --module-path jdk-9/jmods --add-modules java.base --output $(linked_jre_dir)/jre --strip-debug --compress=2
-       rm -rf install/jdk-9
-       ln -sf $(jre_name) $(jvm_dir)/java
-       rm -rf $(jvm_dir)/java/jre/lib/security/cacerts
-       rm -rf $(jvm_dir)/java/jre/lib/audio/*
-       ln -s /etc/pki/java/cacerts install/usr/lib/jvm/java/jre/lib/security/
-
-clean:
-       rm -rf upstream install
diff --git a/openjdk9-ea-java-base/latest.sh b/openjdk9-ea-java-base/latest.sh
--- a/openjdk9-ea-java-base/latest.sh
+++ b/openjdk9-ea-java-base/latest.sh
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-wget -qO- https://jdk9.java.net/download/ | grep "document.getElementById(\"lin64JDKrpm\").href = \"http" | grep -o "http://.*tar.gz"; | grep -o "ea+[0-9]\+_linux" | grep -o "[0-9]\+"
diff --git a/openjdk9-java-base/Makefile b/openjdk9-java-base/Makefile
--- a/openjdk9-java-base/Makefile
+++ b/openjdk9-java-base/Makefile
@@ -0,0 +1,33 @@
+#
+# Copyright (C) 2013 Cloudius Systems, Ltd.
+#
+# This work is open source software, licensed under the terms of the
+# BSD license as described in the LICENSE file in the top-level directory.
+#
+
+.PHONY: module clean
+
+jvm_dir=install/usr/lib/jvm
+
+java_version=$(shell ./latest.sh)
+java_dir=http://download.java.net/java/GA/jdk9/$(java_version)/binaries/
+java_fullname=openjdk-$(java_version)_linux-x64_bin.tar.gz
+
+jre_name=jdk-$(java_version)-java-base
+linked_jre_dir=usr/lib/jvm/$(jre_name)
+
+SRC = $(shell readlink -f ../..)
+
+module:
+       mkdir -p upstream
+       wget -c -O upstream/$(java_fullname) $(java_dir)$(java_fullname)
+       cd upstream && tar xfz $(java_fullname)
+       rm -rf install && mkdir install
+ cd install && ../upstream/jdk-$(java_version)/bin/jlink --module-path ../upstream/jdk-$(java_version)/jmods --add-modules java.base --output $(linked_jre_dir) --strip-debug --compress=2
+       cd install && rm -rf $(linked_jre_dir)/bin
+       ln -sf $(jre_name) $(jvm_dir)/java
+       rm -rf $(jvm_dir)/java/lib/security/cacerts
+       ln -s /etc/pki/java/cacerts install/usr/lib/jvm/java/lib/security/
+
+clean:
+       rm -rf upstream install
diff --git a/openjdk9-java-base/latest.sh b/openjdk9-java-base/latest.sh
--- a/openjdk9-java-base/latest.sh
+++ b/openjdk9-java-base/latest.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+wget -qO- http://jdk.java.net/9/ | grep "http://download.java.net/java/GA/jdk9.*linux-x64_bin.tar.gz"; | grep -o "openjdk-.*linux" | grep -o '9\.[0-9]\+\.[0-9]\+'
diff --git a/openjdk9-java-base/module.py b/openjdk9-java-base/module.py
--- a/openjdk9-java-base/module.py
+++ b/openjdk9-java-base/module.py
@@ -12,8 +12,7 @@
 provides = ['java']

 usr_files = FileMap()
-usr_files.add('${OSV_BASE}/apps/openjdk9-ea-java-base/install').to('/').allow_symlink()
-usr_files.add('${OSV_BASE}/apps/openjdk9-ea-java-base/install/usr/lib/jvm/java') \
+usr_files.add('${OSV_BASE}/apps/openjdk9-java-base/install').to('/').allow_symlink()
+usr_files.add('${OSV_BASE}/apps/openjdk9-java-base/install/usr/lib/jvm/java') \
     .to('/usr/lib/jvm/java') \
     .allow_symlink()
-usr_files.link('/usr/lib/jvm/jre').to('/usr/lib/jvm/java/jre')

--
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to