diff options
-rw-r--r-- | .SRCINFO | 59 | ||||
-rw-r--r-- | PKGBUILD | 171 | ||||
-rw-r--r-- | jre.install | 105 | ||||
-rw-r--r-- | policytool.desktop | 8 |
4 files changed, 133 insertions, 210 deletions
@@ -1,39 +1,38 @@ pkgbase = jre - pkgdesc = Oracle Java Runtime Environment (public release - end of support) - pkgver = 10.0.2 + pkgdesc = Oracle Java Runtime Environment + pkgver = 11.0.1 pkgrel = 1 - url = http://www.oracle.com/technetwork/java/javase/downloads/index.html + url = https://www.oracle.com/java/ install = jre.install arch = x86_64 - license = custom:Oracle - depends = ca-certificates-java - depends = hicolor-icon-theme + license = custom depends = java-runtime-common - depends = nss - depends = xdg-utils + depends = ca-certificates-utils + depends = freetype2 + depends = libxtst + depends = libxrender + depends = libnet 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 = jre10 - conflicts = jre10 - 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://0install.de/files/hosted/jre-10.0.2_linux-x64_bin.tar.gz - source = policytool.desktop - sha256sums = 7d2909a597574f1821903790bb0f31aaa57ab7348e3ae53639c850371450845d - sha256sums = 175bf53f43aa42bcf719b9d08d6cbc926fb6e3fbdf2eea7a8090c1750a285a7f + provides = java-runtime=11 + provides = java-runtime-headless=11 + provides = java-runtime-jre=11 + provides = java-runtime-headless-jre=11 + backup = etc/java11-jre/management/jmxremote.access + backup = etc/java11-jre/management/jmxremote.password.template + backup = etc/java11-jre/management/management.properties + backup = etc/java11-jre/security/policy/limited/default_US_export.policy + backup = etc/java11-jre/security/policy/limited/default_local.policy + backup = etc/java11-jre/security/policy/limited/exempt_local.policy + backup = etc/java11-jre/security/policy/unlimited/default_US_export.policy + backup = etc/java11-jre/security/policy/unlimited/default_local.policy + backup = etc/java11-jre/security/policy/README.txt + backup = etc/java11-jre/security/java.policy + backup = etc/java11-jre/security/java.security + backup = etc/java11-jre/logging.properties + backup = etc/java11-jre/net.properties + backup = etc/java11-jre/sound.properties + source = https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz + sha256sums = e7fd856bacad04b6dbf3606094b6a81fa9930d6dbb044bbd787be7ea93abc885 pkgname = jre @@ -1,116 +1,71 @@ -# Maintainer: Det <nimetonmaili g-mail> +# Maintainer : Daniel Bermond < gmail-com: danielbermond > +# Contributor: Det <nimetonmaili g-mail> pkgname=jre -pkgver=10.0.2 -_major=${pkgver/.*} +pkgver=11.0.1 _build=13 -_hash=19aef61b38124481863b1413dce1855f -_jname=${pkgname}${_major} +_hash=90cf5d8f270a4347a95050320eef3fb7 +_majver="${pkgver%%.*}" pkgrel=1 -pkgdesc="Oracle Java Runtime Environment (public release - end of support)" +pkgdesc='Oracle Java Runtime Environment' 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" "$_jname") -conflicts=("$_jname") -_jvmdir=/usr/lib/jvm/java-$_major-$pkgname/jre -backup=("etc/java-$_jname/management/jmxremote.access" - "etc/java-$_jname/management/management.properties" - "etc/java-$_jname/security/java.policy" - "etc/java-$_jname/security/java.security" - "etc/java-$_jname/security/javaws.policy" - "etc/java-$_jname/logging.properties" - "etc/java-$_jname/net.properties" - "etc/java-$_jname/sound.properties") -install=$pkgname.install -#source=("http://download.oracle.com/otn-pub/java/jdk/${pkgver}+${_build}/${_hash}/${pkgname}-${pkgver}_linux-x64_bin.tar.gz" -source=('http://0install.de/files/hosted/jre-10.0.2_linux-x64_bin.tar.gz' - "policytool.desktop") -sha256sums=('7d2909a597574f1821903790bb0f31aaa57ab7348e3ae53639c850371450845d' - '175bf53f43aa42bcf719b9d08d6cbc926fb6e3fbdf2eea7a8090c1750a285a7f') - -DLAGENTS=('http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -b oraclelicense=a -o %o %u') +url='https://www.oracle.com/java/' +license=('custom') +depends=('java-runtime-common' 'ca-certificates-utils' 'freetype2' 'libxtst' + 'libxrender' 'libnet') +optdepends=('alsa-lib: for basic sound support') +provides=("java-runtime=${_majver}" "java-runtime-headless=${_majver}" + "java-runtime-jre=${_majver}" "java-runtime-headless-jre=${_majver}") +backup=("etc/java${_majver}-${pkgname}/management/jmxremote.access" + "etc/java${_majver}-${pkgname}/management/jmxremote.password.template" + "etc/java${_majver}-${pkgname}/management/management.properties" + "etc/java${_majver}-${pkgname}/security/policy/limited/default_US_export.policy" + "etc/java${_majver}-${pkgname}/security/policy/limited/default_local.policy" + "etc/java${_majver}-${pkgname}/security/policy/limited/exempt_local.policy" + "etc/java${_majver}-${pkgname}/security/policy/unlimited/default_US_export.policy" + "etc/java${_majver}-${pkgname}/security/policy/unlimited/default_local.policy" + "etc/java${_majver}-${pkgname}/security/policy/README.txt" + "etc/java${_majver}-${pkgname}/security/java.policy" + "etc/java${_majver}-${pkgname}/security/java.security" + "etc/java${_majver}-${pkgname}/logging.properties" + "etc/java${_majver}-${pkgname}/net.properties" + "etc/java${_majver}-${pkgname}/sound.properties") +install="${pkgname}.install" +source=("https://download.oracle.com/otn-pub/java/jdk/${pkgver}+${_build}/${_hash}/jdk-${pkgver}_linux-x64_bin.tar.gz") +sha256sums=('e7fd856bacad04b6dbf3606094b6a81fa9930d6dbb044bbd787be7ea93abc885') + +DLAGENTS=('https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -b oraclelicense=a -o %o %u') package() { - cd $pkgname-$pkgver - - msg2 "Creating directory structure..." - install -d "$pkgdir"/etc/.java/.systemPrefs - install -d "$pkgdir"/usr/lib/jvm/java-$_major-$pkgname/jre/bin - install -d "$pkgdir"/usr/lib/mozilla/plugins - install -d "$pkgdir"/usr/share/licenses/java$_major-$pkgname - - msg2 "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 - - msg2 "Moving contents..." - mv * "$pkgdir"/$_jvmdir - - # Cd to the new playground - cd "$pkgdir"/$_jvmdir - - msg2 "Fixing directory structure..." - # Fix bundled .desktops - sed -e "s|Exec=|Exec=$_jvmdir/bin/|" \ - -e "s|.png|-$_jname.png|" \ - -i lib/desktop/applications/* - - # Move .desktops + icons to /usr/share - mv lib/desktop/* "$pkgdir"/usr/share/ - install -m644 "$srcdir"/*.desktop "$pkgdir"/usr/share/applications/ - - # Suffix .desktops + icon (sun-jcontrol.png -> sun-jcontrol-$_jname.png) - for i in $(find "$pkgdir"/usr/share/ -type f); do - rename -- "." "-$_jname." $i - done - - # Write versions to .desktops + .install - sed -i "s/<version>/$_major/" "$pkgdir"/usr/share/applications/* "$startdir"/$pkgname.install - - # Link missing icons - for i in $(find "$pkgdir"/usr/share/icons/ -name "sun-jcontrol-$_jname.png" -type f); do - ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/java}" - ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/javaws}" - done - - # Move confs to /etc and link back to /usr: /usr/lib/jvm/java-$_jname/conf -> /etc - for sub_path in $(find conf/ -type f); do - # New location - new_etc_path="/etc/java-$_jname/${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-$_jname.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-$pkgname/ - ln -sf /usr/share/licenses/java$_major-$pkgname/ "$pkgdir"/usr/share/licenses/$pkgname - - msg2 "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-$_jname/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-$_jname/security/java.policy + cd "jdk-${pkgver}" + + local _jvmdir="/usr/lib/jvm/java-${_majver}-jdk" + + install -d -m755 "${pkgdir}/etc" + install -d -m755 "${pkgdir}/${_jvmdir}" + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" + + # conf + cp -a conf "${pkgdir}/etc/java${_majver}-${pkgname}" + ln -s "../../../../etc/java${_majver}-${pkgname}" "${pkgdir}/${_jvmdir}/conf" + + # bin + install -D -m755 bin/{java,jjs,jrunscript,keytool,pack200} -t "${pkgdir}/${_jvmdir}/bin" + install -D -m755 bin/{rmid,rmiregistry,unpack200} -t "${pkgdir}/${_jvmdir}/bin" + + # libs + cp -a lib "${pkgdir}/${_jvmdir}" + rm -r "${pkgdir}/${_jvmdir}/lib/jfr" + rm "${pkgdir}/${_jvmdir}/lib/"{ct.sym,libattach.so,libsaproc.so,src.zip} + + install -D -m644 release -t "${pkgdir}/${_jvmdir}" + + # replace JKS keystore with ca-certificates-utils + rm "${pkgdir}${_jvmdir}/lib/security/cacerts" + ln -s /etc/ssl/certs/java/cacerts "${pkgdir}${_jvmdir}/lib/security/cacerts" + + # legal/licenses + cp -a legal/* "${pkgdir}/usr/share/licenses/${pkgname}" + ln -s "$pkgname" "${pkgdir}/usr/share/licenses/java${_majver}-${pkgname}" + ln -s "../../../share/licenses/${pkgname}" "${pkgdir}/${_jvmdir}/legal" } diff --git a/jre.install b/jre.install index 25f98a8d2a24..512d7a1df4fc 100644 --- a/jre.install +++ b/jre.install @@ -1,74 +1,51 @@ -VERSION='<version>' -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" +THIS_JRE='java-11-jdk' + +fix_default() { + if [ ! -x /usr/bin/java ]; then + /usr/bin/archlinux-java unset + echo "" + else + /usr/bin/archlinux-java get + fi } 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" + default=$(fix_default) + case ${default} in + "") + /usr/bin/archlinux-java set ${THIS_JRE} + ;; + ${THIS_JRE}) + # Nothing + ;; + *) + echo "Default Java environment is already set to '${default}'" + echo "See 'archlinux-java help' to change it." + ;; + esac + + echo "When you use a non-reparenting window manager," + echo "set _JAVA_AWT_WM_NONREPARENTING=1 in /etc/profile.d/jre.sh" + + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/bin/update-ca-trust + fi } post_upgrade() { - post_install -} + if [ -z "$(fix_default)" ]; then + /usr/bin/archlinux-java set ${THIS_JRE} + fi -pre_remove() { - default=$(archlinux-java get) - if [[ ${default} = ${THIS_JAVA} ]]; then - archlinux-java unset - fi + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/bin/update-ca-trust + 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 +pre_remove() { + default=$(fix_default) + if [ "x${default}" = "x${THIS_JRE}" ]; then + /usr/bin/archlinux-java unset + echo "No Java environment is set as default anymore" + fi } diff --git a/policytool.desktop b/policytool.desktop deleted file mode 100644 index 578043c1844d..000000000000 --- a/policytool.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Exec=/usr/lib/jvm/java-10-jre/jre/bin/policytool -Icon=sun-java-jre10 -Name=Java Policy Settings -StartupNotify=true -Terminal=false -Type=Application -Categories=Settings;Java; |