summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Guymer2020-01-18 19:44:14 +0000
committerSam Guymer2020-01-18 19:47:12 +0000
commitdbcef6a7e3e18040fde74a9b9ee486a439bcc896 (patch)
tree09a1d7e0984099fa1c83f4075d88222bc4deafef
downloadaur-dbcef6a7e3e18040fde74a9b9ee486a439bcc896.tar.gz
Initial commit
-rw-r--r--.SRCINFO25
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD90
-rw-r--r--zulu-8-bin.install50
4 files changed, 171 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e42fdac56cba
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,25 @@
+pkgbase = zulu-8-bin
+ pkgdesc = Zulu Community builds of OpenJDK are fully certified and 100% open source Java Development Kits (JDKs) for all Java development and production workloads.
+ pkgver = 8.0.242
+ pkgrel = 1
+ url = https://www.azul.com/products/zulu-community/
+ install = zulu-8-bin.install
+ arch = x86_64
+ license = custom
+ depends = java-environment-common
+ depends = java-runtime-common
+ depends = ca-certificates-utils
+ depends = nss
+ depends = xdg-utils
+ depends = hicolor-icon-theme
+ provides = java-environment=8
+ provides = java-environment-openjdk=8
+ provides = java-runtime-headless=8
+ provides = java-runtime-headless-openjdk=8
+ provides = java-runtime=8
+ provides = java-runtime-openjdk=8
+ source = https://cdn.azul.com/zulu/bin/zulu8.44.0.9-ca-jdk8.0.242-linux_x64.tar.gz
+ sha256sums = 7731f08723cac4ad3d5e2fab4e80b275577ecf07a174033fdda5fc8bdaddaeea
+
+pkgname = zulu-8-bin
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..43fae32db538
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+/*.tar.gz
+/*.pkg.tar
+/*.pkg.tar.xz
+
+/src/
+/pkg/
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..40e61346a470
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,90 @@
+# Maintainer: Sam Guymer <sam at guymer dot me>
+
+_jdkname=zulu-8
+pkgname="${_jdkname}-bin"
+_java_ver=8
+_zulu_build=8.44.0.9-ca
+pkgver=8.0.242
+pkgrel=1
+pkgdesc='Zulu Community builds of OpenJDK are fully certified and 100% open source Java Development Kits (JDKs) for all Java development and production workloads.'
+arch=('x86_64')
+url='https://www.azul.com/products/zulu-community/'
+license=('custom')
+depends=(
+ 'java-environment-common' 'java-runtime-common' 'ca-certificates-utils'
+ # not 100% sure if all of these dependencies are needed
+ # dependencies from jre8-openjdk-headless
+ 'nss'
+ # dependencies from jre8-openjdk
+ 'xdg-utils' 'hicolor-icon-theme'
+)
+provides=(
+ "java-environment=$_java_ver"
+ "java-environment-openjdk=$_java_ver"
+ "java-runtime-headless=$_java_ver"
+ "java-runtime-headless-openjdk=$_java_ver"
+ "java-runtime=$_java_ver"
+ "java-runtime-openjdk=$_java_ver"
+)
+install="$pkgname.install"
+_tarballname="zulu${_zulu_build}-jdk${pkgver}-linux_x64"
+source=("https://cdn.azul.com/zulu/bin/${_tarballname}.tar.gz")
+sha256sums=('7731f08723cac4ad3d5e2fab4e80b275577ecf07a174033fdda5fc8bdaddaeea')
+
+_jvmdir="/usr/lib/jvm/${_jdkname}"
+
+# Upstream config files that should go to etc and get backup
+_conf_files=(
+ amd64/jvm.cfg
+ calendars.properties
+ content-types.properties
+ flavormap.properties
+ images/cursors/cursors.properties
+ logging.properties
+ management/jmxremote.access
+ management/jmxremote.password
+ management/management.properties
+ management/snmp.acl
+ net.properties
+ psfont.properties.ja
+ psfontj2d.properties
+ security/java.policy
+ security/java.security
+ sound.properties
+)
+
+package() {
+ cd "$srcdir/${_tarballname}"
+
+ install -dm 755 "${pkgdir}/${_jvmdir}"
+ cp -a . "${pkgdir}/${_jvmdir}/"
+
+ # copied from java8-openjdk
+
+ # Set config files
+ mv "${pkgdir}${_jvmdir}"/jre/lib/management/jmxremote.password{.template,}
+ mv "${pkgdir}${_jvmdir}"/jre/lib/management/snmp.acl{.template,}
+
+ # Conf
+ install -dm 755 "${pkgdir}/etc/${_jdkname}"
+ for f in "${_conf_files[@]}"; do
+ _file="${_jvmdir}/jre/lib/$f"
+ install -D -m 644 "${pkgdir}${_file}" "${pkgdir}/etc/${_jdkname}/$f"
+ ln -sf "/etc/${_jdkname}/$f" "${pkgdir}${_file}"
+ done
+
+ # Install license
+ install -d -m 755 "${pkgdir}/usr/share/licenses/${pkgbase}/"
+ install -m 644 ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README "${pkgdir}/usr/share/licenses/${pkgbase}"
+
+ # Man pages
+ for f in man/man1/* man/ja/man1/*; do
+ install -Dm 644 "${f}" "${pkgdir}/usr/share/${f/\.1/-zulu-8.1}"
+ done
+ rm -rf "${pkgdir}/${_jvmdir}/man"
+ ln -s /usr/share/man "${pkgdir}/${_jvmdir}/man"
+
+ # Link JKS keystore from ca-certificates-utils
+ rm -f "${pkgdir}${_jvmdir}/jre/lib/security/cacerts"
+ ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}${_jvmdir}/jre/lib/security/cacerts"
+}
diff --git a/zulu-8-bin.install b/zulu-8-bin.install
new file mode 100644
index 000000000000..4fb0fd3ca8b2
--- /dev/null
+++ b/zulu-8-bin.install
@@ -0,0 +1,50 @@
+THIS_JDK='zulu-8'
+
+fix_default() {
+ if [ ! -x /usr/bin/java ]; then
+ /usr/bin/archlinux-java unset
+ echo ""
+ else
+ /usr/bin/archlinux-java get
+ fi
+}
+
+post_install() {
+ default=$(fix_default)
+ case ${default} in
+ "" | ${THIS_JDK}/jre)
+ /usr/bin/archlinux-java set ${THIS_JDK}
+ ;;
+ ${THIS_JDK})
+ # Nothing
+ ;;
+ *)
+ echo "Default Java environment is already set to '${default}'"
+ echo "See 'archlinux-java help' to change it"
+ ;;
+ esac
+
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
+}
+
+post_upgrade() {
+ default=$(fix_default)
+ if [ -z "${default}" -o "x${default}" = "x${THIS_JDK}/jre" ]; then
+ /usr/bin/archlinux-java set ${THIS_JDK}
+ fi
+
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
+}
+
+pre_remove() {
+ if [ "x$(fix_default)" = "x${THIS_JDK}" ]; then
+ /usr/bin/archlinux-java unset
+ if [ -x /usr/lib/jvm/${THIS_JDK}/jre/bin/java ]; then
+ /usr/bin/archlinux-java set ${THIS_JDK}/jre
+ fi
+ fi
+}