summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMuflone2019-01-19 16:02:17 +0100
committerMuflone2019-01-19 16:02:17 +0100
commit9f752084197ca9f5fcef2aa1e95e151def38caea (patch)
tree9f834b012701356eff2d819d01b5c338e7dcff03
downloadaur-jre10.tar.gz
New package jre10 10.0.2-1
-rw-r--r--.SRCINFO37
-rw-r--r--PKGBUILD108
-rw-r--r--jre10.install74
3 files changed, 219 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..4e4f04f91322
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,37 @@
+pkgbase = jre10
+ pkgdesc = Oracle Java Runtime Environment (public release - end of support)
+ pkgver = 10.0.2
+ pkgrel = 1
+ url = http://www.oracle.com/technetwork/java/javase/downloads/index.html
+ install = jre10.install
+ arch = x86_64
+ license = custom:Oracle
+ depends = ca-certificates-java
+ depends = hicolor-icon-theme
+ depends = java-runtime-common
+ depends = nss
+ depends = xdg-utils
+ optdepends = alsa-lib: for basic sound support
+ optdepends = gtk2: for Gtk+ look and feel (desktop)
+ provides = java-runtime=10
+ provides = java-runtime-headless=10
+ provides = java-web-start=10
+ provides = java-runtime-jre=10
+ provides = java-runtime-headless-jre=10
+ provides = java-web-start-jre=10
+ provides = java-openjfx=10
+ provides = jre
+ conflicts = java-runtime-jre=10
+ backup = etc/java-jre10/management/jmxremote.access
+ backup = etc/java-jre10/management/management.properties
+ backup = etc/java-jre10/security/java.policy
+ backup = etc/java-jre10/security/java.security
+ backup = etc/java-jre10/security/javaws.policy
+ backup = etc/java-jre10/logging.properties
+ backup = etc/java-jre10/net.properties
+ backup = etc/java-jre10/sound.properties
+ source = http://url.muflone.com/jre-10.0.2_linux-x64_bin.tar.gz
+ sha256sums = 7d2909a597574f1821903790bb0f31aaa57ab7348e3ae53639c850371450845d
+
+pkgname = jre10
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..05e0bf9e147b
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,108 @@
+# Maintainer: Muflone http://www.muflone.com/contacts/english/
+# Contributor: Det <nimetonmaili g-mail>
+
+pkgname=jre10
+pkgver=10.0.2
+_major=${pkgver/.*}
+pkgrel=1
+pkgdesc="Oracle Java Runtime Environment (public release - end of support)"
+arch=('x86_64')
+url="http://www.oracle.com/technetwork/java/javase/downloads/index.html"
+license=('custom:Oracle')
+depends=('ca-certificates-java' 'hicolor-icon-theme' 'java-runtime-common' 'nss' 'xdg-utils')
+optdepends=('alsa-lib: for basic sound support'
+ 'gtk2: for Gtk+ look and feel (desktop)')
+provides=("java-runtime=${_major}" "java-runtime-headless=${_major}" "java-web-start=${_major}"
+ "java-runtime-jre=${_major}" "java-runtime-headless-jre=${_major}" "java-web-start-jre=${_major}"
+ "java-openjfx=${_major}" "jre")
+conflicts=("java-runtime-jre=${_major}")
+backup=("etc/java-${pkgname}/management/jmxremote.access"
+ "etc/java-${pkgname}/management/management.properties"
+ "etc/java-${pkgname}/security/java.policy"
+ "etc/java-${pkgname}/security/java.security"
+ "etc/java-${pkgname}/security/javaws.policy"
+ "etc/java-${pkgname}/logging.properties"
+ "etc/java-${pkgname}/net.properties"
+ "etc/java-${pkgname}/sound.properties")
+install=${pkgname}.install
+source=("http://url.muflone.com/jre-${pkgver}_linux-x64_bin.tar.gz")
+sha256sums=('7d2909a597574f1821903790bb0f31aaa57ab7348e3ae53639c850371450845d')
+_jvmdir="/usr/lib/jvm/java-${_major}-jre/jre"
+
+package() {
+ cd "jre-${pkgver}"
+
+ echo "Creating directory structure..."
+ install -d "${pkgdir}/etc/.java/.systemPrefs"
+ install -d "${pkgdir}/usr/lib/jvm/java-${_major}-jre/jre/bin"
+ install -d "${pkgdir}/usr/lib/mozilla/plugins"
+ install -d "${pkgdir}/usr/share/licenses/java${_major}-jre"
+
+ echo "Removing redundancies..."
+ rm -r "lib/desktop/icons/HighContrast"
+ rm -r "lib/desktop/icons/HighContrastInverse"
+ rm -r "lib/desktop/icons/LowContrast"
+ rm lib/fontconfig.*.bfc
+ rm lib/fontconfig.*.properties.src
+
+ echo "Moving contents..."
+ mv * "${pkgdir}/${_jvmdir}"
+
+ # Cd to the new playground
+ cd "${pkgdir}/${_jvmdir}"
+
+ echo "Fixing directory structure..."
+ # Fix bundled .desktops
+ sed -e "s|Exec=|Exec=${_jvmdir}/bin/|" \
+ -e "s|.png|-${pkgname}.png|" \
+ -i lib/desktop/applications/*
+
+ # Move .desktops + icons to /usr/share
+ mv lib/desktop/* "${pkgdir}/usr/share/"
+
+ # Suffix .desktops + icon (sun-jcontrol.png -> sun-jcontrol-${pkgname}.png)
+ for i in $(find "${pkgdir}"/usr/share/ -type f)
+ do
+ rename -- "." "-${pkgname}." $i
+ done
+
+ # Link missing icons
+ for i in $(find "${pkgdir}/usr/share/icons/" -name "sun-jcontrol-${pkgname}.png" -type f)
+ do
+ ln -s "sun-jcontrol-${pkgname}.png" "${i/jcontrol/java}"
+ ln -s "sun-jcontrol-${pkgname}.png" "${i/jcontrol/javaws}"
+ done
+
+ # Move confs to /etc and link back to /usr: /usr/lib/jvm/java-${pkgname}/conf -> /etc
+ for sub_path in $(find conf/ -type f)
+ do
+ # New location
+ new_etc_path="/etc/java-${pkgname}/${sub_path/conf\/}"
+
+ # Move & link
+ install -Dm644 "${sub_path}" "${pkgdir}/${new_etc_path}"
+ ln -sf "${new_etc_path}" "${sub_path}"
+ done
+
+ # Link NPAPI plugin
+ ln -sf "${_jvmdir}/lib/libnpjp2.so" "${pkgdir}/usr/lib/mozilla/plugins/libnpjp2-${pkgname}.so"
+
+ # Replace JKS keystore with 'ca-certificates-java'
+ ln -sf "/etc/ssl/certs/java/cacerts" "lib/security/cacerts"
+
+ # Move & link licenses
+ mv legal/ "${pkgdir}/usr/share/licenses/java${_major}-jre/"
+ ln -sf "/usr/share/licenses/java${_major}-jre/" "${pkgdir}/usr/share/licenses/${pkgname}"
+
+ echo "Enabling copy+paste in unsigned applets..."
+ # Copy/paste from system clipboard to unsigned Java applets has been disabled since 6u24:
+ # - https://blogs.oracle.com/kyle/entry/copy_and_paste_in_java
+ # - http://slightlyrandombrokenthoughts.blogspot.com/2011/03/oracle-java-applet-clipboard-injection.html
+ _line=$(awk '/permission/{a=NR}; END{print a}' "${pkgdir}"/etc/java-${pkgname}/security/java.policy)
+ sed "${_line} a\\\\n \
+ // (AUR) Allow unsigned applets to read system clipboard, see:\n \
+ // - https://blogs.oracle.com/kyle/entry/copy_and_paste_in_java\n \
+ // - http://slightlyrandombrokenthoughts.blogspot.com/2011/03/oracle-java-applet-clipboard-injection.html\n \
+ permission java.awt.AWTPermission \"accessClipboard\";" \
+ -i "${pkgdir}/etc/java-${pkgname}/security/java.policy"
+}
diff --git a/jre10.install b/jre10.install
new file mode 100644
index 000000000000..0ba16896f612
--- /dev/null
+++ b/jre10.install
@@ -0,0 +1,74 @@
+VERSION='10'
+THIS_JAVA='java-${VERSION}-jre/jre'
+NAME='JRE'
+
+all_off="$(tput sgr0)"
+bold="${all_off}$(tput bold)"
+blue="${bold}$(tput setaf 4)"
+yellow="${bold}$(tput setaf 3)"
+
+note() {
+ printf "${blue}::${yellow} archlinux-java:${bold} $1${all_off}\n"
+}
+
+note2() {
+ printf "${blue}==>${yellow} NOTE:${bold} $1${all_off}\n"
+}
+
+post_install() {
+ default=$(archlinux-java get)
+ case ${default} in
+ "")
+ archlinux-java set ${THIS_JAVA}
+ note "${NAME} ('${THIS_JAVA}') set as default Java environment."
+ ;;
+ ${THIS_JAVA})
+ note "${NAME} ('${THIS_JAVA}') set as default Java environment."
+ ;;
+ *)
+ note "Default Java environment already set to '${default}'.
+ To use ${NAME} ('${THIS_JAVA}'), run:
+ # archlinux-java set ${THIS_JAVA}
+ For status, use:
+ $ archlinux-java status"
+ ;;
+ esac
+
+ if [[ ! -f /etc/ssl/certs/java/cacerts ]]; then
+ update-ca-trust
+ fi
+
+ note2 "Since Oracle Java 9, some Qt 5 applications (such as the reader apps Zeal and
+ GoldenDict) will crash due to the existance of the Java NPAPI plugin symlink
+ (/usr/lib/mozilla/plugins/libnpjp2-jre${VERSION}.so).
+
+ See:
+ - https://github.com/zealdocs/zeal/issues/802
+ - https://bbs.archlinux.org/viewtopic.php?id=231222"
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ default=$(archlinux-java get)
+ if [[ ${default} = ${THIS_JAVA} ]]; then
+ archlinux-java unset
+ fi
+}
+
+post_remove() {
+ default=$(archlinux-java get) # reassign
+ if [[ ${default} ]]; then
+ note "Default Java environment is '${default}'."
+ else
+ archlinux-java fix
+ default=$(archlinux-java get) # re-reassign
+ if [[ ${default} ]]; then
+ note "Default Java environment left as '${default}'."
+ else
+ note "Java environment unset."
+ fi
+ fi
+}