summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD174
1 files changed, 135 insertions, 39 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 0959fdd5614d..49c4283469be 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,53 +1,144 @@
-# Maintainer : Daniel Bermond < gmail-com: danielbermond >
+# Maintainer : Daniel Bermond <dbermond@archlinux.org>
# Contributor: Det <nimetonmaili g-mail>
-pkgname=jdk
-pkgver=12
-_build=33
-_hash=312335d836a34c7c8bba9d963e26dc23
+pkgbase=jdk
+pkgname=('jre' 'jdk' 'jdk-doc')
+pkgver=22
+_build=36
+_hash=830ec9fcccef480bb3e73fb7ecafe059
_majver="${pkgver%%.*}"
-_next="$((_majver + 1))"
-pkgrel=1
-pkgdesc='Oracle Java Development Kit'
+pkgrel=2
+pkgdesc='Oracle Java'
arch=('x86_64')
url='https://www.oracle.com/java/'
-license=('custom')
-depends=('java-environment-common' "jre>=${_majver}" "jre<${_next}" 'zlib' 'hicolor-icon-theme')
-provides=("java-environment=${_majver}" "java-environment-jdk=${_majver}")
-install="${pkgname}.install"
-source=("https://download.oracle.com/otn-pub/java/jdk/${pkgver}+${_build}/${_hash}/${pkgname}-${pkgver}_linux-x64_bin.tar.gz"
+license=('LicenseRef-custom')
+makedepends=('python-html2text')
+source=("https://download.oracle.com/java/${_majver}/archive/jdk-${pkgver}_linux-x64_bin.tar.gz"
+ "https://download.oracle.com/otn_software/java/jdk/${pkgver}+${_build}/${_hash}/jdk-${pkgver}_doc-all.zip"
+ "jdk-${_majver}_doc-license.html"::"https://download.oracle.com/otndocs/jcp/java_se-${_majver}-final-spec/license.html"
'java.desktop'
'jconsole.desktop'
'jshell.desktop'
'java_16.png'
- 'java_48.png')
-sha256sums=('183d4d897bbf47bdae43b2bb4fc0465a9178209b5250555ac7fdb8fab6cc43a6'
- '7b348c5f6b6ce7df7f849a90f0bdbbdb5a2d6236ec05e96e0b160755cf87fd69'
- '74d52ebc46e1d6b104130c04209a9cf318163de022034239042a1981a6ffd60f'
- 'd207bb3f4a55e329546d084d8b82b6c217177ff11ebcc85e6420b14b011b3cd1'
+ 'java_48.png'
+ 'LICENSE')
+noextract=("jdk-${pkgver}_doc-all.zip")
+sha256sums=('17feecbbbbd8f9a3e27d7dd7689b02ba29ebfa98af59034d26812d0a671ce194'
+ 'b1a91fe8a9ae579e01aaea4c4eb041c753d7837d4e255db8b26fb011735aa790'
+ '80c207fe067921acca0624a72c29590dff6c916886f870e83a0c19b036061960'
+ '5249be0129a1c3c1a0f8e5c905e4202f259c82ba1b88e70578125141d74f2515'
+ '0ebbdbdf84f9f59e9296a3257a54424d9da956a5f8e5024f2d7a36b69db465a7'
+ '4914e9d0e7e0da19934cf5151802376d41574d2804a849e4e92f062d57d00672'
'd27fec1d74f7a3081c3d175ed184d15383666dc7f02cc0f7126f11549879c6ed'
- '7cf8ca096e6d6e425b3434446b0835537d0fc7fe64b3ccba7a55f7bd86c7e176')
-
+ '7cf8ca096e6d6e425b3434446b0835537d0fc7fe64b3ccba7a55f7bd86c7e176'
+ '20becfcac0bdeaa29a76e6966d727f8cc79381354cbd5d530cdec823954df19f')
+
DLAGENTS=('https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -b oraclelicense=a -o %o %u')
-package() {
+_jre_deps=('java-runtime-common' 'ca-certificates-utils' 'freetype2' 'libx11' 'libxext'
+ 'libxi' 'libxtst' 'libxrender')
+_jre_optdeps=('alsa-lib: for basic sound support'
+ 'gtk2: for the Gtk+ 2 look and feel - desktop usage'
+ 'gtk3: for the Gtk+ 3 look and feel - desktop usage')
+_jre_provides=("java-runtime=${_majver}" "java-runtime-jdk${_majver}"
+ "jre${_majver}-jdk=${pkgver}-${pkgrel}"
+ "java-runtime-headless=${_majver}" "java-runtime-headless-jdk=${_majver}"
+ "jre${_majver}-jdk-headless=${pkgver}-${pkgrel}")
+_jre_backup=("etc/java-${pkgbase}/management/jmxremote.access"
+ "etc/java-${pkgbase}/management/jmxremote.password.template"
+ "etc/java-${pkgbase}/management/management.properties"
+ "etc/java-${pkgbase}/security/policy/limited/default_US_export.policy"
+ "etc/java-${pkgbase}/security/policy/limited/default_local.policy"
+ "etc/java-${pkgbase}/security/policy/limited/exempt_local.policy"
+ "etc/java-${pkgbase}/security/policy/unlimited/default_US_export.policy"
+ "etc/java-${pkgbase}/security/policy/unlimited/default_local.policy"
+ "etc/java-${pkgbase}/security/policy/README.txt"
+ "etc/java-${pkgbase}/security/java.policy"
+ "etc/java-${pkgbase}/security/java.security"
+ "etc/java-${pkgbase}/logging.properties"
+ "etc/java-${pkgbase}/net.properties"
+ "etc/java-${pkgbase}/sound.properties")
+
+prepare() {
+ mkdir -p "jdk-doc-${pkgver}"
+ bsdtar -x -f "jdk-${pkgver}_doc-all.zip" -C "jdk-doc-${pkgver}" --strip-components='1'
+ html2text "jdk-${_majver}_doc-license.html" > LICENSE-doc
+}
+
+_package_jre() {
cd "jdk-${pkgver}"
+ local _jvmdir="/usr/lib/jvm/java-${_majver}-jdk"
- local _jvmdir="/usr/lib/jvm/java-${_majver}-${pkgname}"
-
+ 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-${pkgbase}"
+ ln -s "../../../../etc/java-${pkgbase}" "${pkgdir}/${_jvmdir}/conf"
+
# bin
- cp -a bin "${pkgdir}/${_jvmdir}"
- rm "${pkgdir}/${_jvmdir}/bin/"{java,jjs,jrunscript,keytool,pack200}
- rm "${pkgdir}/${_jvmdir}/bin/"{rmid,rmiregistry,unpack200}
+ install -D -m755 bin/{java,jfr,jrunscript,jwebserver} -t "${pkgdir}/${_jvmdir}/bin"
+ install -D -m755 bin/{keytool,rmiregistry} -t "${pkgdir}/${_jvmdir}/bin"
+
+ # libs
+ cp -a lib "${pkgdir}/${_jvmdir}"
+ rm "${pkgdir}/${_jvmdir}/lib/"{ct.sym,libattach.so,libsaproc.so,src.zip}
+
+ # man pages
+ local _file
+ for _file in man/man1/{java,jfr,jrunscript,keytool,rmiregistry}.1
+ do
+ install -D -m644 "$_file" "${pkgdir}/usr/share/${_file%.1}-jdk${_majver}.1"
+ done
+
+ install -D -m644 release -t "${pkgdir}/${_jvmdir}"
+
+ # link JKS keystore from 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-${pkgname}"
+ ln -s "../../../share/licenses/${pkgname}" "${pkgdir}/${_jvmdir}/legal"
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+package_jre() {
+ pkgdesc+=' Runtime Environment'
+ depends=("${_jre_deps[@]}")
+ optdepends=("${_jre_optdeps[@]}")
+ provides=("${_jre_provides[@]}")
+ conflicts=('jdk')
+ backup=("${_jre_backup[@]}")
+ install=jre.install
+
+ _package_jre
+}
+
+package_jdk() {
+ pkgdesc+=' Development Kit'
+ depends=('java-environment-common' "${_jre_deps[@]}" 'zlib' 'hicolor-icon-theme')
+ optdepends=("${_jre_optdeps[@]}")
+ provides=("java-environment=${_majver}" "java-environment-jdk=${_majver}"
+ "jdk${_majver}-jdk=${pkgver}-${pkgrel}" 'jre' "${_jre_provides[@]}")
+ conflicts=('jre')
+ backup=("${_jre_backup[@]}")
+ install=jdk.install
+
+ _package_jre
+
+ cd "${srcdir}/jdk-${pkgver}"
+ local _jvmdir="/usr/lib/jvm/java-${_majver}-${pkgname}"
+
+ # bin
+ install -D -m755 bin/* -t "${pkgdir}/${_jvmdir}/bin"
# libs
install -D -m644 lib/ct.sym -t "${pkgdir}/${_jvmdir}/lib"
install -D -m644 lib/libattach.so -t "${pkgdir}/${_jvmdir}/lib"
install -D -m644 lib/libsaproc.so -t "${pkgdir}/${_jvmdir}/lib"
- cp -a lib/jfr "${pkgdir}/${_jvmdir}/lib"
cp -a include "${pkgdir}/${_jvmdir}"
cp -a jmods "${pkgdir}/${_jvmdir}"
@@ -55,22 +146,27 @@ package() {
install -D -m644 lib/src.zip -t "${pkgdir}/${_jvmdir}/lib"
# desktop and icons
- install -D -m644 "${srcdir}/java.desktop" "${pkgdir}/usr/share/applications/java-java${_majver}-jdk.desktop"
- install -D -m644 "${srcdir}/jconsole.desktop" "${pkgdir}/usr/share/applications/jconsole-java${_majver}-jdk.desktop"
- install -D -m644 "${srcdir}/jshell.desktop" "${pkgdir}/usr/share/applications/jshell-java${_majver}-jdk.desktop"
- install -D -m644 "${srcdir}/java_16.png" "${pkgdir}/usr/share/icons/hicolor/16x16/apps/java${_majver}-jdk.png"
- install -D -m644 "${srcdir}/java_48.png" "${pkgdir}/usr/share/icons/hicolor/48x48/apps/java${_majver}-jdk.png"
+ install -D -m644 "${srcdir}/java.desktop" "${pkgdir}/usr/share/applications/java-java-jdk.desktop"
+ install -D -m644 "${srcdir}/jconsole.desktop" "${pkgdir}/usr/share/applications/jconsole-java-jdk.desktop"
+ install -D -m644 "${srcdir}/jshell.desktop" "${pkgdir}/usr/share/applications/jshell-java-jdk.desktop"
+ install -D -m644 "${srcdir}/java_16.png" "${pkgdir}/usr/share/icons/hicolor/16x16/apps/java-jdk.png"
+ install -D -m644 "${srcdir}/java_48.png" "${pkgdir}/usr/share/icons/hicolor/48x48/apps/java-jdk.png"
# man pages
local _file
- for _file in man/man1/*
+ while read -r -d '' _file
do
install -D -m644 "$_file" "${pkgdir}/usr/share/${_file%.1}-jdk${_majver}.1"
- done
- rm "${pkgdir}/usr/share/man/man1/"{java,jjs,jrunscript,keytool,pack200}-jdk"${_majver}".1
- rm "${pkgdir}/usr/share/man/man1/"{rmid,rmiregistry,unpack200}-jdk"${_majver}".1
+ done < <(find man/man1 -type f -print0)
+}
+
+package_jdk-doc() {
+ pkgdesc+=' documentation'
+ arch=('any')
- # legal/licenses
- cp -a legal/* "${pkgdir}/usr/share/licenses/${pkgname}"
- ln -s "$pkgname" "${pkgdir}/usr/share/licenses/java${_majver}-${pkgname}"
+ install -d -m755 "${pkgdir}/usr/share"/{doc,licenses}
+ cp -dr --no-preserve='ownership' "jdk-doc-${pkgver}" "${pkgdir}/usr/share/doc/java-jdk"
+ mv "${pkgdir}/usr/share/doc/java-jdk/legal" "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -D -m644 LICENSE-doc "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ ln -s "../../licenses/${pkgname}" "${pkgdir}/usr/share/doc/java-jdk/legal"
}