mirror of
https://github.com/moparisthebest/arch-ppa
synced 2024-11-27 19:12:16 -05:00
Update jdks + idea
This commit is contained in:
parent
d6ff21dcb5
commit
ad3e05cfeb
@ -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() {
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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;
|
|
8
src/jdk-devel/jconsole.desktop
Normal file
8
src/jdk-devel/jconsole.desktop
Normal 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;
|
@ -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
|
||||||
|
@ -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;
|
|
8
src/jdk-devel/jmc.desktop
Normal file
8
src/jdk-devel/jmc.desktop
Normal 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;
|
@ -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;
|
|
@ -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;
|
|
8
src/jdk-devel/policytool.desktop
Normal file
8
src/jdk-devel/policytool.desktop
Normal 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;
|
180
src/jdk/PKGBUILD
180
src/jdk/PKGBUILD
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
@ -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
|
||||||
|
@ -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
|
@ -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;
|
|
@ -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
|
Loading…
Reference in New Issue
Block a user