From: classabbyamp <classabbyamp@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
Date: Sat, 02 Apr 2022 23:39:10 +0200 [thread overview]
Message-ID: <20220402213910.jr9muCsnPjgwk2GrOnt2ccFJJqcHnQm_i7xUsX1NOv0@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-36250@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 1290 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages openjdk-javahome
https://github.com/void-linux/void-packages/pull/36250
fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration)
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
[ci skip]
A patch file from https://github.com/void-linux/void-packages/pull/36250.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-openjdk-javahome-36250.patch --]
[-- Type: text/x-diff, Size: 7739 bytes --]
From 7a1f32a40ad08186ddf2feb6c719207d9aeb22e0 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:09:47 -0400
Subject: [PATCH 1/4] xbps-triggers: add openjdk-profile trigger
This removes the need for each openjdk package to provide their own
/etc/profile.d entry, and fixes the conflict caused by each providing
their own.
---
Manual.md | 8 +++++
srcpkgs/xbps-triggers/files/openjdk-profile | 39 +++++++++++++++++++++
srcpkgs/xbps-triggers/template | 2 +-
3 files changed, 48 insertions(+), 1 deletion(-)
create mode 100755 srcpkgs/xbps-triggers/files/openjdk-profile
diff --git a/Manual.md b/Manual.md
index 8ec755499bbe..e1d71fdee883 100644
--- a/Manual.md
+++ b/Manual.md
@@ -62,6 +62,7 @@ packages for XBPS, the `Void Linux` native packaging system.
* [kernel-hooks](#triggers_kernel_hooks)
* [mimedb](#triggers_mimedb)
* [mkdirs](#triggers_mkdirs)
+ * [openjdk-profile](#triggers_openjdk_profile)
* [pango-modules](#triggers_pango_module)
* [pycompile](#triggers_pycompile)
* [register-shell](#triggers_register_shell)
@@ -1997,6 +1998,13 @@ During removal it will delete the directory using `rmdir`.
To include this trigger use the `make_dirs` variable, as the trigger won't do anything
unless it is defined.
+<a id="triggers_openjdk_profile"></a>
+#### openjdk-profile
+
+The openjdk-profile trigger is responsible for creating an entry in /etc/profile.d that
+sets the `JAVA_HOME` environment variable to the currently-selected alternative for
+`/usr/bin/java` on installation. This trigger must be manually requested.
+
<a id="triggers_pango_module"></a>
#### pango-modules
diff --git a/srcpkgs/xbps-triggers/files/openjdk-profile b/srcpkgs/xbps-triggers/files/openjdk-profile
new file mode 100755
index 000000000000..007d9cd9eedf
--- /dev/null
+++ b/srcpkgs/xbps-triggers/files/openjdk-profile
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+# Adds an entry to /etc/profile.d for setting $JAVA_HOME.
+#
+# Arguments: $ACTION = [run/targets]
+# $TARGET = [post-install/pre-remove]
+# $PKGNAME
+# $VERSION
+# $UPDATE = [yes/no]
+#
+ACTION="$1"
+TARGET="$2"
+PKGNAME="$3"
+VERSION="$4"
+UPDATE="$5"
+
+jdkprofile=etc/profile.d/openjdk.sh
+
+case "$ACTION" in
+targets)
+ echo "post-install"
+ ;;
+run)
+ [ -f "$jdkprofile" ] && exit 0
+
+ cat > "$jdkprofile" <<'EOF'
+if _java_bin=$(readlink -e /usr/bin/java); then
+ _java_bin="${_java_bin%/bin/java}"
+ [ -d "${_java_bin}" ] && export JAVA_HOME="${JAVA_HOME:=${_java_bin}}"
+fi
+unset _java_bin
+EOF
+ ;;
+*)
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template
index 5de97d53c210..b1e4f34a4dde 100644
--- a/srcpkgs/xbps-triggers/template
+++ b/srcpkgs/xbps-triggers/template
@@ -1,6 +1,6 @@
# Template file for 'xbps-triggers'
pkgname=xbps-triggers
-version=0.121
+version=0.122
revision=1
bootstrap=yes
short_desc="XBPS triggers for Void Linux"
From aa005c48c655df6390a713a06f46117b57af6a08 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:02 -0400
Subject: [PATCH 2/4] openjdk8: move /etc/profile.d/10-openjdk*.sh to trigger
---
srcpkgs/openjdk8/template | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/openjdk8/template b/srcpkgs/openjdk8/template
index c10b5216435b..d37e6e11cbfd 100644
--- a/srcpkgs/openjdk8/template
+++ b/srcpkgs/openjdk8/template
@@ -4,7 +4,7 @@
# TODO: config files?
pkgname=openjdk8
version=8u272b02
-revision=1
+revision=2
_jdk_update=272
_jdk_update="${version#*u}"
_jdk_update="${_jdk_update%b*}"
@@ -236,6 +236,8 @@ openjdk8-jre_package() {
shlib_provides="libawt.so libawt_xawt.so libjava.so libjli.so libjvm.so libjawt.so"
short_desc+=" - runtime components"
provides="java-runtime-${version}_1"
+ depends="xbps-triggers>=0.122_1"
+ triggers="openjdk-profile"
alternatives="
java:/usr/bin/java:/${_final_jdk_home}/jre/bin/java
java:/usr/bin/jjs:/${_final_jdk_home}/jre/bin/jjs
@@ -251,10 +253,6 @@ openjdk8-jre_package() {
"
pkg_install() {
vmove ${_final_jdk_home}/jre
- vmkdir etc/profile.d
- cat >>${PKGDESTDIR}/etc/profile.d/10_openjdk8.sh <<EOF
-export JAVA_HOME=\${JAVA_HOME=/${_final_jdk_home}/jre}
-EOF
}
}
From 6d74bc82334d250bcfa4e462761e6808acf778a8 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:04 -0400
Subject: [PATCH 3/4] openjdk11: move /etc/profile.d/10-openjdk*.sh to trigger
---
srcpkgs/openjdk11/template | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/srcpkgs/openjdk11/template b/srcpkgs/openjdk11/template
index bd38c0c5c010..40eac75d8a32 100644
--- a/srcpkgs/openjdk11/template
+++ b/srcpkgs/openjdk11/template
@@ -1,7 +1,7 @@
# Template file for 'openjdk11'
pkgname=openjdk11
version=11.0.12+5
-revision=2
+revision=3
_java_ver="${version%%.*}"
_openjdk_version="openjdk-${_java_ver}"
wrksrc="jdk${_java_ver}u-jdk-${version}"
@@ -31,7 +31,7 @@ hostmakedepends="pkg-config automake autoconf cpio tar unzip zip ca-certificates
makedepends="libXrender-devel libXtst-devel libXt-devel libXrandr-devel
giflib-devel libjpeg-turbo-devel cups-devel freetype-devel alsa-lib-devel
fontconfig-devel zlib-devel lcms2-devel"
-depends="fontconfig"
+depends="fontconfig xbps-triggers>=0.122_1"
short_desc="OpenJDK Java Development Kit"
maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>"
license="GPL-2.0-only WITH Classpath-exception-2.0"
@@ -40,6 +40,7 @@ distfiles="https://hg.openjdk.java.net/jdk-updates/jdk${_java_ver}u/archive/jdk-
checksum=ff0edaf800c76ae435840365a9205a5f7277a5a2fd3c79ad874522a15c213559
provides="java-environment-${version}_1 java-runtime-${version}_1"
shlib_provides="libawt.so libawt_xawt.so libjava.so libjli.so libjvm.so libjawt.so"
+triggers="openjdk-profile"
# Build is still parallel, but don't use -jN.
disable_parallel_build=yes
@@ -158,10 +159,6 @@ do_install() {
mv ./ca/etc/pki/tls/java/cacerts ${DESTDIR}/usr/lib/jvm/openjdk${_java_ver}/lib/security/
chmod -R ugo+rw ./ca
rm -Rf ./ca
- vmkdir etc/profile.d
- cat >>${DESTDIR}/etc/profile.d/10_openjdk11.sh <<EOF
-export JAVA_HOME=\${JAVA_HOME=/usr/lib/jvm/openjdk${_java_ver}}
-EOF
vlicense ASSEMBLY_EXCEPTION
vlicense LICENSE
}
From fd87d5bbe405f52a7899ffeced587226c821560e Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:05 -0400
Subject: [PATCH 4/4] openjdk17: move /etc/profile.d/10-openjdk*.sh to trigger
---
srcpkgs/openjdk17/template | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/srcpkgs/openjdk17/template b/srcpkgs/openjdk17/template
index 43f72e4d65c0..f72ccf829b67 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -8,7 +8,7 @@ _base_version="${_java_ver}.${_java_min_ver}.${_java_sec_ver}"
pkgname=openjdk17
version="${_base_version}+${_jdk_update}"
-revision=1
+revision=2
wrksrc="jdk${_java_ver}u-jdk-${_base_version}-${_jdk_update}"
build_style=gnu-configure
configure_args="--disable-warnings-as-errors
@@ -182,6 +182,8 @@ openjdk17-jre_package() {
shlib_provides="libawt.so libawt_xawt.so libjava.so libjli.so libjvm.so libjawt.so"
short_desc+=" - runtime components"
provides="java-runtime-${version}_1"
+ depends="xbps-triggers>=0.122_1"
+ triggers="openjdk-profile"
alternatives="
java:/usr/bin/java:/${_jdk_home}/bin/java
java:/usr/bin/jfr:/${_jdk_home}/bin/jfr
@@ -197,11 +199,6 @@ openjdk17-jre_package() {
vmove $_jdk_home/$f
done
- vmkdir etc/profile.d
- cat >>${PKGDESTDIR}/etc/profile.d/10_openjdk17.sh <<-EOF
-export JAVA_HOME=\${JAVA_HOME=/$_jdk_home}
-EOF
-
vlicense ASSEMBLY_EXCEPTION
vlicense LICENSE
}
next prev parent reply other threads:[~2022-04-02 21:39 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-20 20:17 [PR PATCH] " classabbyamp
2022-03-20 20:30 ` [PR PATCH] [Updated] " classabbyamp
2022-03-21 15:31 ` [PR REVIEW] " ahesford
2022-03-21 15:31 ` ahesford
2022-03-21 15:52 ` [PR PATCH] [Updated] " classabbyamp
2022-03-21 15:56 ` [PR REVIEW] " classabbyamp
2022-03-21 16:16 ` q66
2022-03-21 16:49 ` [PR PATCH] [Updated] " classabbyamp
2022-03-21 17:45 ` [PR REVIEW] " ahesford
2022-03-21 17:52 ` [PR PATCH] [Updated] " classabbyamp
2022-03-21 17:52 ` [PR REVIEW] " classabbyamp
2022-03-21 19:04 ` q66
2022-03-21 19:35 ` [PR PATCH] [Updated] " classabbyamp
2022-04-02 21:39 ` classabbyamp [this message]
2022-04-02 22:03 ` classabbyamp
2022-04-02 22:05 ` classabbyamp
2022-04-03 2:33 ` [PR PATCH] [Updated] " classabbyamp
2022-04-03 2:34 ` classabbyamp
2022-04-07 18:23 ` classabbyamp
2022-04-10 17:25 ` classabbyamp
2022-04-19 15:13 ` classabbyamp
2022-04-21 17:20 ` classabbyamp
2022-04-28 1:34 ` classabbyamp
2022-04-28 1:42 ` classabbyamp
2022-04-29 16:24 ` classabbyamp
2022-04-29 16:30 ` classabbyamp
2022-04-29 16:46 ` classabbyamp
2022-05-05 3:14 ` [PR PATCH] [Merged]: " ahesford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220402213910.jr9muCsnPjgwk2GrOnt2ccFJJqcHnQm_i7xUsX1NOv0@z \
--to=classabbyamp@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).