Update jdks + idea

This commit is contained in:
Travis Burtrum 2018-04-19 08:49:44 -04:00
parent d6ff21dcb5
commit ad3e05cfeb
16 changed files with 195 additions and 254 deletions

View File

@ -2,8 +2,8 @@
pkgbase=intellij-idea-ultimate-edition pkgbase=intellij-idea-ultimate-edition
pkgname=(intellij-idea-ultimate-edition intellij-idea-ultimate-edition-jre) pkgname=(intellij-idea-ultimate-edition intellij-idea-ultimate-edition-jre)
pkgver=2017.3.4 pkgver=2018.1.1
_buildver=173.4548.28 _buildver=181.4445.78
pkgrel=1 pkgrel=1
arch=('any') arch=('any')
pkgdesc="An intelligent IDE for Java, Groovy and other programming languages with advanced refactoring features intensely focused on developer productivity." pkgdesc="An intelligent IDE for Java, Groovy and other programming languages with advanced refactoring features intensely focused on developer productivity."
@ -12,7 +12,7 @@ license=('Commercial')
options=(!strip) options=(!strip)
source=("https://download.jetbrains.com/idea/ideaIU-$pkgver.tar.gz" source=("https://download.jetbrains.com/idea/ideaIU-$pkgver.tar.gz"
"jetbrains-idea.desktop") "jetbrains-idea.desktop")
sha256sums=('d1f33796fa317c04e0618a9bd329f944355c3374011815c398384ca5cc57bfbc' sha256sums=('259ede8f233bdde5435ac2c800423428a4692e489fe4d764667c90a246ab0629'
'83af2ba8f9f14275a6684e79d6d4bd9b48cd852c047dacfc81324588fa2ff92b') '83af2ba8f9f14275a6684e79d6d4bd9b48cd852c047dacfc81324588fa2ff92b')
prepare() { prepare() {

View File

@ -2,8 +2,9 @@
_pkgname=jdk _pkgname=jdk
pkgname=jdk-devel pkgname=jdk-devel
_major=10 _major=11
_build=43 _build=10
_jname=${_pkgname}${_major}
pkgver=${_major}b${_build} pkgver=${_major}b${_build}
pkgrel=1 pkgrel=1
pkgdesc="Oracle Java $_major Development Kit Snapshot" pkgdesc="Oracle Java $_major Development Kit Snapshot"
@ -16,130 +17,112 @@ optdepends=('alsa-lib: for basic sound support'
'gtk2: for Gtk+ look and feel (desktop)') 'gtk2: for Gtk+ look and feel (desktop)')
provides=("java-runtime=$_major" "java-runtime-headless=$_major" "java-web-start=$_major" "java-environment=$_major" provides=("java-runtime=$_major" "java-runtime-headless=$_major" "java-web-start=$_major" "java-environment=$_major"
"java-runtime-jre=$_major" "java-runtime-headless-jre=$_major" "java-web-start-jre=$_major" "java-environment-jdk=$_major" "java-runtime-jre=$_major" "java-runtime-headless-jre=$_major" "java-web-start-jre=$_major" "java-environment-jdk=$_major"
"java-openjfx=$_major") "java-openjfx=$_major" "$_jname")
conflicts=("java-runtime-jre=$_major" "java-environment-jdk=$_major") conflicts=("$_jname")
# Variables
_jname=${_pkgname}${_major}
_jvmdir=/usr/lib/jvm/java-$_major-$_pkgname _jvmdir=/usr/lib/jvm/java-$_major-$_pkgname
backup=("etc/java-$_jname/management/jmxremote.access" backup=("etc/java-$_jname/management/jmxremote.access"
"etc/java-$_jname/management/management.properties" "etc/java-$_jname/management/management.properties"
"etc/java-$_jname/security/java.policy" "etc/java-$_jname/security/java.policy"
"etc/java-$_jname/security/java.security" "etc/java-$_jname/security/java.security"
"etc/java-$_jname/security/javaws.policy" "etc/java-$_jname/security/javaws.policy"
"etc/java-$_jname/fontconfig.properties.src"
"etc/java-$_jname/logging.properties" "etc/java-$_jname/logging.properties"
"etc/java-$_jname/net.properties" "etc/java-$_jname/net.properties"
"etc/java-$_jname/psfont.properties.ja"
"etc/java-$_jname/psfontj2d.properties"
"etc/java-$_jname/sound.properties") "etc/java-$_jname/sound.properties")
options=('!strip') # JDK debug-symbols options=('!strip') # JDK debug-symbols
install=$pkgname.install install=$pkgname.install
source=("https://download.java.net/java/jdk${_major}/archive/${_build}/BCL/${_pkgname}-${_major}+${_build}_linux-x64_bin.tar.gz" source=("https://download.java.net/java/early_access/jdk${_major}/${_build}/BCL/${_pkgname}-${_major}-ea+${_build}_linux-x64_bin.tar.gz"
"jconsole-$_jname.desktop" "jconsole.desktop"
"jmc-$_jname.desktop" "jmc.desktop"
"jvisualvm-$_jname.desktop" "policytool.desktop"
"policytool-$_jname.desktop"
'LICENSE-Early-Adopter-Development-Agreement.txt') 'LICENSE-Early-Adopter-Development-Agreement.txt')
sha256sums=('ecfa54b83f7df99eeb838e0a162eb4cb1043c6cc78e0abf8b651aaac5a54d841' sha256sums=('7d0268f2493fdc9607b665c0cb9bede7ff207d173908965dc7429ef32b90a18f'
'2e429abf6f14f506f8caa643eeed10921ef3c9b6820850778822f6e95a5fc956' '7fd81eced792aa76dac697b3daaa5d2699b15e8c6768ed4690a331e9f616b034'
'c163f149154d8a3f76ba916d49215673f3056595d857b2f2b7074e88496bbd32' 'bef07cdacef3e25137ac6ec394f09bb683c3ceb30b894f4b0c5ea40b0f87e4d5'
'fd519f3ffb9ff649ae1c39674d247d9d26af2befb4ac557e885e84c3c4669950' '79fdffd1c3d6c0826a95d21e59392213c3a2e32709909629cfb4d222d349f2e1'
'2dfc037e6ffc5a2bba31afe44a6a0e1e6e4eb7bb105256793372a21083b1e3be'
'36d48f14c16f0dcc98a8ce2301fd2a111701e6f59a7da08b0e51fdb3e2f9ca89') '36d48f14c16f0dcc98a8ce2301fd2a111701e6f59a7da08b0e51fdb3e2f9ca89')
package() { package() {
cd $_pkgname-$_major cd $_pkgname-$_major
msg2 "Creating directory structure..." msg2 "Creating directory structure..."
install -d "$pkgdir"/etc/.java/.systemPrefs install -d "$pkgdir"/etc/.java/.systemPrefs
install -d "$pkgdir"/usr/lib/jvm/java-$_major-$_pkgname/bin install -d "$pkgdir"/usr/lib/jvm/java-$_major-$_pkgname/bin
install -d "$pkgdir"/usr/lib/mozilla/plugins install -d "$pkgdir"/usr/lib/mozilla/plugins
install -d "$pkgdir"/usr/share/licenses/java$_major-$_pkgname install -d "$pkgdir"/usr/share/licenses/java$_major-$_pkgname
msg2 "Removing redundancies..." msg2 "Removing redundancies..."
rm -r lib/desktop/icons/HighContrast rm -r lib/desktop/icons/HighContrast
rm -r lib/desktop/icons/HighContrastInverse rm -r lib/desktop/icons/HighContrastInverse
rm -r lib/desktop/icons/LowContrast rm -r lib/desktop/icons/LowContrast
rm lib/fontconfig.*.bfc rm lib/fontconfig.*.bfc
rm lib/fontconfig.*.properties.src rm lib/fontconfig.*.properties.src
msg2 "Moving contents..." msg2 "Moving contents..."
mv * "$pkgdir"/$_jvmdir mv * "$pkgdir"/$_jvmdir
# Cd to the new playground # Cd to the new playground
cd "$pkgdir"/$_jvmdir cd "$pkgdir"/$_jvmdir
# Create a placeholder 'jre' link msg2 "Fixing directory structure..."
ln -s . jre # Create a placeholder 'jre' link
ln -s . jre
msg2 "Fixing directory structure..." # Fix bundled .desktops
# Suffix .desktops + icon (sun-jcontrol.png -> sun-jcontrol-$_jname.png) sed -e '/JavaWS/!s|Name=Java|Name=Java '"$_major"'|' \
for i in $(find lib/desktop/ -type f); do -e "s|Name=JavaWS|Name=JavaWS $_major|" \
rename -- "." "-$_jname." $i -e "s|Comment=Java|Comment=Java $_major|" \
done -e "s|Exec=|Exec=$_jvmdir/bin/|" \
-e "s|.png|-$_jname.png|" \
-i lib/desktop/applications/*
# Link missing icons # Move .desktops + icons to /usr/share
for i in $(find lib/desktop/icons/ -name "sun-jcontrol-$_jname.png" -type f); do mv lib/desktop/* "$pkgdir"/usr/share/
ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/java}" install -m644 "$srcdir"/*.desktop "$pkgdir"/usr/share/applications/
ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/javaws}"
done
# Fix .desktop's # Suffix .desktops + icon (sun-jcontrol.png -> sun-jcontrol-$_jname.png)
sed -e '/JavaWS/!s|Name=Java|Name=Java '"$_major"'|' \ for i in $(find "$pkgdir"/usr/share/ -type f); do
-e "s|Name=JavaWS|Name=JavaWS $_major|" \ rename -- "." "-$_jname." $i
-e "s|Comment=Java|Comment=Java $_major|" \ done
-e "s|Exec=|Exec=$_jvmdir/bin/|" \
-e "s|.png|-$_jname.png|" \
-i lib/desktop/applications/*
# Move .desktops + icons to /usr/share # Write versions to .desktops + .install
mv lib/desktop/* "$pkgdir"/usr/share/ sed -i "s/<version>/$_major/" "$pkgdir"/usr/share/applications/* "$startdir"/$pkgname.install
install -m644 "$srcdir"/*.desktop "$pkgdir"/usr/share/applications/
# Move confs to /etc and link back to /usr: /usr/lib/jvm/java-$_jname/conf -> /etc # Link missing icons
for old_usr_path in $(find conf/ -type f); do for i in $(find "$pkgdir"/usr/share/icons/ -name "sun-jcontrol-$_jname.png" -type f); do
# New location ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/java}"
new_etc_path="/etc/java-$_jname/${old_usr_path/conf\/}" ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/javaws}"
done
# Move /link # Move confs to /etc and link back to /usr: /usr/lib/jvm/java-$_jname/conf -> /etc
install -Dm644 "$old_usr_path" "$pkgdir/$new_etc_path" for sub_path in $(find conf/ -type f); do
ln -sf "$new_etc_path" "$old_usr_path" # New location
done new_etc_path="/etc/java-$_jname/${sub_path/conf\/}"
# Move confs to /etc and link back to /usr: /usr/lib/jvm/java-$_jname/lib -> /etc # Move & link
for new_etc_path in ${backup[@]}; do install -Dm644 "$sub_path" "$pkgdir/$new_etc_path"
# Old location ln -sf "$new_etc_path" "$sub_path"
old_usr_path="lib/${new_etc_path#*$_jname/}" done
# Move/link # Link NPAPI plugin
if [[ -f $old_usr_path ]]; then ln -sf $_jvmdir/lib/libnpjp2.so "$pkgdir"/usr/lib/mozilla/plugins/libnpjp2-$_jname.so
install -Dm644 "$old_usr_path" "$pkgdir/$new_etc_path"
ln -sf "/$new_etc_path" "$old_usr_path"
fi
done
# Link NPAPI plugin # Replace JKS keystore with 'ca-certificates-java'
ln -sf $_jvmdir/lib/libnpjp2.so "$pkgdir"/usr/lib/mozilla/plugins/libnpjp2-$_jname.so ln -sf /etc/ssl/certs/java/cacerts lib/security/cacerts
# Replace JKS keystore with 'ca-certificates-java' # Move & link licenses
ln -sf /etc/ssl/certs/java/cacerts lib/security/cacerts mv legal/ "$pkgdir"/usr/share/licenses/java$_major-$_pkgname/
install -m644 "$srcdir"/LICENSE-Early-Adopter-Development-Agreement.txt "$pkgdir"/usr/share/licenses/java$_major-$_pkgname/
ln -sf /usr/share/licenses/java$_major-$_pkgname/ "$pkgdir"/usr/share/licenses/$pkgname
# Move/link licenses msg2 "Enabling copy+paste in unsigned applets..."
mv legal/ "$pkgdir"/usr/share/licenses/java$_major-$_pkgname/ # Copy/paste from system clipboard to unsigned Java applets has been disabled since 6u24:
install -m644 "$srcdir"/LICENSE-Early-Adopter-Development-Agreement.txt "$pkgdir"/usr/share/licenses/java$_major-$_pkgname/ # - https://blogs.oracle.com/kyle/entry/copy_and_paste_in_java
ln -sf /usr/share/licenses/java$_major-$_pkgname/ "$pkgdir"/usr/share/licenses/$pkgname # - 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)
msg2 "Enabling copy+paste in unsigned applets..." sed "$_line a\\\\n \
# Copy/paste from system clipboard to unsigned Java applets has been disabled since 6u24: // (AUR) Allow unsigned applets to read system clipboard, see:\n \
# - https://blogs.oracle.com/kyle/entry/copy_and_paste_in_java // - https://blogs.oracle.com/kyle/entry/copy_and_paste_in_java\n \
# - http://slightlyrandombrokenthoughts.blogspot.com/2011/03/oracle-java-applet-clipboard-injection.html // - http://slightlyrandombrokenthoughts.blogspot.com/2011/03/oracle-java-applet-clipboard-injection.html\n \
_line=$(awk '/permission/{a=NR}; END{print a}' "$pkgdir"/etc/java-$_jname/security/java.policy) permission java.awt.AWTPermission \"accessClipboard\";" \
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 -i "$pkgdir"/etc/java-$_jname/security/java.policy
} }

View File

@ -1,8 +0,0 @@
[Desktop Entry]
Exec=/usr/lib/jvm/java-10-jdk/bin/jconsole
Icon=sun-java-jdk10
Name=Java 10 Monitoring and Management Console
StartupNotify=true
Terminal=false
Type=Application
Categories=Development;Java;

View File

@ -0,0 +1,8 @@
[Desktop Entry]
Exec=/usr/lib/jvm/java-<version>-jdk/bin/jconsole
Icon=sun-java-jdk<version>
Name=Java <version> Monitoring and Management Console
StartupNotify=true
Terminal=false
Type=Application
Categories=Development;Java;

View File

@ -1,4 +1,5 @@
THIS_JAVA='java-10-jdk' VERSION='<version>'
THIS_JAVA='java-${VERSION}-jdk'
NAME='JDK Devel' NAME='JDK Devel'
all_off="$(tput sgr0)" all_off="$(tput sgr0)"
@ -39,7 +40,7 @@ post_install() {
note2 "Since Oracle Java 9, some Qt 5 applications (such as the reader apps Zeal and 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 GoldenDict) will crash due to the existance of the Java NPAPI plugin symlink
(/usr/lib/mozilla/plugins/libnpjp2-jdk10.so). (/usr/lib/mozilla/plugins/libnpjp2-jdk${VERSION}.so).
See: See:
- https://github.com/zealdocs/zeal/issues/802 - https://github.com/zealdocs/zeal/issues/802

View File

@ -1,8 +0,0 @@
[Desktop Entry]
Exec=/usr/lib/jvm/java-10-jdk/bin/jmc
Icon=sun-java-jdk10
Name=Java 10 Mission Control
StartupNotify=true
Terminal=false
Type=Application
Categories=Development;Java;

View File

@ -0,0 +1,8 @@
[Desktop Entry]
Exec=/usr/lib/jvm/java-<version>-jdk/bin/jmc
Icon=sun-java-jdk<version>
Name=Java <version> Mission Control
StartupNotify=true
Terminal=false
Type=Application
Categories=Development;Java;

View File

@ -1,9 +0,0 @@
[Desktop Entry]
Exec=/usr/lib/jvm/java-10-jdk/bin/jvisualvm
GenericName=Java 10 Monitoring and Performance Monitoring Tool
Icon=sun-java-jdk10
Name=Java 10 VisualVM
StartupNotify=true
Terminal=false
Type=Application
Categories=Development;Java;

View File

@ -1,8 +0,0 @@
[Desktop Entry]
Exec=/usr/lib/jvm/java-10-jdk/bin/policytool
Icon=sun-java-jdk10
Name=Java 10 Policy Settings
StartupNotify=true
Terminal=false
Type=Application
Categories=Settings;Java;

View File

@ -0,0 +1,8 @@
[Desktop Entry]
Exec=/usr/lib/jvm/java-<version>-jdk/bin/policytool
Icon=sun-java-jdk<version>
Name=Java <version> Policy Settings
StartupNotify=true
Terminal=false
Type=Application
Categories=Settings;Java;

View File

@ -1,10 +1,11 @@
# Maintainer: Det <nimetonmaili g-mail> # Maintainer: Det <nimetonmaili g-mail>
pkgname=jdk pkgname=jdk
pkgver=9.0.4 pkgver=10.0.1
_major=${pkgver/.*} _major=${pkgver/.*}
_build=11 _build=10
_hash=c2514751926b4512b076cc82f959763f _hash=fb4372174a714e6b8c52526dc134031e
_jname=${pkgname}${_major}
pkgrel=1 pkgrel=1
pkgdesc="Oracle Java Development Kit" pkgdesc="Oracle Java Development Kit"
arch=('x86_64') arch=('x86_64')
@ -16,135 +17,108 @@ optdepends=('alsa-lib: for basic sound support'
'gtk2: for Gtk+ look and feel (desktop)') 'gtk2: for Gtk+ look and feel (desktop)')
provides=("java-runtime=$_major" "java-runtime-headless=$_major" "java-web-start=$_major" "java-environment=$_major" provides=("java-runtime=$_major" "java-runtime-headless=$_major" "java-web-start=$_major" "java-environment=$_major"
"java-runtime-jre=$_major" "java-runtime-headless-jre=$_major" "java-web-start-jre=$_major" "java-environment-jdk=$_major" "java-runtime-jre=$_major" "java-runtime-headless-jre=$_major" "java-web-start-jre=$_major" "java-environment-jdk=$_major"
"java-openjfx=$_major") "java-openjfx=$_major" "$_jname")
conflicts=("java-runtime-jre=$_major" "java-environment-jdk=$_major") conflicts=("$_jname")
# Variables
DLAGENTS=('http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -b oraclelicense=a -o %o %u')
_jname=${pkgname}${_major}
_jvmdir=/usr/lib/jvm/java-$_major-$pkgname _jvmdir=/usr/lib/jvm/java-$_major-$pkgname
backup=("etc/java-$_jname/management/jmxremote.access" backup=("etc/java-$_jname/management/jmxremote.access"
"etc/java-$_jname/management/management.properties" "etc/java-$_jname/management/management.properties"
"etc/java-$_jname/security/java.policy" "etc/java-$_jname/security/java.policy"
"etc/java-$_jname/security/java.security" "etc/java-$_jname/security/java.security"
"etc/java-$_jname/security/javaws.policy" "etc/java-$_jname/security/javaws.policy"
"etc/java-$_jname/fontconfig.properties.src"
"etc/java-$_jname/logging.properties" "etc/java-$_jname/logging.properties"
"etc/java-$_jname/net.properties" "etc/java-$_jname/net.properties"
"etc/java-$_jname/psfont.properties.ja"
"etc/java-$_jname/psfontj2d.properties"
"etc/java-$_jname/sound.properties") "etc/java-$_jname/sound.properties")
options=('!strip') # JDK debug-symbols options=('!strip') # JDK debug-symbols
install=$pkgname.install install=$pkgname.install
source=("http://download.oracle.com/otn-pub/java/jdk/${pkgver}+${_build}/${_hash}/${pkgname}-${pkgver}_linux-x64_bin.tar.gz" source=("http://download.oracle.com/otn-pub/java/jdk/${pkgver}+${_build}/${_hash}/${pkgname}-${pkgver}_linux-x64_bin.tar.gz"
"jconsole-$_jname.desktop" "jconsole.desktop"
"jmc-$_jname.desktop" "jmc.desktop"
"jvisualvm-$_jname.desktop" "policytool.desktop")
"policytool-$_jname.desktop") sha256sums=('ae8ed645e6af38432a56a847597ac61d4283b7536688dbab44ab536199d1e5a4'
sha256sums=('90c4ea877e816e3440862cfa36341bc87d05373d53389ec0f2d54d4e8c95daa2' '3ea717825268a66837380c9ca2b076f02a3298d2df48c3450152fdaf1d0dbc6e'
'100fd0162a4be04371d9d53121bd511aeb0a230475497a8c19ed0cff20915efc' '365b33b197e6be65ad746e5ed864428e45ae1e24dba53aa7d9c71de0644cf4e2'
'e4059de8ec0dee1a5eabd1d67a053509aa0009ba6e08739b11140c26f2fcc55a' '5dfde6ee531056571d9601d47fbb4a3e56062e4d611667a56ba7931ec7948b36')
'1f74cc627bd6a934681fe2d453058c21794d1435205c501f7fecdaf2c94f5485'
'ff6684d7d5c26cc805e6f3918284a95b48223db4f37956f35a344373a2931aa4') DLAGENTS=('http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -b oraclelicense=a -o %o %u')
package() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
msg2 "Creating directory structure..." msg2 "Creating directory structure..."
install -d "$pkgdir"/etc/.java/.systemPrefs install -d "$pkgdir"/etc/.java/.systemPrefs
install -d "$pkgdir"/usr/lib/jvm/java-$_major-$pkgname/bin install -d "$pkgdir"/usr/lib/jvm/java-$_major-$pkgname/bin
install -d "$pkgdir"/usr/lib/mozilla/plugins install -d "$pkgdir"/usr/lib/mozilla/plugins
install -d "$pkgdir"/usr/share/licenses/java$_major-$pkgname install -d "$pkgdir"/usr/share/licenses/java$_major-$pkgname
msg2 "Removing redundancies..." msg2 "Removing redundancies..."
rm -r lib/desktop/icons/HighContrast rm -r lib/desktop/icons/HighContrast
rm -r lib/desktop/icons/HighContrastInverse rm -r lib/desktop/icons/HighContrastInverse
rm -r lib/desktop/icons/LowContrast rm -r lib/desktop/icons/LowContrast
rm lib/fontconfig.*.bfc rm lib/fontconfig.*.bfc
rm lib/fontconfig.*.properties.src rm lib/fontconfig.*.properties.src
msg2 "Moving contents..." msg2 "Moving contents..."
mv * "$pkgdir"/$_jvmdir mv * "$pkgdir"/$_jvmdir
# Cd to the new playground # Cd to the new playground
cd "$pkgdir"/$_jvmdir cd "$pkgdir"/$_jvmdir
# Create a placeholder 'jre' link msg2 "Fixing directory structure..."
ln -s . jre # Create a placeholder 'jre' link
ln -s . jre
msg2 "Fixing directory structure..." # Fix bundled .desktops
# Suffix .desktops + icon (sun-jcontrol.png -> sun-jcontrol-$_jname.png) sed -e "s|Exec=|Exec=$_jvmdir/bin/|" \
for i in $(find lib/desktop/ -type f); do -e "s|.png|-$_jname.png|" \
rename -- "." "-$_jname." $i -i lib/desktop/applications/*
done
# Link missing icons # Move .desktops + icons to /usr/share
for i in $(find lib/desktop/icons/ -name "sun-jcontrol-$_jname.png" -type f); do mv lib/desktop/* "$pkgdir"/usr/share/
ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/java}" install -m644 "$srcdir"/*.desktop "$pkgdir"/usr/share/applications/
ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/javaws}"
done
# Fix .desktop's # Suffix .desktops + icon (sun-jcontrol.png -> sun-jcontrol-$_jname.png)
sed -e '/JavaWS/!s|Name=Java|Name=Java '"$_major"'|' \ for i in $(find "$pkgdir"/usr/share/ -type f); do
-e "s|Name=JavaWS|Name=JavaWS $_major|" \ rename -- "." "-$_jname." $i
-e "s|Comment=Java|Comment=Java $_major|" \ done
-e "s|Exec=|Exec=$_jvmdir/bin/|" \
-e "s|.png|-$_jname.png|" \
-i lib/desktop/applications/*
# Move .desktops + icons to /usr/share # Write versions to .desktops + .install
mv lib/desktop/* "$pkgdir"/usr/share/ sed -i "s/<version>/$_major/" "$pkgdir"/usr/share/applications/* "$startdir"/$pkgname.install
install -m644 "$srcdir"/*.desktop "$pkgdir"/usr/share/applications/
# Move confs to /etc and link back to /usr: /usr/lib/jvm/java-$_jname/conf -> /etc # Link missing icons
for old_usr_path in $(find conf/ -type f); do for i in $(find "$pkgdir"/usr/share/icons/ -name "sun-jcontrol-$_jname.png" -type f); do
# New location ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/java}"
new_etc_path="/etc/java-$_jname/${old_usr_path/conf\/}" ln -s "sun-jcontrol-$_jname.png" "${i/jcontrol/javaws}"
done
# Move /link # Move confs to /etc and link back to /usr: /usr/lib/jvm/java-$_jname/conf -> /etc
install -Dm644 "$old_usr_path" "$pkgdir/$new_etc_path" for sub_path in $(find conf/ -type f); do
ln -sf "$new_etc_path" "$old_usr_path" # New location
done new_etc_path="/etc/java-$_jname/${sub_path/conf\/}"
# Move confs to /etc and link back to /usr: /usr/lib/jvm/java-$_jname/lib -> /etc # Move & link
for new_etc_path in ${backup[@]}; do install -Dm644 "$sub_path" "$pkgdir/$new_etc_path"
# Old location ln -sf "$new_etc_path" "$sub_path"
old_usr_path="lib/${new_etc_path#*$_jname/}" done
# Move/link # Link NPAPI plugin
if [[ -f $old_usr_path ]]; then ln -sf $_jvmdir/lib/libnpjp2.so "$pkgdir"/usr/lib/mozilla/plugins/libnpjp2-$_jname.so
install -Dm644 "$old_usr_path" "$pkgdir/$new_etc_path"
ln -sf "/$new_etc_path" "$old_usr_path"
fi
done
# Link NPAPI plugin # Replace JKS keystore with 'ca-certificates-java'
ln -sf $_jvmdir/lib/libnpjp2.so "$pkgdir"/usr/lib/mozilla/plugins/libnpjp2-$_jname.so ln -sf /etc/ssl/certs/java/cacerts lib/security/cacerts
# Replace JKS keystore with 'ca-certificates-java' # Move & link licenses
ln -sf /etc/ssl/certs/java/cacerts lib/security/cacerts mv legal/ "$pkgdir"/usr/share/licenses/java$_major-$pkgname/
ln -sf /usr/share/licenses/java$_major-$pkgname/ "$pkgdir"/usr/share/licenses/$pkgname
# Move/link licenses msg2 "Enabling copy+paste in unsigned applets..."
mv legal/ "$pkgdir"/usr/share/licenses/java$_major-$pkgname/ # Copy/paste from system clipboard to unsigned Java applets has been disabled since 6u24:
ln -sf /usr/share/licenses/java$_major-$pkgname/ "$pkgdir"/usr/share/licenses/$pkgname # - https://blogs.oracle.com/kyle/entry/copy_and_paste_in_java
# - http://slightlyrandombrokenthoughts.blogspot.com/2011/03/oracle-java-applet-clipboard-injection.html
# msg2 "Enabling Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy..." _line=$(awk '/permission/{a=NR}; END{print a}' "$pkgdir"/etc/java-$_jname/security/java.policy)
# # Replace default "strong", but limited, cryptography to get an "unlimited strength" one for sed "$_line a\\\\n \
# # things like 256-bit AES. Enabled by default in OpenJDK: // (AUR) Allow unsigned applets to read system clipboard, see:\n \
# # - http://suhothayan.blogspot.com/2012/05/how-to-install-java-cryptography.html // - https://blogs.oracle.com/kyle/entry/copy_and_paste_in_java\n \
# # - http://www.eyrie.org/~eagle/notes/debian/jce-policy.html // - http://slightlyrandombrokenthoughts.blogspot.com/2011/03/oracle-java-applet-clipboard-injection.html\n \
# sed -i "s/crypto.policy=limited/crypto.policy=unlimited/" "$pkgdir"/etc/java-$_jname/security/java.security permission java.awt.AWTPermission \"accessClipboard\";" \
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 -i "$pkgdir"/etc/java-$_jname/security/java.policy
} }

View File

@ -1,6 +1,6 @@
[Desktop Entry] [Desktop Entry]
Exec=/usr/lib/jvm/java-9-jdk/bin/jconsole Exec=/usr/lib/jvm/java-<version>-jdk/bin/jconsole
Icon=sun-java-jdk9 Icon=sun-java-jdk<version>
Name=Java Monitoring and Management Console Name=Java Monitoring and Management Console
StartupNotify=true StartupNotify=true
Terminal=false Terminal=false

View File

@ -1,4 +1,5 @@
THIS_JAVA='java-9-jdk' VERSION='10'
THIS_JAVA='java-${VERSION}-jdk'
NAME='JDK' NAME='JDK'
all_off="$(tput sgr0)" all_off="$(tput sgr0)"
@ -39,7 +40,7 @@ post_install() {
note2 "Since Oracle Java 9, some Qt 5 applications (such as the reader apps Zeal and 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 GoldenDict) will crash due to the existance of the Java NPAPI plugin symlink
(/usr/lib/mozilla/plugins/libnpjp2-jdk9.so). (/usr/lib/mozilla/plugins/libnpjp2-jdk${VERSION}.so).
See: See:
- https://github.com/zealdocs/zeal/issues/802 - https://github.com/zealdocs/zeal/issues/802

View File

@ -1,6 +1,6 @@
[Desktop Entry] [Desktop Entry]
Exec=/usr/lib/jvm/java-9-jdk/bin/jmc Exec=/usr/lib/jvm/java-<version>-jdk/bin/jmc
Icon=sun-java-jdk9 Icon=sun-java-jdk<version>
Name=Java Mission Control Name=Java Mission Control
StartupNotify=true StartupNotify=true
Terminal=false Terminal=false

View File

@ -1,9 +0,0 @@
[Desktop Entry]
Exec=/usr/lib/jvm/java-9-jdk/bin/jvisualvm
GenericName=Java Monitoring and Performance Monitoring Tool
Icon=sun-java-jdk9
Name=Java VisualVM
StartupNotify=true
Terminal=false
Type=Application
Categories=Development;Java;

View File

@ -1,6 +1,6 @@
[Desktop Entry] [Desktop Entry]
Exec=/usr/lib/jvm/java-9-jdk/bin/policytool Exec=/usr/lib/jvm/java-<version>-jdk/bin/policytool
Icon=sun-java-jdk9 Icon=sun-java-jdk<version>
Name=Java Policy Settings Name=Java Policy Settings
StartupNotify=true StartupNotify=true
Terminal=false Terminal=false