From dcbd1f1067dd2ee722b44a645d7387f4088a3d11 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 21 Dec 2023 17:32:52 -0500 Subject: [PATCH] New package: openjdk-common-1 Replaces the xbps trigger that added the profile script for openjdk, which was really a mistake. Instead of using alternative groups for specific JRE/JDK binaries, use two symlinks: /usr/lib/jvm/default-jdk and /usr/lib/jvm/default-jre, which point to /usr/lib/jvm/${version}. Prefer default-jdk to default-jre, and just add them to PATH and MANPATH instead of putting things in /usr/bin. --- srcpkgs/openjdk-common/INSTALL | 9 +++++++++ srcpkgs/openjdk-common/INSTALL.msg | 2 ++ srcpkgs/openjdk-common/files/profile.sh | 12 ++++++++++++ srcpkgs/openjdk-common/template | 12 ++++++++++++ 4 files changed, 35 insertions(+) create mode 100644 srcpkgs/openjdk-common/INSTALL create mode 100644 srcpkgs/openjdk-common/INSTALL.msg create mode 100644 srcpkgs/openjdk-common/files/profile.sh create mode 100644 srcpkgs/openjdk-common/template diff --git a/srcpkgs/openjdk-common/INSTALL b/srcpkgs/openjdk-common/INSTALL new file mode 100644 index 00000000000..e0e155cc208 --- /dev/null +++ b/srcpkgs/openjdk-common/INSTALL @@ -0,0 +1,9 @@ +#!/bin/sh +case "$ACTION" in +pre) + # remove the openjdk.sh from xbps-triggers + if [ -e "./etc/profile.d/openjdk.sh" ]; then + rm "./etc/profile.d/openjdk.sh" + fi + ;; +esac diff --git a/srcpkgs/openjdk-common/INSTALL.msg b/srcpkgs/openjdk-common/INSTALL.msg new file mode 100644 index 00000000000..7e75b5abe45 --- /dev/null +++ b/srcpkgs/openjdk-common/INSTALL.msg @@ -0,0 +1,2 @@ +The way the default OpenJDK version is selected has changed. +You may need to re-login for this change to take effect. diff --git a/srcpkgs/openjdk-common/files/profile.sh b/srcpkgs/openjdk-common/files/profile.sh new file mode 100644 index 00000000000..e9c9a6042ee --- /dev/null +++ b/srcpkgs/openjdk-common/files/profile.sh @@ -0,0 +1,12 @@ +# only modify the environment if an openjdk*-jre package is installed +if [ -e "/usr/lib/jvm/default-jre" ]; then + # if an openjdk* package is installed, prefer it to the selected jre + if [ -e "/usr/lib/jvm/default-jdk" ]; then + export JAVA_HOME="/usr/lib/jvm/default-jdk" + else + export JAVA_HOME="/usr/lib/jvm/default-jre" + fi + # append the select jdk and jre bin and man dirs to the relevant PATHs + export PATH="$PATH:/usr/lib/jvm/default-jdk/bin:/usr/lib/jvm/default-jre/bin" + export MANPATH="$MANPATH:/usr/lib/jvm/default-jdk/man:/usr/lib/jvm/default-jre/man" +fi diff --git a/srcpkgs/openjdk-common/template b/srcpkgs/openjdk-common/template new file mode 100644 index 00000000000..e0d3d53d550 --- /dev/null +++ b/srcpkgs/openjdk-common/template @@ -0,0 +1,12 @@ +# Template file for 'openjdk-common' +pkgname=openjdk-common +version=1 +revision=1 +short_desc="Common files for OpenJDK packages" +maintainer="classabbyamp " +license="Public Domain" +homepage="https://www.voidlinux.org" + +do_install() { + vinstall "${FILESDIR}"/profile.sh 644 /etc/profile.d jdk.sh +}