[COMMIT osv-apps master] fix openjdk8-fedora

4 views
Skip to first unread message

Commit Bot

unread,
Jan 19, 2020, 6:10:30 PM1/19/20
to osv...@googlegroups.com, Waldemar Kozaczuk
From: Waldemar Kozaczuk <jwkoz...@gmail.com>
Committer: Waldemar Kozaczuk <jwkoz...@gmail.com>
Branch: master

fix openjdk8-fedora

This patch fixes a crash reported by issue #880. The crash
actually happens due to a missing library libfreeblpriv3.so
provided by nss-softokn-freebl package. The root cause
was discovered by tracing vfs* operation where libsunec
would try and fail to dlopen() that library.

It turns out that newer versions of the package java-1.8.0-openjdk-headless
(for fedora 32 for example) come with libsunec that is NOT dependant
on nss* libraries (at least not dynamically) and would work
without this patch.

This patch also fixes cpio related issue that would happen
when trying to build this app on Ubuntu (see
https://github.com/cloudius-systems/osv/issues/880#issuecomment-307590067
for details).

Fixes #880

Signed-off-by: Waldemar Kozaczuk <jwkoz...@gmail.com>

---
diff --git a/openjdk8-fedora/Makefile b/openjdk8-fedora/Makefile
--- a/openjdk8-fedora/Makefile
+++ b/openjdk8-fedora/Makefile
@@ -33,6 +33,10 @@ nss_fullname=nss-$(nss_version).x86_64.rpm
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
+# "nss-softokn-freebl" package provides libfreeblpriv3.so
+nss-softokn-freebl_version=$(shell ./latest.sh nss-softokn-freebl x86_64)
+nss-softokn-freebl_dir=http://mirrors.kernel.org/fedora/development/rawhide/Everything/x86_64/os/Packages/n/
+nss-softokn-freebl_fullname=nss-softokn-freebl-$(nss-softokn-freebl_version).x86_64.rpm

# More needed libraries by the JRE's libjavalcms.so - see issue #601
# "lcms2" package provides liblcms2.so
@@ -50,22 +54,24 @@ module:
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/$(nss-softokn-freebl_fullname)
$(nss-softokn-freebl_dir)$(nss-softokn-freebl_fullname)
wget -c -O upstream/$(lcms2_fullname) $(lcms2_dir)$(lcms2_fullname)
rm -rf install
mkdir -p install/usr
ln -s lib install/usr/lib64
- rpm2cpio upstream/$(java_fullname) | (cd install && cpio -id)
+ rpm2cpio upstream/$(java_fullname) | (cd install && cpio -id
--extract-over-symlinks)
# Move the versioned java directory to the generic "java" name, but
# keep a link at the versioned name:
mv $(jvm_dir)/java-1.8.0-openjdk-$(java_version).x86_64 $(jvm_dir)/java
ln -sf java $(jvm_dir)/java-1.8.0-openjdk-$(java_version).x86_64
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)
+ rpm2cpio upstream/$(tzdata_fullname) | (cd install && cpio -id
--extract-over-symlinks)
+ rpm2cpio upstream/$(nspr_fullname) | (cd install && cpio -id
--extract-over-symlinks)
+ rpm2cpio upstream/$(nss_fullname) | (cd install && cpio -id
--extract-over-symlinks)
+ rpm2cpio upstream/$(nss-util_fullname) | (cd install && cpio -id
--extract-over-symlinks)
+ rpm2cpio upstream/$(nss-softokn-freebl_fullname) | (cd install && cpio
-id --extract-over-symlinks)
+ rpm2cpio upstream/$(lcms2_fullname) | (cd install && cpio -id
--extract-over-symlinks)
rm -rf install/usr/share/man
ln -s /etc/pki/java/cacerts install/usr/lib/jvm/java/jre/lib/security/

Reply all
Reply to author
Forward
0 new messages