From: Nadav Har'El <[email protected]>
Committer: Nadav Har'El <[email protected]>
Branch: master
openjdk8-fedora: Add missing libraries to the image
Some of the shared libraries included with Java, such as libsunsec.so
(for security) or libjavalcms.so (for color manipulation) have their
own dependencies, additional libraries we need to download from the Fedora
distribution and include in the image.
Before this patch,
scripts/build image=openjdk8-fedora,tomcat
scripts/run -V
would fail because of missing libraries. Now it still fails, but because of
a different bug.
Refs #601.
Signed-off-by: Nadav Har'El <[email protected]>
---
diff --git a/openjdk8-fedora/Makefile b/openjdk8-fedora/Makefile
--- a/openjdk8-fedora/Makefile
+++ b/openjdk8-fedora/Makefile
@@ -9,6 +9,9 @@
jvm_dir=install/usr/lib/jvm
+# FIXME: The following ugly RPM fetching code should be moved out of this
+# Makefile and into a shell script, and duplication removed.
+
java_version=$(shell ./latest.sh java-1.8.0-openjdk-headless x86_64)
java_dir=http://mirrors.kernel.org/fedora/development/rawhide/Everything/x86_64/os/Packages/j/
java_fullname=java-1.8.0-openjdk-headless-$(java_version).x86_64.rpm
@@ -17,19 +20,50 @@ tzdata_version=$(shell ./latest.sh tzdata-java noarch)
tzdata_dir=http://mirrors.kernel.org/fedora/development/rawhide/Everything/x86_64/os/Packages/t/
tzdata_fullname=tzdata-java-$(tzdata_version).noarch.rpm
+# More needed libraries by the JRE's libsunec.so - see issue #601
+# "nspr" package provides libnspr4.so, libplds4.so and libplc4.so
+nspr_version=$(shell ./latest.sh nspr x86_64)
+nspr_dir=http://mirrors.kernel.org/fedora/development/rawhide/Everything/x86_64/os/Packages/n/
+nspr_fullname=nspr-$(nspr_version).x86_64.rpm
+# "nss" package providesa libnss3.so, libsmime3.so, libssl3.so
+nss_version=$(shell ./latest.sh nss x86_64)
+nss_dir=http://mirrors.kernel.org/fedora/development/rawhide/Everything/x86_64/os/Packages/n/
+nss_fullname=nss-$(nss_version).x86_64.rpm
+# "nss-util" package provides libnssutil3.so
+nss-util_version=$(shell ./latest.sh nss-util x86_64)
+nss-util_dir=http://mirrors.kernel.org/fedora/development/rawhide/Everything/x86_64/os/Packages/n/
+nss-util_fullname=nss-util-$(nss-util_version).x86_64.rpm
+
+# More needed libraries by the JRE's libjavalcms.so - see issue #601
+# "lcms2" package provides liblcms2.so
+lcms2_version=$(shell ./latest.sh lcms2 x86_64)
+lcms2_dir=http://mirrors.kernel.org/fedora/development/rawhide/Everything/x86_64/os/Packages/l/
+lcms2_fullname=lcms2-$(lcms2_version).x86_64.rpm
+
+
SRC = $(shell readlink -f ../..)
module:
mkdir -p upstream
wget -c -O upstream/$(java_fullname) $(java_dir)$(java_fullname)
wget -c -O upstream/$(tzdata_fullname) $(tzdata_dir)$(tzdata_fullname)
+ wget -c -O upstream/$(nspr_fullname) $(nspr_dir)$(nspr_fullname)
+ wget -c -O upstream/$(nss_fullname) $(nss_dir)$(nss_fullname)
+ wget -c -O upstream/$(nss-util_fullname)
$(nss-util_dir)$(nss-util_fullname)
+ wget -c -O upstream/$(lcms2_fullname) $(lcms2_dir)$(lcms2_fullname)
rm -rf install
- mkdir -p install
+ mkdir -p install/usr
+ ln -s lib install/usr/lib64
rpm2cpio upstream/$(java_fullname) | (cd install && cpio -id)
ln -sf java-1.8.0-openjdk-$(java_version).x86_64 $(jvm_dir)/java
rm -rf $(jvm_dir)/java/jre/lib/security/cacerts
rm -rf $(jvm_dir)/java/jre/lib/audio/*
rpm2cpio upstream/$(tzdata_fullname) | (cd install && cpio -id)
+ rpm2cpio upstream/$(nspr_fullname) | (cd install && cpio -id)
+ rpm2cpio upstream/$(nss_fullname) | (cd install && cpio -id)
+ rpm2cpio upstream/$(nss-util_fullname) | (cd install && cpio -id)
+ rpm2cpio upstream/$(lcms2_fullname) | (cd install && cpio -id)
+ rm -rf install/usr/share/man
ln -s /etc/pki/java/cacerts install/usr/lib/jvm/java/jre/lib/security/
clean:
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.