* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
@ 2022-03-20 20:30 ` classabbyamp
2022-03-21 15:31 ` [PR REVIEW] " ahesford
` (25 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-03-20 20:30 UTC (permalink / raw)
To: ml
[-- 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: 7137 bytes --]
From f372e0f2e31c9f550a4d66d3fb444cd8859cbbf3 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 | 37 +++++++++++++++++++++
srcpkgs/xbps-triggers/template | 2 +-
3 files changed, 46 insertions(+), 1 deletion(-)
create mode 100755 srcpkgs/xbps-triggers/files/openjdk-profile
diff --git a/Manual.md b/Manual.md
index af5f698debae..8231c7edb2e1 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)
@@ -1991,6 +1992,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..4c8d632f3e73
--- /dev/null
+++ b/srcpkgs/xbps-triggers/files/openjdk-profile
@@ -0,0 +1,37 @@
+#!/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
+_java_bin_dir=\$(dirname \$(readlink -f /usr/bin/java))
+[ -x /usr/bin/java ] && export JAVA_HOME=\${JAVA_HOME:=\${_java_bin_dir%/bin}}
+unset _java_bin_dir
+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 980dd64690ea9e8088db425e58754e3c7eb76a2a 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 | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/openjdk8/template b/srcpkgs/openjdk8/template
index c10b5216435b..6c87a10fecd8 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,7 @@ 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"
+ 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 +252,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 f04f2acfae8c75d60a84fb87425241e7f9434e13 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 | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/openjdk11/template b/srcpkgs/openjdk11/template
index bd38c0c5c010..a5c2e7816eb0 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}"
@@ -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 e408078749f2782423d9ec244b54f522005d9316 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 | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/srcpkgs/openjdk17/template b/srcpkgs/openjdk17/template
index 43f72e4d65c0..ecbedd5b5e9b 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,7 @@ 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"
+ triggers="openjdk-profile"
alternatives="
java:/usr/bin/java:/${_jdk_home}/bin/java
java:/usr/bin/jfr:/${_jdk_home}/bin/jfr
@@ -197,11 +198,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
}
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR REVIEW] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
2022-03-20 20:30 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-03-21 15:31 ` ahesford
2022-03-21 15:31 ` ahesford
` (24 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: ahesford @ 2022-03-21 15:31 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 299 bytes --]
New review comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#discussion_r831226635
Comment:
```suggestion
cat > "$jdkprofile" <<-'EOF'
```
Quoting the `EOF` marker will eliminate the need to escape all of the shell specials in the heredoc.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR REVIEW] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger 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
` (23 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: ahesford @ 2022-03-21 15:31 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 609 bytes --]
New review comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#discussion_r831239633
Comment:
```suggestion
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
```
Using `readlink -e` will not work with busybox `readlink`, but people who wish to replace coreutils can be tasked with modifying the Java profile snippet. It saves us from shenanigans and allows us to short-circuit everything when `/usr/bin/java` doesn't exist.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (2 preceding siblings ...)
2022-03-21 15:31 ` ahesford
@ 2022-03-21 15:52 ` classabbyamp
2022-03-21 15:56 ` [PR REVIEW] " classabbyamp
` (22 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-03-21 15:52 UTC (permalink / raw)
To: ml
[-- 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: 7161 bytes --]
From 5f7251b94e5849cd82b28ec62ee4b8f31f1a1bff 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 af5f698debae..8231c7edb2e1 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)
@@ -1991,6 +1992,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..2d172da70c79
--- /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 39eff2f4fcfbc42583da7ffe3e21b809f29da881 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 | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/openjdk8/template b/srcpkgs/openjdk8/template
index c10b5216435b..6c87a10fecd8 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,7 @@ 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"
+ 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 +252,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 bb6f1870bb1a1795b9ac38759791fcbf0e84c849 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 | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/openjdk11/template b/srcpkgs/openjdk11/template
index bd38c0c5c010..a5c2e7816eb0 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}"
@@ -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 7e314755091a19282a59bba1509237482ed5edc7 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 | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/srcpkgs/openjdk17/template b/srcpkgs/openjdk17/template
index 43f72e4d65c0..ecbedd5b5e9b 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,7 @@ 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"
+ triggers="openjdk-profile"
alternatives="
java:/usr/bin/java:/${_jdk_home}/bin/java
java:/usr/bin/jfr:/${_jdk_home}/bin/jfr
@@ -197,11 +198,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
}
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR REVIEW] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (3 preceding siblings ...)
2022-03-21 15:52 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-03-21 15:56 ` classabbyamp
2022-03-21 16:16 ` q66
` (21 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-03-21 15:56 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 156 bytes --]
New review comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#discussion_r831269838
Comment:
done
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (4 preceding siblings ...)
2022-03-21 15:56 ` [PR REVIEW] " classabbyamp
@ 2022-03-21 16:16 ` q66
2022-03-21 16:49 ` [PR PATCH] [Updated] " classabbyamp
` (20 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: q66 @ 2022-03-21 16:16 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 455 bytes --]
New comment by q66 on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#issuecomment-1074104424
Comment:
unless you force every openjdk package to depend on at least some version of xbps-triggers this will break horribly
also still not sure if i'm a fan of this approach, we should be killing xbps-triggers, not extending it with more junk, the whole package is a poorly thought out hack that is 90% useless boilerplate
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (5 preceding siblings ...)
2022-03-21 16:16 ` q66
@ 2022-03-21 16:49 ` classabbyamp
2022-03-21 17:45 ` [PR REVIEW] " ahesford
` (19 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-03-21 16:49 UTC (permalink / raw)
To: ml
[-- 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: 7713 bytes --]
From 5f7251b94e5849cd82b28ec62ee4b8f31f1a1bff 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 af5f698debae..8231c7edb2e1 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)
@@ -1991,6 +1992,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..2d172da70c79
--- /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 b37475910492e943cf7fdc0bacc5ab0669dc8951 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..d363260ffa80 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"
+ 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 9a481a8c1679fa1c63a4b98d46190d31b9cb05cf 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..6c2463f3ff5c 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"
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 3fd46b3f95501a95163b3f6bbf3b27214d8ceb82 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..bef9a864d3de 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"
+ 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
}
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR REVIEW] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (6 preceding siblings ...)
2022-03-21 16:49 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-03-21 17:45 ` ahesford
2022-03-21 17:52 ` [PR PATCH] [Updated] " classabbyamp
` (18 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: ahesford @ 2022-03-21 17:45 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 488 bytes --]
New review comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#discussion_r831381720
Comment:
The `-` in `<<-'EOF'` throws away leading tabs so the profile snippet it writes is a bit ugly. I recommend a single tab-indent for the *entire* block, including closing `EOF`, and then adding an extra 2 or 4 spaces on the lines that should be indented in the output.
Alternatively, just drop the `-` and the formatting will be preserved.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (7 preceding siblings ...)
2022-03-21 17:45 ` [PR REVIEW] " ahesford
@ 2022-03-21 17:52 ` classabbyamp
2022-03-21 17:52 ` [PR REVIEW] " classabbyamp
` (17 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-03-21 17:52 UTC (permalink / raw)
To: ml
[-- 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: 7712 bytes --]
From ee06d4b84ca0678991c2bf437d1f30037ca95bc3 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 af5f698debae..8231c7edb2e1 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)
@@ -1991,6 +1992,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 2141e6cd1da89fd401c1f32fb669d59d51dd54b2 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..d363260ffa80 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"
+ 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 e6d1e3a70553a9bcc3d1cd71e6bfcb8d15c71786 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..6c2463f3ff5c 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"
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 1e0f027286ef35d3c778ea0e86de1a8f64f99c1a 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..bef9a864d3de 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"
+ 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
}
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR REVIEW] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (8 preceding siblings ...)
2022-03-21 17:52 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-03-21 17:52 ` classabbyamp
2022-03-21 19:04 ` q66
` (16 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-03-21 17:52 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 156 bytes --]
New review comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#discussion_r831390739
Comment:
done
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (9 preceding siblings ...)
2022-03-21 17:52 ` [PR REVIEW] " classabbyamp
@ 2022-03-21 19:04 ` q66
2022-03-21 19:35 ` [PR PATCH] [Updated] " classabbyamp
` (15 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: q66 @ 2022-03-21 19:04 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 273 bytes --]
New comment by q66 on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#issuecomment-1074303258
Comment:
the xbps-triggers added dependency does not solve anything
it must be specifically `xbps-triggers>=THE_NEW_VERSION_THAT_ADDED_STUFF`
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (10 preceding siblings ...)
2022-03-21 19:04 ` q66
@ 2022-03-21 19:35 ` classabbyamp
2022-04-02 21:39 ` classabbyamp
` (14 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-03-21 19:35 UTC (permalink / raw)
To: ml
[-- 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 ee06d4b84ca0678991c2bf437d1f30037ca95bc3 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 af5f698debae..8231c7edb2e1 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)
@@ -1991,6 +1992,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 b7b6238d7c8d7a8b63194959c666a057c5248561 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 b7529ac83485442881e516ab8e7d399ace099530 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 1510a128f095e1f8c00cd6ef3714f6efb1449d11 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
}
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (11 preceding siblings ...)
2022-03-21 19:35 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-04-02 21:39 ` classabbyamp
2022-04-02 22:03 ` classabbyamp
` (13 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-02 21:39 UTC (permalink / raw)
To: ml
[-- 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
}
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (12 preceding siblings ...)
2022-04-02 21:39 ` classabbyamp
@ 2022-04-02 22:03 ` classabbyamp
2022-04-02 22:05 ` classabbyamp
` (12 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-02 22:03 UTC (permalink / raw)
To: ml
[-- 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: 9055 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 2b22aa88b2a86a5cc8ab63511bce8a5783a81831 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
also fix version for xlint
---
srcpkgs/openjdk17/template | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/srcpkgs/openjdk17/template b/srcpkgs/openjdk17/template
index 43f72e4d65c0..024f33f6ee8b 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -1,15 +1,12 @@
# Template file for 'openjdk17'
-_java_ver=17
-_java_min_ver=0
-_java_sec_ver=3
-_jdk_update=1
-_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
-_base_version="${_java_ver}.${_java_min_ver}.${_java_sec_ver}"
-
pkgname=openjdk17
-version="${_base_version}+${_jdk_update}"
-revision=1
-wrksrc="jdk${_java_ver}u-jdk-${_base_version}-${_jdk_update}"
+version=17.0.3+1
+revision=2
+_java_ver="${version%%.*}"
+_jdk_update="${version#*+}"
+_base_version="${version%+*}"
+_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
+wrksrc="jdk${_java_ver}u-jdk-${version/+/-}"
build_style=gnu-configure
configure_args="--disable-warnings-as-errors
--enable-unlimited-crypto
@@ -38,7 +35,6 @@ 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="${pkgname}-jre-${version}_${revision}"
-provides="java-environment-${version}_1"
short_desc="OpenJDK Java Development Kit (version ${_java_ver})"
maintainer="classabbyamp <dev@kb6.ee>"
license="GPL-2.0-only WITH Classpath-exception-2.0"
@@ -47,6 +43,7 @@ distfiles="https://github.com/openjdk/jdk${_java_ver}u/archive/jdk-${version}.ta
https://github.com/google/googletest/archive/refs/tags/release-1.8.1.tar.gz"
checksum="0fac6d90091fc16678a14349e578f6c1cf29738d55508f9f723fbb69469f6867
9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c"
+provides="java-environment-${version}_1"
# Build is still parallel, but don't use -jN.
disable_parallel_build=yes
@@ -182,6 +179,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 +196,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
}
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (13 preceding siblings ...)
2022-04-02 22:03 ` classabbyamp
@ 2022-04-02 22:05 ` classabbyamp
2022-04-03 2:33 ` [PR PATCH] [Updated] " classabbyamp
` (11 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-02 22:05 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 265 bytes --]
New comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#issuecomment-1086732124
Comment:
xlint there should be ignored, the new version lint meant I needed to update the version line, but there was no update
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (14 preceding siblings ...)
2022-04-02 22:05 ` classabbyamp
@ 2022-04-03 2:33 ` classabbyamp
2022-04-03 2:34 ` classabbyamp
` (10 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-03 2:33 UTC (permalink / raw)
To: ml
[-- 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: 21120 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 01/16] 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 02/16] 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 03/16] 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 2b22aa88b2a86a5cc8ab63511bce8a5783a81831 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:05 -0400
Subject: [PATCH 04/16] openjdk17: move /etc/profile.d/10-openjdk*.sh to
trigger
also fix version for xlint
---
srcpkgs/openjdk17/template | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/srcpkgs/openjdk17/template b/srcpkgs/openjdk17/template
index 43f72e4d65c0..024f33f6ee8b 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -1,15 +1,12 @@
# Template file for 'openjdk17'
-_java_ver=17
-_java_min_ver=0
-_java_sec_ver=3
-_jdk_update=1
-_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
-_base_version="${_java_ver}.${_java_min_ver}.${_java_sec_ver}"
-
pkgname=openjdk17
-version="${_base_version}+${_jdk_update}"
-revision=1
-wrksrc="jdk${_java_ver}u-jdk-${_base_version}-${_jdk_update}"
+version=17.0.3+1
+revision=2
+_java_ver="${version%%.*}"
+_jdk_update="${version#*+}"
+_base_version="${version%+*}"
+_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
+wrksrc="jdk${_java_ver}u-jdk-${version/+/-}"
build_style=gnu-configure
configure_args="--disable-warnings-as-errors
--enable-unlimited-crypto
@@ -38,7 +35,6 @@ 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="${pkgname}-jre-${version}_${revision}"
-provides="java-environment-${version}_1"
short_desc="OpenJDK Java Development Kit (version ${_java_ver})"
maintainer="classabbyamp <dev@kb6.ee>"
license="GPL-2.0-only WITH Classpath-exception-2.0"
@@ -47,6 +43,7 @@ distfiles="https://github.com/openjdk/jdk${_java_ver}u/archive/jdk-${version}.ta
https://github.com/google/googletest/archive/refs/tags/release-1.8.1.tar.gz"
checksum="0fac6d90091fc16678a14349e578f6c1cf29738d55508f9f723fbb69469f6867
9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c"
+provides="java-environment-${version}_1"
# Build is still parallel, but don't use -jN.
disable_parallel_build=yes
@@ -182,6 +179,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 +196,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
}
From ff98aecd013a8cb4fb7abfbea6bb7632d50668cc Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:32 -0400
Subject: [PATCH 05/16] apache-fop: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/apache-fop/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-fop/template b/srcpkgs/apache-fop/template
index 96ab59bce8b3..3b7c917a7c09 100644
--- a/srcpkgs/apache-fop/template
+++ b/srcpkgs/apache-fop/template
@@ -1,7 +1,7 @@
# Template file for 'apache-fop'
pkgname=apache-fop
version=2.5
-revision=2
+revision=3
wrksrc="fop-${version}"
build_wrksrc="fop"
hostmakedepends="openjdk8 apache-ant"
@@ -18,7 +18,7 @@ conf_files="/etc/fop.conf"
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
ant package
}
do_install() {
From 9ad2ddd772f2150acffcb139efcfcb5e0882c5fc Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:35 -0400
Subject: [PATCH 06/16] apache-maven: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/apache-maven/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-maven/template b/srcpkgs/apache-maven/template
index c9603329c2cd..cc1e3e561634 100644
--- a/srcpkgs/apache-maven/template
+++ b/srcpkgs/apache-maven/template
@@ -1,7 +1,7 @@
# Template file for 'apache-maven'
pkgname=apache-maven
version=3.6.3
-revision=2
+revision=3
hostmakedepends="openjdk8"
depends="virtual?java-environment which"
short_desc="Software project management and comprehension tool"
@@ -15,7 +15,7 @@ checksum="7c1c990ba64dd4f88688120cc2ec93bf33dd500d2a62ae5cd57bd4b7f6335c07
replaces="apache-maven-bin>=0"
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
./bin/mvn package -DskipTests -Drat.skip=true -Dmaven.repo.local=repo -DdistributionTargetDir=${DESTDIR}/usr/lib/${pkgname}
}
From 2722cfbe2586577ff697f17d2c4e9bdcd0dc82f4 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:36 -0400
Subject: [PATCH 07/16] arduino: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/arduino/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/arduino/template b/srcpkgs/arduino/template
index 5d6531ec93fc..c2c08996fc4b 100644
--- a/srcpkgs/arduino/template
+++ b/srcpkgs/arduino/template
@@ -1,7 +1,7 @@
# Template file for 'arduino'
pkgname=arduino
version=1.8.13
-revision=1
+revision=2
archs="x86_64* i686* aarch64* arm*"
wrksrc=$pkgname-$version
create_wrksrc=yes
@@ -27,7 +27,7 @@ fi
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include/linux"
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include"
From 8bb8d31eb74e6d610a291057eb958a4cf530ac40 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 08/16] bibletime: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/bibletime/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/bibletime/template b/srcpkgs/bibletime/template
index 559755a9dd6f..af3301e02365 100644
--- a/srcpkgs/bibletime/template
+++ b/srcpkgs/bibletime/template
@@ -4,7 +4,7 @@
# to start.
pkgname=bibletime
version=3.0
-revision=2
+revision=3
build_style=cmake
configure_args="-DBT_DOCBOOK_XSL_HTML_CHUNK_XSL=/usr/share/xsl/docbook/html/chunk.xsl
-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=/usr/share/xsl/docbook/fo/docbook.xsl"
@@ -20,7 +20,7 @@ distfiles="https://github.com/bibletime/bibletime/releases/download/v${version}/
checksum=d6beef62ad44b255e3dc4c5e89214bf01a0e85c9136073b0be12fca3d2b22622
pre_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
if [ "$XBPS_WORDSIZE" = "32" ]; then
export _JAVA_OPTIONS="-Xmx1024m"
fi
From 0c4e840ea217ed14f2293ab7742b70c2cd414fd6 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 09/16] davmail: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/davmail/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/davmail/template b/srcpkgs/davmail/template
index 0482c0dce531..b739bf6b8bb6 100644
--- a/srcpkgs/davmail/template
+++ b/srcpkgs/davmail/template
@@ -1,7 +1,7 @@
# Template file for 'davmail'
pkgname=davmail
version=5.5.1
-revision=2
+revision=3
_commit=3299
wrksrc=davmail-src-${version}-${_commit}
hostmakedepends="openjdk8 apache-ant"
@@ -13,7 +13,7 @@ distfiles="${SOURCEFORGE_SITE}/davmail/davmail-src-${version}-${_commit}.tgz"
checksum=63e14eeda3fed2a1a5c55f864a8832f8842d597e797ca1e8874c9b66b811f508
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant jar
From 45bae670533ef10bc7b52761f963812aab232a62 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 10/16] freeplane: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/freeplane/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freeplane/template b/srcpkgs/freeplane/template
index 2e7adb76ea4a..fa4eeb5e80ba 100644
--- a/srcpkgs/freeplane/template
+++ b/srcpkgs/freeplane/template
@@ -1,7 +1,7 @@
# Template file for 'freeplane'
pkgname=freeplane
version=1.9.12
-revision=1
+revision=2
wrksrc="freeplane-release-${version}"
hostmakedepends="apache-ant openjdk8 unzip gradle"
depends="virtual?java-runtime"
@@ -23,7 +23,7 @@ esac
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
gradle format_translation binZip -x test
}
From d31f4bdc40a8c0d382e5fed1de7c912f2720f1e2 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 11/16] freerouting: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/freerouting/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freerouting/template b/srcpkgs/freerouting/template
index f643eabdb6fe..bfde02fc9e29 100644
--- a/srcpkgs/freerouting/template
+++ b/srcpkgs/freerouting/template
@@ -1,7 +1,7 @@
# Template file for 'freerouting'
pkgname=freerouting
version=1.4.5.1
-revision=1
+revision=2
hostmakedepends="dos2unix gradle openjdk11"
depends="openjdk11"
short_desc="Advanced PCB autorouter"
@@ -21,7 +21,7 @@ post_extract() {
}
do_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
gradle assemble
}
From b6b7a022d09ae3029de6daab65c2ca762e635f65 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 12/16] java-commons-io: fix name of
etc/profile.d/10_openjdk*.sh in template
---
srcpkgs/java-commons-io/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/java-commons-io/template b/srcpkgs/java-commons-io/template
index e91dcc87b8b5..5b8413e2a03d 100644
--- a/srcpkgs/java-commons-io/template
+++ b/srcpkgs/java-commons-io/template
@@ -2,7 +2,7 @@
_origname=commons-io
pkgname=java-commons-io
version=2.6
-revision=2
+revision=3
wrksrc="${_origname}-${version}-src"
hostmakedepends="openjdk8 apache-maven which"
depends="virtual?java-runtime"
@@ -19,7 +19,7 @@ case "$XBPS_MACHINE" in
esac
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
mvn package -Dmaven.test.skip=true
}
From ff09d4bdc540d58b5e321d94c0d6f709fc29881a Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 13/16] jedit: hard-code openjdk11
---
srcpkgs/jedit/files/jedit | 4 +---
srcpkgs/jedit/template | 4 ++--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/jedit/files/jedit b/srcpkgs/jedit/files/jedit
index 622bb9171864..706d2f8dd45c 100644
--- a/srcpkgs/jedit/files/jedit
+++ b/srcpkgs/jedit/files/jedit
@@ -1,10 +1,8 @@
#!/bin/sh
# openjdk11 is required
-. /etc/profile.d/10_openjdk11.sh
-
# default to gtk3, use antialiased fonts
-exec "${JAVA_HOME}/bin/java" \
+exec "/usr/lib/jvm/openjdk11/bin/java" \
-Djdk.gtk.version=3 \
-Dawt.useSystemAAFontSettings=on \
-Dswing.aatext=true \
diff --git a/srcpkgs/jedit/template b/srcpkgs/jedit/template
index cf7ac8cdd201..19ca4ac3df1f 100644
--- a/srcpkgs/jedit/template
+++ b/srcpkgs/jedit/template
@@ -1,7 +1,7 @@
# Template file for 'jedit'
pkgname=jedit
version=5.6.0
-revision=1
+revision=2
wrksrc=jEdit
hostmakedepends="apache-ant openjdk11 docbook-xsl"
depends="openjdk11 desktop-file-utils"
@@ -19,7 +19,7 @@ post_patch() {
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
ant -propertyfile ${FILESDIR}/build.properties build
ant -propertyfile ${FILESDIR}/build.properties docs-html
From adbfaabf409b6861ffa1d8d6a9b146bf3a2e01b0 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 14/16] kodi: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/kodi/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index a31240ff2766..dd3747cbf7f3 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -1,7 +1,7 @@
# Template file for 'kodi'
pkgname=kodi
version=19.0
-revision=4
+revision=5
_codename="Matrix"
wrksrc="xbmc-${version}-${_codename}"
build_style=cmake
@@ -109,7 +109,7 @@ pre_configure() {
xargs sed -i -e "s;-isystem;-I;g"
fi
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
if [ "$CROSS_BUILD" ]; then
for i in JsonSchemaBuilder TexturePacker; do
From 3a493d5ea0c2e3b9b903fe14bf67e401a8796a62 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 15/16] lightzone: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/lightzone/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/lightzone/template b/srcpkgs/lightzone/template
index 13242f01cc77..261626fb9dff 100644
--- a/srcpkgs/lightzone/template
+++ b/srcpkgs/lightzone/template
@@ -1,7 +1,7 @@
# Template file for 'lightzone'
pkgname=lightzone
version=4.2.2
-revision=1
+revision=2
_ivy_version=2.4.0
wrksrc=LightZone-${version}
hostmakedepends="automake git openjdk11 apache-ant javahelp2 rsync pkg-config"
@@ -29,7 +29,7 @@ do_build() {
vsed -i lightcrafts/jnisrc/tiff/GNUmakefile \
-e "s;\./configure;& --host=${XBPS_MACHINE%-musl};"
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
cd linux
TARGET=${XBPS_TARGET_MACHINE%-musl} ant jar
}
From a4d571dc64b5f0f095dfd1624ea10d2e9d6de76e Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:44 -0400
Subject: [PATCH 16/16] plantuml: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/plantuml/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/plantuml/template b/srcpkgs/plantuml/template
index fff4ec18b203..85259ce2ca6b 100644
--- a/srcpkgs/plantuml/template
+++ b/srcpkgs/plantuml/template
@@ -2,7 +2,7 @@
pkgname=plantuml
reverts="8047_1 8053_1 8059_1"
version=1.2021.14
-revision=1
+revision=2
create_wrksrc=yes
hostmakedepends="apache-ant openjdk8"
depends="virtual?java-environment graphviz"
@@ -14,7 +14,7 @@ distfiles="${SOURCEFORGE_SITE}/plantuml/plantuml-gplv2-${version}.tar.gz"
checksum=468aeaaea0742d8312d0f2f709df140e599967d8284fc0555f842fd0a6fe6941
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant
mv ${pkgname}.jar ${pkgname}-${version}.jar
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (15 preceding siblings ...)
2022-04-03 2:33 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-04-03 2:34 ` classabbyamp
2022-04-07 18:23 ` classabbyamp
` (9 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-03 2:34 UTC (permalink / raw)
To: ml
[-- 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: 21164 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 01/16] 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 02/16] 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 03/16] 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 2b22aa88b2a86a5cc8ab63511bce8a5783a81831 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:05 -0400
Subject: [PATCH 04/16] openjdk17: move /etc/profile.d/10-openjdk*.sh to
trigger
also fix version for xlint
---
srcpkgs/openjdk17/template | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/srcpkgs/openjdk17/template b/srcpkgs/openjdk17/template
index 43f72e4d65c0..024f33f6ee8b 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -1,15 +1,12 @@
# Template file for 'openjdk17'
-_java_ver=17
-_java_min_ver=0
-_java_sec_ver=3
-_jdk_update=1
-_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
-_base_version="${_java_ver}.${_java_min_ver}.${_java_sec_ver}"
-
pkgname=openjdk17
-version="${_base_version}+${_jdk_update}"
-revision=1
-wrksrc="jdk${_java_ver}u-jdk-${_base_version}-${_jdk_update}"
+version=17.0.3+1
+revision=2
+_java_ver="${version%%.*}"
+_jdk_update="${version#*+}"
+_base_version="${version%+*}"
+_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
+wrksrc="jdk${_java_ver}u-jdk-${version/+/-}"
build_style=gnu-configure
configure_args="--disable-warnings-as-errors
--enable-unlimited-crypto
@@ -38,7 +35,6 @@ 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="${pkgname}-jre-${version}_${revision}"
-provides="java-environment-${version}_1"
short_desc="OpenJDK Java Development Kit (version ${_java_ver})"
maintainer="classabbyamp <dev@kb6.ee>"
license="GPL-2.0-only WITH Classpath-exception-2.0"
@@ -47,6 +43,7 @@ distfiles="https://github.com/openjdk/jdk${_java_ver}u/archive/jdk-${version}.ta
https://github.com/google/googletest/archive/refs/tags/release-1.8.1.tar.gz"
checksum="0fac6d90091fc16678a14349e578f6c1cf29738d55508f9f723fbb69469f6867
9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c"
+provides="java-environment-${version}_1"
# Build is still parallel, but don't use -jN.
disable_parallel_build=yes
@@ -182,6 +179,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 +196,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
}
From ff98aecd013a8cb4fb7abfbea6bb7632d50668cc Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:32 -0400
Subject: [PATCH 05/16] apache-fop: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/apache-fop/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-fop/template b/srcpkgs/apache-fop/template
index 96ab59bce8b3..3b7c917a7c09 100644
--- a/srcpkgs/apache-fop/template
+++ b/srcpkgs/apache-fop/template
@@ -1,7 +1,7 @@
# Template file for 'apache-fop'
pkgname=apache-fop
version=2.5
-revision=2
+revision=3
wrksrc="fop-${version}"
build_wrksrc="fop"
hostmakedepends="openjdk8 apache-ant"
@@ -18,7 +18,7 @@ conf_files="/etc/fop.conf"
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
ant package
}
do_install() {
From 9ad2ddd772f2150acffcb139efcfcb5e0882c5fc Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:35 -0400
Subject: [PATCH 06/16] apache-maven: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/apache-maven/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-maven/template b/srcpkgs/apache-maven/template
index c9603329c2cd..cc1e3e561634 100644
--- a/srcpkgs/apache-maven/template
+++ b/srcpkgs/apache-maven/template
@@ -1,7 +1,7 @@
# Template file for 'apache-maven'
pkgname=apache-maven
version=3.6.3
-revision=2
+revision=3
hostmakedepends="openjdk8"
depends="virtual?java-environment which"
short_desc="Software project management and comprehension tool"
@@ -15,7 +15,7 @@ checksum="7c1c990ba64dd4f88688120cc2ec93bf33dd500d2a62ae5cd57bd4b7f6335c07
replaces="apache-maven-bin>=0"
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
./bin/mvn package -DskipTests -Drat.skip=true -Dmaven.repo.local=repo -DdistributionTargetDir=${DESTDIR}/usr/lib/${pkgname}
}
From 2722cfbe2586577ff697f17d2c4e9bdcd0dc82f4 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:36 -0400
Subject: [PATCH 07/16] arduino: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/arduino/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/arduino/template b/srcpkgs/arduino/template
index 5d6531ec93fc..c2c08996fc4b 100644
--- a/srcpkgs/arduino/template
+++ b/srcpkgs/arduino/template
@@ -1,7 +1,7 @@
# Template file for 'arduino'
pkgname=arduino
version=1.8.13
-revision=1
+revision=2
archs="x86_64* i686* aarch64* arm*"
wrksrc=$pkgname-$version
create_wrksrc=yes
@@ -27,7 +27,7 @@ fi
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include/linux"
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include"
From 8bb8d31eb74e6d610a291057eb958a4cf530ac40 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 08/16] bibletime: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/bibletime/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/bibletime/template b/srcpkgs/bibletime/template
index 559755a9dd6f..af3301e02365 100644
--- a/srcpkgs/bibletime/template
+++ b/srcpkgs/bibletime/template
@@ -4,7 +4,7 @@
# to start.
pkgname=bibletime
version=3.0
-revision=2
+revision=3
build_style=cmake
configure_args="-DBT_DOCBOOK_XSL_HTML_CHUNK_XSL=/usr/share/xsl/docbook/html/chunk.xsl
-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=/usr/share/xsl/docbook/fo/docbook.xsl"
@@ -20,7 +20,7 @@ distfiles="https://github.com/bibletime/bibletime/releases/download/v${version}/
checksum=d6beef62ad44b255e3dc4c5e89214bf01a0e85c9136073b0be12fca3d2b22622
pre_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
if [ "$XBPS_WORDSIZE" = "32" ]; then
export _JAVA_OPTIONS="-Xmx1024m"
fi
From 0c4e840ea217ed14f2293ab7742b70c2cd414fd6 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 09/16] davmail: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/davmail/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/davmail/template b/srcpkgs/davmail/template
index 0482c0dce531..b739bf6b8bb6 100644
--- a/srcpkgs/davmail/template
+++ b/srcpkgs/davmail/template
@@ -1,7 +1,7 @@
# Template file for 'davmail'
pkgname=davmail
version=5.5.1
-revision=2
+revision=3
_commit=3299
wrksrc=davmail-src-${version}-${_commit}
hostmakedepends="openjdk8 apache-ant"
@@ -13,7 +13,7 @@ distfiles="${SOURCEFORGE_SITE}/davmail/davmail-src-${version}-${_commit}.tgz"
checksum=63e14eeda3fed2a1a5c55f864a8832f8842d597e797ca1e8874c9b66b811f508
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant jar
From 45bae670533ef10bc7b52761f963812aab232a62 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 10/16] freeplane: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/freeplane/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freeplane/template b/srcpkgs/freeplane/template
index 2e7adb76ea4a..fa4eeb5e80ba 100644
--- a/srcpkgs/freeplane/template
+++ b/srcpkgs/freeplane/template
@@ -1,7 +1,7 @@
# Template file for 'freeplane'
pkgname=freeplane
version=1.9.12
-revision=1
+revision=2
wrksrc="freeplane-release-${version}"
hostmakedepends="apache-ant openjdk8 unzip gradle"
depends="virtual?java-runtime"
@@ -23,7 +23,7 @@ esac
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
gradle format_translation binZip -x test
}
From d31f4bdc40a8c0d382e5fed1de7c912f2720f1e2 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 11/16] freerouting: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/freerouting/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freerouting/template b/srcpkgs/freerouting/template
index f643eabdb6fe..bfde02fc9e29 100644
--- a/srcpkgs/freerouting/template
+++ b/srcpkgs/freerouting/template
@@ -1,7 +1,7 @@
# Template file for 'freerouting'
pkgname=freerouting
version=1.4.5.1
-revision=1
+revision=2
hostmakedepends="dos2unix gradle openjdk11"
depends="openjdk11"
short_desc="Advanced PCB autorouter"
@@ -21,7 +21,7 @@ post_extract() {
}
do_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
gradle assemble
}
From b6b7a022d09ae3029de6daab65c2ca762e635f65 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 12/16] java-commons-io: fix name of
etc/profile.d/10_openjdk*.sh in template
---
srcpkgs/java-commons-io/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/java-commons-io/template b/srcpkgs/java-commons-io/template
index e91dcc87b8b5..5b8413e2a03d 100644
--- a/srcpkgs/java-commons-io/template
+++ b/srcpkgs/java-commons-io/template
@@ -2,7 +2,7 @@
_origname=commons-io
pkgname=java-commons-io
version=2.6
-revision=2
+revision=3
wrksrc="${_origname}-${version}-src"
hostmakedepends="openjdk8 apache-maven which"
depends="virtual?java-runtime"
@@ -19,7 +19,7 @@ case "$XBPS_MACHINE" in
esac
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
mvn package -Dmaven.test.skip=true
}
From 08ab2bc011f9416396b6fe7a46d7df2a54fabe29 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 13/16] jedit: fix name of /etc/profile.d/10_openjdk*.sh,
hard-code openjdk11
---
srcpkgs/jedit/files/jedit | 4 +---
srcpkgs/jedit/template | 4 ++--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/jedit/files/jedit b/srcpkgs/jedit/files/jedit
index 622bb9171864..706d2f8dd45c 100644
--- a/srcpkgs/jedit/files/jedit
+++ b/srcpkgs/jedit/files/jedit
@@ -1,10 +1,8 @@
#!/bin/sh
# openjdk11 is required
-. /etc/profile.d/10_openjdk11.sh
-
# default to gtk3, use antialiased fonts
-exec "${JAVA_HOME}/bin/java" \
+exec "/usr/lib/jvm/openjdk11/bin/java" \
-Djdk.gtk.version=3 \
-Dawt.useSystemAAFontSettings=on \
-Dswing.aatext=true \
diff --git a/srcpkgs/jedit/template b/srcpkgs/jedit/template
index cf7ac8cdd201..19ca4ac3df1f 100644
--- a/srcpkgs/jedit/template
+++ b/srcpkgs/jedit/template
@@ -1,7 +1,7 @@
# Template file for 'jedit'
pkgname=jedit
version=5.6.0
-revision=1
+revision=2
wrksrc=jEdit
hostmakedepends="apache-ant openjdk11 docbook-xsl"
depends="openjdk11 desktop-file-utils"
@@ -19,7 +19,7 @@ post_patch() {
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
ant -propertyfile ${FILESDIR}/build.properties build
ant -propertyfile ${FILESDIR}/build.properties docs-html
From 17f5e74a1aaf9d18bcb22b95381b8fe5c3b8e093 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 14/16] kodi: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/kodi/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index a31240ff2766..dd3747cbf7f3 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -1,7 +1,7 @@
# Template file for 'kodi'
pkgname=kodi
version=19.0
-revision=4
+revision=5
_codename="Matrix"
wrksrc="xbmc-${version}-${_codename}"
build_style=cmake
@@ -109,7 +109,7 @@ pre_configure() {
xargs sed -i -e "s;-isystem;-I;g"
fi
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
if [ "$CROSS_BUILD" ]; then
for i in JsonSchemaBuilder TexturePacker; do
From d462dd7837607505b47c9a6d5ea2daa4429d6ad5 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 15/16] lightzone: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/lightzone/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/lightzone/template b/srcpkgs/lightzone/template
index 13242f01cc77..261626fb9dff 100644
--- a/srcpkgs/lightzone/template
+++ b/srcpkgs/lightzone/template
@@ -1,7 +1,7 @@
# Template file for 'lightzone'
pkgname=lightzone
version=4.2.2
-revision=1
+revision=2
_ivy_version=2.4.0
wrksrc=LightZone-${version}
hostmakedepends="automake git openjdk11 apache-ant javahelp2 rsync pkg-config"
@@ -29,7 +29,7 @@ do_build() {
vsed -i lightcrafts/jnisrc/tiff/GNUmakefile \
-e "s;\./configure;& --host=${XBPS_MACHINE%-musl};"
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
cd linux
TARGET=${XBPS_TARGET_MACHINE%-musl} ant jar
}
From 1f199793f23a148c8488b2b8574c57e7d967aa1d Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:44 -0400
Subject: [PATCH 16/16] plantuml: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/plantuml/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/plantuml/template b/srcpkgs/plantuml/template
index fff4ec18b203..85259ce2ca6b 100644
--- a/srcpkgs/plantuml/template
+++ b/srcpkgs/plantuml/template
@@ -2,7 +2,7 @@
pkgname=plantuml
reverts="8047_1 8053_1 8059_1"
version=1.2021.14
-revision=1
+revision=2
create_wrksrc=yes
hostmakedepends="apache-ant openjdk8"
depends="virtual?java-environment graphviz"
@@ -14,7 +14,7 @@ distfiles="${SOURCEFORGE_SITE}/plantuml/plantuml-gplv2-${version}.tar.gz"
checksum=468aeaaea0742d8312d0f2f709df140e599967d8284fc0555f842fd0a6fe6941
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant
mv ${pkgname}.jar ${pkgname}-${version}.jar
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (16 preceding siblings ...)
2022-04-03 2:34 ` classabbyamp
@ 2022-04-07 18:23 ` classabbyamp
2022-04-10 17:25 ` classabbyamp
` (8 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-07 18:23 UTC (permalink / raw)
To: ml
[-- 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: 21170 bytes --]
From 46d8fe6913f72fadbf00c3d0e2e5e402ca07fdcc Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:09:47 -0400
Subject: [PATCH 01/16] 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 576757f42420143bcd640e0f5510fae91bbfbb48 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:02 -0400
Subject: [PATCH 02/16] 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 b8d4d04cb936561040ed661e853a4bcc81e15146 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:04 -0400
Subject: [PATCH 03/16] 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 21c2ca4047b3f0450437c4d126b708de303a8394 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:05 -0400
Subject: [PATCH 04/16] openjdk17: move /etc/profile.d/10-openjdk*.sh to
trigger
also fix version for xlint
---
srcpkgs/openjdk17/template | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/srcpkgs/openjdk17/template b/srcpkgs/openjdk17/template
index 19fa38707f00..a00fcce0172d 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -1,15 +1,12 @@
# Template file for 'openjdk17'
-_java_ver=17
-_java_min_ver=0
-_java_sec_ver=3
-_jdk_update=1
-_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
-_base_version="${_java_ver}.${_java_min_ver}.${_java_sec_ver}"
-
pkgname=openjdk17
-version="${_base_version}+${_jdk_update}"
-revision=1
-wrksrc="jdk${_java_ver}u-jdk-${_base_version}-${_jdk_update}"
+version=17.0.3+1
+revision=2
+_java_ver="${version%%.*}"
+_jdk_update="${version#*+}"
+_base_version="${version%+*}"
+_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
+wrksrc="jdk${_java_ver}u-jdk-${version/+/-}"
build_style=gnu-configure
configure_args="--disable-warnings-as-errors
--enable-unlimited-crypto
@@ -38,7 +35,6 @@ 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="${pkgname}-jre-${version}_${revision}"
-provides="java-environment-${version}_1"
short_desc="OpenJDK Java Development Kit (version ${_java_ver})"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only WITH Classpath-exception-2.0"
@@ -47,6 +43,7 @@ distfiles="https://github.com/openjdk/jdk${_java_ver}u/archive/jdk-${version}.ta
https://github.com/google/googletest/archive/refs/tags/release-1.8.1.tar.gz"
checksum="0fac6d90091fc16678a14349e578f6c1cf29738d55508f9f723fbb69469f6867
9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c"
+provides="java-environment-${version}_1"
# Build is still parallel, but don't use -jN.
disable_parallel_build=yes
@@ -182,6 +179,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 +196,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
}
From 6b28449399bc353675c1f67a5385aa1f21a3f522 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:32 -0400
Subject: [PATCH 05/16] apache-fop: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/apache-fop/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-fop/template b/srcpkgs/apache-fop/template
index 96ab59bce8b3..3b7c917a7c09 100644
--- a/srcpkgs/apache-fop/template
+++ b/srcpkgs/apache-fop/template
@@ -1,7 +1,7 @@
# Template file for 'apache-fop'
pkgname=apache-fop
version=2.5
-revision=2
+revision=3
wrksrc="fop-${version}"
build_wrksrc="fop"
hostmakedepends="openjdk8 apache-ant"
@@ -18,7 +18,7 @@ conf_files="/etc/fop.conf"
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
ant package
}
do_install() {
From 2584373c618dbbfe089f78fd5af239e133635e4b Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:35 -0400
Subject: [PATCH 06/16] apache-maven: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/apache-maven/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-maven/template b/srcpkgs/apache-maven/template
index c9603329c2cd..cc1e3e561634 100644
--- a/srcpkgs/apache-maven/template
+++ b/srcpkgs/apache-maven/template
@@ -1,7 +1,7 @@
# Template file for 'apache-maven'
pkgname=apache-maven
version=3.6.3
-revision=2
+revision=3
hostmakedepends="openjdk8"
depends="virtual?java-environment which"
short_desc="Software project management and comprehension tool"
@@ -15,7 +15,7 @@ checksum="7c1c990ba64dd4f88688120cc2ec93bf33dd500d2a62ae5cd57bd4b7f6335c07
replaces="apache-maven-bin>=0"
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
./bin/mvn package -DskipTests -Drat.skip=true -Dmaven.repo.local=repo -DdistributionTargetDir=${DESTDIR}/usr/lib/${pkgname}
}
From b9a92060d625192f42cec3a98f090ace80755b2b Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:36 -0400
Subject: [PATCH 07/16] arduino: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/arduino/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/arduino/template b/srcpkgs/arduino/template
index 19daa0c1b1e8..485d24ad5a28 100644
--- a/srcpkgs/arduino/template
+++ b/srcpkgs/arduino/template
@@ -1,7 +1,7 @@
# Template file for 'arduino'
pkgname=arduino
version=1.8.19
-revision=1
+revision=2
archs="x86_64* i686* aarch64* arm*"
wrksrc=$pkgname-$version
create_wrksrc=yes
@@ -27,7 +27,7 @@ fi
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include/linux"
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include"
From f8d9e18c03de4644f0d136d4d9938ac5cad35077 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 08/16] bibletime: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/bibletime/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/bibletime/template b/srcpkgs/bibletime/template
index 559755a9dd6f..af3301e02365 100644
--- a/srcpkgs/bibletime/template
+++ b/srcpkgs/bibletime/template
@@ -4,7 +4,7 @@
# to start.
pkgname=bibletime
version=3.0
-revision=2
+revision=3
build_style=cmake
configure_args="-DBT_DOCBOOK_XSL_HTML_CHUNK_XSL=/usr/share/xsl/docbook/html/chunk.xsl
-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=/usr/share/xsl/docbook/fo/docbook.xsl"
@@ -20,7 +20,7 @@ distfiles="https://github.com/bibletime/bibletime/releases/download/v${version}/
checksum=d6beef62ad44b255e3dc4c5e89214bf01a0e85c9136073b0be12fca3d2b22622
pre_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
if [ "$XBPS_WORDSIZE" = "32" ]; then
export _JAVA_OPTIONS="-Xmx1024m"
fi
From ad83c6fb4db79aca2da81c6e80a7dac0b839061c Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 09/16] davmail: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/davmail/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/davmail/template b/srcpkgs/davmail/template
index 0482c0dce531..b739bf6b8bb6 100644
--- a/srcpkgs/davmail/template
+++ b/srcpkgs/davmail/template
@@ -1,7 +1,7 @@
# Template file for 'davmail'
pkgname=davmail
version=5.5.1
-revision=2
+revision=3
_commit=3299
wrksrc=davmail-src-${version}-${_commit}
hostmakedepends="openjdk8 apache-ant"
@@ -13,7 +13,7 @@ distfiles="${SOURCEFORGE_SITE}/davmail/davmail-src-${version}-${_commit}.tgz"
checksum=63e14eeda3fed2a1a5c55f864a8832f8842d597e797ca1e8874c9b66b811f508
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant jar
From 9092d578b6aa2ee974d5fd017dd1cede6f8136ed Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 10/16] freeplane: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/freeplane/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freeplane/template b/srcpkgs/freeplane/template
index 2e7adb76ea4a..fa4eeb5e80ba 100644
--- a/srcpkgs/freeplane/template
+++ b/srcpkgs/freeplane/template
@@ -1,7 +1,7 @@
# Template file for 'freeplane'
pkgname=freeplane
version=1.9.12
-revision=1
+revision=2
wrksrc="freeplane-release-${version}"
hostmakedepends="apache-ant openjdk8 unzip gradle"
depends="virtual?java-runtime"
@@ -23,7 +23,7 @@ esac
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
gradle format_translation binZip -x test
}
From 57e1898a568c8da3b5049476409206074a2617e2 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 11/16] freerouting: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/freerouting/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freerouting/template b/srcpkgs/freerouting/template
index f643eabdb6fe..bfde02fc9e29 100644
--- a/srcpkgs/freerouting/template
+++ b/srcpkgs/freerouting/template
@@ -1,7 +1,7 @@
# Template file for 'freerouting'
pkgname=freerouting
version=1.4.5.1
-revision=1
+revision=2
hostmakedepends="dos2unix gradle openjdk11"
depends="openjdk11"
short_desc="Advanced PCB autorouter"
@@ -21,7 +21,7 @@ post_extract() {
}
do_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
gradle assemble
}
From 1c9ddedf1b1b82b3719736becc23f8eda23ab1e3 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 12/16] java-commons-io: fix name of
etc/profile.d/10_openjdk*.sh in template
---
srcpkgs/java-commons-io/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/java-commons-io/template b/srcpkgs/java-commons-io/template
index e91dcc87b8b5..5b8413e2a03d 100644
--- a/srcpkgs/java-commons-io/template
+++ b/srcpkgs/java-commons-io/template
@@ -2,7 +2,7 @@
_origname=commons-io
pkgname=java-commons-io
version=2.6
-revision=2
+revision=3
wrksrc="${_origname}-${version}-src"
hostmakedepends="openjdk8 apache-maven which"
depends="virtual?java-runtime"
@@ -19,7 +19,7 @@ case "$XBPS_MACHINE" in
esac
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
mvn package -Dmaven.test.skip=true
}
From b0f321c3b755f147ceb13a8d0ceed21eda639985 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 13/16] jedit: fix name of /etc/profile.d/10_openjdk*.sh,
hard-code openjdk11
---
srcpkgs/jedit/files/jedit | 4 +---
srcpkgs/jedit/template | 4 ++--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/jedit/files/jedit b/srcpkgs/jedit/files/jedit
index 622bb9171864..706d2f8dd45c 100644
--- a/srcpkgs/jedit/files/jedit
+++ b/srcpkgs/jedit/files/jedit
@@ -1,10 +1,8 @@
#!/bin/sh
# openjdk11 is required
-. /etc/profile.d/10_openjdk11.sh
-
# default to gtk3, use antialiased fonts
-exec "${JAVA_HOME}/bin/java" \
+exec "/usr/lib/jvm/openjdk11/bin/java" \
-Djdk.gtk.version=3 \
-Dawt.useSystemAAFontSettings=on \
-Dswing.aatext=true \
diff --git a/srcpkgs/jedit/template b/srcpkgs/jedit/template
index cf7ac8cdd201..19ca4ac3df1f 100644
--- a/srcpkgs/jedit/template
+++ b/srcpkgs/jedit/template
@@ -1,7 +1,7 @@
# Template file for 'jedit'
pkgname=jedit
version=5.6.0
-revision=1
+revision=2
wrksrc=jEdit
hostmakedepends="apache-ant openjdk11 docbook-xsl"
depends="openjdk11 desktop-file-utils"
@@ -19,7 +19,7 @@ post_patch() {
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
ant -propertyfile ${FILESDIR}/build.properties build
ant -propertyfile ${FILESDIR}/build.properties docs-html
From a8c1adc86a90ba1569d39dbb95889f4f0d43aaaa Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 14/16] kodi: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/kodi/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index da81c7e2d0a5..b4eeacdab624 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -1,7 +1,7 @@
# Template file for 'kodi'
pkgname=kodi
version=19.4
-revision=1
+revision=2
_codename="Matrix"
wrksrc="xbmc-${version}-${_codename}"
build_style=cmake
@@ -111,7 +111,7 @@ pre_configure() {
xargs sed -i -e "s;-isystem;-I;g"
fi
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
# Build tools needed to run on the host
if [ "$CROSS_BUILD" ]; then
From 0c708e7ec340cda9d1e4f17bf8c0ebd378cc7d1e Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 15/16] lightzone: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/lightzone/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/lightzone/template b/srcpkgs/lightzone/template
index 13242f01cc77..261626fb9dff 100644
--- a/srcpkgs/lightzone/template
+++ b/srcpkgs/lightzone/template
@@ -1,7 +1,7 @@
# Template file for 'lightzone'
pkgname=lightzone
version=4.2.2
-revision=1
+revision=2
_ivy_version=2.4.0
wrksrc=LightZone-${version}
hostmakedepends="automake git openjdk11 apache-ant javahelp2 rsync pkg-config"
@@ -29,7 +29,7 @@ do_build() {
vsed -i lightcrafts/jnisrc/tiff/GNUmakefile \
-e "s;\./configure;& --host=${XBPS_MACHINE%-musl};"
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
cd linux
TARGET=${XBPS_TARGET_MACHINE%-musl} ant jar
}
From 8a072837f4410d62644fadb987820dc90e8d8e22 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:44 -0400
Subject: [PATCH 16/16] plantuml: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/plantuml/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/plantuml/template b/srcpkgs/plantuml/template
index fff4ec18b203..85259ce2ca6b 100644
--- a/srcpkgs/plantuml/template
+++ b/srcpkgs/plantuml/template
@@ -2,7 +2,7 @@
pkgname=plantuml
reverts="8047_1 8053_1 8059_1"
version=1.2021.14
-revision=1
+revision=2
create_wrksrc=yes
hostmakedepends="apache-ant openjdk8"
depends="virtual?java-environment graphviz"
@@ -14,7 +14,7 @@ distfiles="${SOURCEFORGE_SITE}/plantuml/plantuml-gplv2-${version}.tar.gz"
checksum=468aeaaea0742d8312d0f2f709df140e599967d8284fc0555f842fd0a6fe6941
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant
mv ${pkgname}.jar ${pkgname}-${version}.jar
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (17 preceding siblings ...)
2022-04-07 18:23 ` classabbyamp
@ 2022-04-10 17:25 ` classabbyamp
2022-04-19 15:13 ` classabbyamp
` (7 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-10 17:25 UTC (permalink / raw)
To: ml
[-- 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: 21170 bytes --]
From c175be05c01e4db9e3c975e19b9ebc427c89f1a9 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:09:47 -0400
Subject: [PATCH 01/16] 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 49f8b591d7df80ceefdd20ad803a5bcb48e2aa7f Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:02 -0400
Subject: [PATCH 02/16] 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 fead1beec93fc23b2901e7cd13a05680da73633a Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:04 -0400
Subject: [PATCH 03/16] 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 19f8b4a6fa6ddd18e0bb84881831367bab9c00b9 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sun, 20 Mar 2022 16:12:05 -0400
Subject: [PATCH 04/16] openjdk17: move /etc/profile.d/10-openjdk*.sh to
trigger
also fix version for xlint
---
srcpkgs/openjdk17/template | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/srcpkgs/openjdk17/template b/srcpkgs/openjdk17/template
index 19fa38707f00..a00fcce0172d 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -1,15 +1,12 @@
# Template file for 'openjdk17'
-_java_ver=17
-_java_min_ver=0
-_java_sec_ver=3
-_jdk_update=1
-_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
-_base_version="${_java_ver}.${_java_min_ver}.${_java_sec_ver}"
-
pkgname=openjdk17
-version="${_base_version}+${_jdk_update}"
-revision=1
-wrksrc="jdk${_java_ver}u-jdk-${_base_version}-${_jdk_update}"
+version=17.0.3+1
+revision=2
+_java_ver="${version%%.*}"
+_jdk_update="${version#*+}"
+_base_version="${version%+*}"
+_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
+wrksrc="jdk${_java_ver}u-jdk-${version/+/-}"
build_style=gnu-configure
configure_args="--disable-warnings-as-errors
--enable-unlimited-crypto
@@ -38,7 +35,6 @@ 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="${pkgname}-jre-${version}_${revision}"
-provides="java-environment-${version}_1"
short_desc="OpenJDK Java Development Kit (version ${_java_ver})"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only WITH Classpath-exception-2.0"
@@ -47,6 +43,7 @@ distfiles="https://github.com/openjdk/jdk${_java_ver}u/archive/jdk-${version}.ta
https://github.com/google/googletest/archive/refs/tags/release-1.8.1.tar.gz"
checksum="0fac6d90091fc16678a14349e578f6c1cf29738d55508f9f723fbb69469f6867
9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c"
+provides="java-environment-${version}_1"
# Build is still parallel, but don't use -jN.
disable_parallel_build=yes
@@ -182,6 +179,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 +196,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
}
From fc7684e55caf07911c66908f27de69f8c8461ad2 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:32 -0400
Subject: [PATCH 05/16] apache-fop: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/apache-fop/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-fop/template b/srcpkgs/apache-fop/template
index 96ab59bce8b3..3b7c917a7c09 100644
--- a/srcpkgs/apache-fop/template
+++ b/srcpkgs/apache-fop/template
@@ -1,7 +1,7 @@
# Template file for 'apache-fop'
pkgname=apache-fop
version=2.5
-revision=2
+revision=3
wrksrc="fop-${version}"
build_wrksrc="fop"
hostmakedepends="openjdk8 apache-ant"
@@ -18,7 +18,7 @@ conf_files="/etc/fop.conf"
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
ant package
}
do_install() {
From 86c6b51973328160b7149493660dd171454205a1 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:35 -0400
Subject: [PATCH 06/16] apache-maven: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/apache-maven/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-maven/template b/srcpkgs/apache-maven/template
index c9603329c2cd..cc1e3e561634 100644
--- a/srcpkgs/apache-maven/template
+++ b/srcpkgs/apache-maven/template
@@ -1,7 +1,7 @@
# Template file for 'apache-maven'
pkgname=apache-maven
version=3.6.3
-revision=2
+revision=3
hostmakedepends="openjdk8"
depends="virtual?java-environment which"
short_desc="Software project management and comprehension tool"
@@ -15,7 +15,7 @@ checksum="7c1c990ba64dd4f88688120cc2ec93bf33dd500d2a62ae5cd57bd4b7f6335c07
replaces="apache-maven-bin>=0"
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
./bin/mvn package -DskipTests -Drat.skip=true -Dmaven.repo.local=repo -DdistributionTargetDir=${DESTDIR}/usr/lib/${pkgname}
}
From f168c6bbf6eafd5edef2e1e6fc19dae819c30306 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:36 -0400
Subject: [PATCH 07/16] arduino: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/arduino/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/arduino/template b/srcpkgs/arduino/template
index 19daa0c1b1e8..485d24ad5a28 100644
--- a/srcpkgs/arduino/template
+++ b/srcpkgs/arduino/template
@@ -1,7 +1,7 @@
# Template file for 'arduino'
pkgname=arduino
version=1.8.19
-revision=1
+revision=2
archs="x86_64* i686* aarch64* arm*"
wrksrc=$pkgname-$version
create_wrksrc=yes
@@ -27,7 +27,7 @@ fi
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include/linux"
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include"
From f2dac251e59109cd7806addd61435669affc2054 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 08/16] bibletime: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/bibletime/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/bibletime/template b/srcpkgs/bibletime/template
index 559755a9dd6f..af3301e02365 100644
--- a/srcpkgs/bibletime/template
+++ b/srcpkgs/bibletime/template
@@ -4,7 +4,7 @@
# to start.
pkgname=bibletime
version=3.0
-revision=2
+revision=3
build_style=cmake
configure_args="-DBT_DOCBOOK_XSL_HTML_CHUNK_XSL=/usr/share/xsl/docbook/html/chunk.xsl
-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=/usr/share/xsl/docbook/fo/docbook.xsl"
@@ -20,7 +20,7 @@ distfiles="https://github.com/bibletime/bibletime/releases/download/v${version}/
checksum=d6beef62ad44b255e3dc4c5e89214bf01a0e85c9136073b0be12fca3d2b22622
pre_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
if [ "$XBPS_WORDSIZE" = "32" ]; then
export _JAVA_OPTIONS="-Xmx1024m"
fi
From bc95781e31d8fc5a215528ffe731c06b9b60717d Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 09/16] davmail: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/davmail/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/davmail/template b/srcpkgs/davmail/template
index 0482c0dce531..b739bf6b8bb6 100644
--- a/srcpkgs/davmail/template
+++ b/srcpkgs/davmail/template
@@ -1,7 +1,7 @@
# Template file for 'davmail'
pkgname=davmail
version=5.5.1
-revision=2
+revision=3
_commit=3299
wrksrc=davmail-src-${version}-${_commit}
hostmakedepends="openjdk8 apache-ant"
@@ -13,7 +13,7 @@ distfiles="${SOURCEFORGE_SITE}/davmail/davmail-src-${version}-${_commit}.tgz"
checksum=63e14eeda3fed2a1a5c55f864a8832f8842d597e797ca1e8874c9b66b811f508
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant jar
From f1ad61253a612a3c431fff782207d1b825320485 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 10/16] freeplane: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/freeplane/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freeplane/template b/srcpkgs/freeplane/template
index 2e7adb76ea4a..fa4eeb5e80ba 100644
--- a/srcpkgs/freeplane/template
+++ b/srcpkgs/freeplane/template
@@ -1,7 +1,7 @@
# Template file for 'freeplane'
pkgname=freeplane
version=1.9.12
-revision=1
+revision=2
wrksrc="freeplane-release-${version}"
hostmakedepends="apache-ant openjdk8 unzip gradle"
depends="virtual?java-runtime"
@@ -23,7 +23,7 @@ esac
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
gradle format_translation binZip -x test
}
From 6162606bde1f02e060b3e7d0069812e1c213e32b Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 11/16] freerouting: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/freerouting/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freerouting/template b/srcpkgs/freerouting/template
index f643eabdb6fe..bfde02fc9e29 100644
--- a/srcpkgs/freerouting/template
+++ b/srcpkgs/freerouting/template
@@ -1,7 +1,7 @@
# Template file for 'freerouting'
pkgname=freerouting
version=1.4.5.1
-revision=1
+revision=2
hostmakedepends="dos2unix gradle openjdk11"
depends="openjdk11"
short_desc="Advanced PCB autorouter"
@@ -21,7 +21,7 @@ post_extract() {
}
do_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
gradle assemble
}
From 5f06e5c4fd92adc99ec5ef20961d44cf3639f666 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 12/16] java-commons-io: fix name of
etc/profile.d/10_openjdk*.sh in template
---
srcpkgs/java-commons-io/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/java-commons-io/template b/srcpkgs/java-commons-io/template
index e91dcc87b8b5..5b8413e2a03d 100644
--- a/srcpkgs/java-commons-io/template
+++ b/srcpkgs/java-commons-io/template
@@ -2,7 +2,7 @@
_origname=commons-io
pkgname=java-commons-io
version=2.6
-revision=2
+revision=3
wrksrc="${_origname}-${version}-src"
hostmakedepends="openjdk8 apache-maven which"
depends="virtual?java-runtime"
@@ -19,7 +19,7 @@ case "$XBPS_MACHINE" in
esac
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
mvn package -Dmaven.test.skip=true
}
From c869917671af593c2a4ecf4ed028c6df9d529b7f Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 13/16] jedit: fix name of /etc/profile.d/10_openjdk*.sh,
hard-code openjdk11
---
srcpkgs/jedit/files/jedit | 4 +---
srcpkgs/jedit/template | 4 ++--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/jedit/files/jedit b/srcpkgs/jedit/files/jedit
index 622bb9171864..706d2f8dd45c 100644
--- a/srcpkgs/jedit/files/jedit
+++ b/srcpkgs/jedit/files/jedit
@@ -1,10 +1,8 @@
#!/bin/sh
# openjdk11 is required
-. /etc/profile.d/10_openjdk11.sh
-
# default to gtk3, use antialiased fonts
-exec "${JAVA_HOME}/bin/java" \
+exec "/usr/lib/jvm/openjdk11/bin/java" \
-Djdk.gtk.version=3 \
-Dawt.useSystemAAFontSettings=on \
-Dswing.aatext=true \
diff --git a/srcpkgs/jedit/template b/srcpkgs/jedit/template
index cf7ac8cdd201..19ca4ac3df1f 100644
--- a/srcpkgs/jedit/template
+++ b/srcpkgs/jedit/template
@@ -1,7 +1,7 @@
# Template file for 'jedit'
pkgname=jedit
version=5.6.0
-revision=1
+revision=2
wrksrc=jEdit
hostmakedepends="apache-ant openjdk11 docbook-xsl"
depends="openjdk11 desktop-file-utils"
@@ -19,7 +19,7 @@ post_patch() {
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
ant -propertyfile ${FILESDIR}/build.properties build
ant -propertyfile ${FILESDIR}/build.properties docs-html
From db30eb9beb7468c50192df9a303664e344ae35be Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 14/16] kodi: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/kodi/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index da81c7e2d0a5..b4eeacdab624 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -1,7 +1,7 @@
# Template file for 'kodi'
pkgname=kodi
version=19.4
-revision=1
+revision=2
_codename="Matrix"
wrksrc="xbmc-${version}-${_codename}"
build_style=cmake
@@ -111,7 +111,7 @@ pre_configure() {
xargs sed -i -e "s;-isystem;-I;g"
fi
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
# Build tools needed to run on the host
if [ "$CROSS_BUILD" ]; then
From 854f57283a7c2700e6f8f28038274ab33d82a662 Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 15/16] lightzone: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/lightzone/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/lightzone/template b/srcpkgs/lightzone/template
index 13242f01cc77..261626fb9dff 100644
--- a/srcpkgs/lightzone/template
+++ b/srcpkgs/lightzone/template
@@ -1,7 +1,7 @@
# Template file for 'lightzone'
pkgname=lightzone
version=4.2.2
-revision=1
+revision=2
_ivy_version=2.4.0
wrksrc=LightZone-${version}
hostmakedepends="automake git openjdk11 apache-ant javahelp2 rsync pkg-config"
@@ -29,7 +29,7 @@ do_build() {
vsed -i lightcrafts/jnisrc/tiff/GNUmakefile \
-e "s;\./configure;& --host=${XBPS_MACHINE%-musl};"
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
cd linux
TARGET=${XBPS_TARGET_MACHINE%-musl} ant jar
}
From 6a79882dcd9d60775e8a45f9d4700dd1d799ab4e Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@kb6.ee>
Date: Sat, 2 Apr 2022 22:28:44 -0400
Subject: [PATCH 16/16] plantuml: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/plantuml/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/plantuml/template b/srcpkgs/plantuml/template
index fff4ec18b203..85259ce2ca6b 100644
--- a/srcpkgs/plantuml/template
+++ b/srcpkgs/plantuml/template
@@ -2,7 +2,7 @@
pkgname=plantuml
reverts="8047_1 8053_1 8059_1"
version=1.2021.14
-revision=1
+revision=2
create_wrksrc=yes
hostmakedepends="apache-ant openjdk8"
depends="virtual?java-environment graphviz"
@@ -14,7 +14,7 @@ distfiles="${SOURCEFORGE_SITE}/plantuml/plantuml-gplv2-${version}.tar.gz"
checksum=468aeaaea0742d8312d0f2f709df140e599967d8284fc0555f842fd0a6fe6941
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant
mv ${pkgname}.jar ${pkgname}-${version}.jar
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (18 preceding siblings ...)
2022-04-10 17:25 ` classabbyamp
@ 2022-04-19 15:13 ` classabbyamp
2022-04-21 17:20 ` classabbyamp
` (6 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-19 15:13 UTC (permalink / raw)
To: ml
[-- 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: 19916 bytes --]
From 0eed20ebe08db6f093865f4765d1f8f1c2a9dcd4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:09:47 -0400
Subject: [PATCH 01/16] 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 1ff97ca5f9be8a91e884262711c5df3eb7b2bf6c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:12:02 -0400
Subject: [PATCH 02/16] 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 424683dd5767759486fd786a71e8831032186e76 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:12:04 -0400
Subject: [PATCH 03/16] 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 e03e1fe75bd0b4a6de542e05d4847d1d06a941d1 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:12:05 -0400
Subject: [PATCH 04/16] 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 7e368f9b687e..00e722109b10 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -1,7 +1,7 @@
# Template file for 'openjdk17'
pkgname=openjdk17
version=17.0.3+5
-revision=1
+revision=2
_gtest_ver=1.8.1
_java_ver="${version%%.*}"
_jdk_update="${version#*+}"
@@ -174,6 +174,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
@@ -189,11 +191,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
}
From 38326d376a10756be21602e6976f370d5f631232 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:32 -0400
Subject: [PATCH 05/16] apache-fop: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/apache-fop/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-fop/template b/srcpkgs/apache-fop/template
index 96ab59bce8b3..3b7c917a7c09 100644
--- a/srcpkgs/apache-fop/template
+++ b/srcpkgs/apache-fop/template
@@ -1,7 +1,7 @@
# Template file for 'apache-fop'
pkgname=apache-fop
version=2.5
-revision=2
+revision=3
wrksrc="fop-${version}"
build_wrksrc="fop"
hostmakedepends="openjdk8 apache-ant"
@@ -18,7 +18,7 @@ conf_files="/etc/fop.conf"
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
ant package
}
do_install() {
From 7b0d43496148c51a685ce88d6fdde4ef7ec00867 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:35 -0400
Subject: [PATCH 06/16] apache-maven: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/apache-maven/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-maven/template b/srcpkgs/apache-maven/template
index c9603329c2cd..cc1e3e561634 100644
--- a/srcpkgs/apache-maven/template
+++ b/srcpkgs/apache-maven/template
@@ -1,7 +1,7 @@
# Template file for 'apache-maven'
pkgname=apache-maven
version=3.6.3
-revision=2
+revision=3
hostmakedepends="openjdk8"
depends="virtual?java-environment which"
short_desc="Software project management and comprehension tool"
@@ -15,7 +15,7 @@ checksum="7c1c990ba64dd4f88688120cc2ec93bf33dd500d2a62ae5cd57bd4b7f6335c07
replaces="apache-maven-bin>=0"
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
./bin/mvn package -DskipTests -Drat.skip=true -Dmaven.repo.local=repo -DdistributionTargetDir=${DESTDIR}/usr/lib/${pkgname}
}
From cef89a1a540cd99925d3a533383ade3d39fa67eb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:36 -0400
Subject: [PATCH 07/16] arduino: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/arduino/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/arduino/template b/srcpkgs/arduino/template
index 19daa0c1b1e8..485d24ad5a28 100644
--- a/srcpkgs/arduino/template
+++ b/srcpkgs/arduino/template
@@ -1,7 +1,7 @@
# Template file for 'arduino'
pkgname=arduino
version=1.8.19
-revision=1
+revision=2
archs="x86_64* i686* aarch64* arm*"
wrksrc=$pkgname-$version
create_wrksrc=yes
@@ -27,7 +27,7 @@ fi
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include/linux"
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include"
From 700cab50e97b3f92d6991fd736b9fce7a2f59582 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 08/16] bibletime: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/bibletime/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/bibletime/template b/srcpkgs/bibletime/template
index 559755a9dd6f..af3301e02365 100644
--- a/srcpkgs/bibletime/template
+++ b/srcpkgs/bibletime/template
@@ -4,7 +4,7 @@
# to start.
pkgname=bibletime
version=3.0
-revision=2
+revision=3
build_style=cmake
configure_args="-DBT_DOCBOOK_XSL_HTML_CHUNK_XSL=/usr/share/xsl/docbook/html/chunk.xsl
-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=/usr/share/xsl/docbook/fo/docbook.xsl"
@@ -20,7 +20,7 @@ distfiles="https://github.com/bibletime/bibletime/releases/download/v${version}/
checksum=d6beef62ad44b255e3dc4c5e89214bf01a0e85c9136073b0be12fca3d2b22622
pre_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
if [ "$XBPS_WORDSIZE" = "32" ]; then
export _JAVA_OPTIONS="-Xmx1024m"
fi
From 802d44bf85c4ef8de05a14d3a44b5e2c9057dd69 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 09/16] davmail: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/davmail/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/davmail/template b/srcpkgs/davmail/template
index 0482c0dce531..b739bf6b8bb6 100644
--- a/srcpkgs/davmail/template
+++ b/srcpkgs/davmail/template
@@ -1,7 +1,7 @@
# Template file for 'davmail'
pkgname=davmail
version=5.5.1
-revision=2
+revision=3
_commit=3299
wrksrc=davmail-src-${version}-${_commit}
hostmakedepends="openjdk8 apache-ant"
@@ -13,7 +13,7 @@ distfiles="${SOURCEFORGE_SITE}/davmail/davmail-src-${version}-${_commit}.tgz"
checksum=63e14eeda3fed2a1a5c55f864a8832f8842d597e797ca1e8874c9b66b811f508
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant jar
From 092df7388138796e928e1d11fb6451435c551e0c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 10/16] freeplane: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/freeplane/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freeplane/template b/srcpkgs/freeplane/template
index 2e7adb76ea4a..fa4eeb5e80ba 100644
--- a/srcpkgs/freeplane/template
+++ b/srcpkgs/freeplane/template
@@ -1,7 +1,7 @@
# Template file for 'freeplane'
pkgname=freeplane
version=1.9.12
-revision=1
+revision=2
wrksrc="freeplane-release-${version}"
hostmakedepends="apache-ant openjdk8 unzip gradle"
depends="virtual?java-runtime"
@@ -23,7 +23,7 @@ esac
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
gradle format_translation binZip -x test
}
From c2f71d5b647a91d302ff5c8ea14cd949ba84abfd Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 11/16] freerouting: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/freerouting/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freerouting/template b/srcpkgs/freerouting/template
index f643eabdb6fe..bfde02fc9e29 100644
--- a/srcpkgs/freerouting/template
+++ b/srcpkgs/freerouting/template
@@ -1,7 +1,7 @@
# Template file for 'freerouting'
pkgname=freerouting
version=1.4.5.1
-revision=1
+revision=2
hostmakedepends="dos2unix gradle openjdk11"
depends="openjdk11"
short_desc="Advanced PCB autorouter"
@@ -21,7 +21,7 @@ post_extract() {
}
do_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
gradle assemble
}
From 18a7229369b692ecfaee5a1962d7daacbfe85e10 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 12/16] java-commons-io: fix name of
etc/profile.d/10_openjdk*.sh in template
---
srcpkgs/java-commons-io/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/java-commons-io/template b/srcpkgs/java-commons-io/template
index e91dcc87b8b5..5b8413e2a03d 100644
--- a/srcpkgs/java-commons-io/template
+++ b/srcpkgs/java-commons-io/template
@@ -2,7 +2,7 @@
_origname=commons-io
pkgname=java-commons-io
version=2.6
-revision=2
+revision=3
wrksrc="${_origname}-${version}-src"
hostmakedepends="openjdk8 apache-maven which"
depends="virtual?java-runtime"
@@ -19,7 +19,7 @@ case "$XBPS_MACHINE" in
esac
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
mvn package -Dmaven.test.skip=true
}
From 6a239e64c78a9e4d0124f77fb7db63aaa1dc9613 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 13/16] jedit: fix name of /etc/profile.d/10_openjdk*.sh,
hard-code openjdk11
---
srcpkgs/jedit/files/jedit | 4 +---
srcpkgs/jedit/template | 4 ++--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/jedit/files/jedit b/srcpkgs/jedit/files/jedit
index 622bb9171864..706d2f8dd45c 100644
--- a/srcpkgs/jedit/files/jedit
+++ b/srcpkgs/jedit/files/jedit
@@ -1,10 +1,8 @@
#!/bin/sh
# openjdk11 is required
-. /etc/profile.d/10_openjdk11.sh
-
# default to gtk3, use antialiased fonts
-exec "${JAVA_HOME}/bin/java" \
+exec "/usr/lib/jvm/openjdk11/bin/java" \
-Djdk.gtk.version=3 \
-Dawt.useSystemAAFontSettings=on \
-Dswing.aatext=true \
diff --git a/srcpkgs/jedit/template b/srcpkgs/jedit/template
index cf7ac8cdd201..19ca4ac3df1f 100644
--- a/srcpkgs/jedit/template
+++ b/srcpkgs/jedit/template
@@ -1,7 +1,7 @@
# Template file for 'jedit'
pkgname=jedit
version=5.6.0
-revision=1
+revision=2
wrksrc=jEdit
hostmakedepends="apache-ant openjdk11 docbook-xsl"
depends="openjdk11 desktop-file-utils"
@@ -19,7 +19,7 @@ post_patch() {
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
ant -propertyfile ${FILESDIR}/build.properties build
ant -propertyfile ${FILESDIR}/build.properties docs-html
From 408b7f1acd06c460e9eab2b46446f6e907b62334 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 14/16] kodi: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/kodi/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index da81c7e2d0a5..b4eeacdab624 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -1,7 +1,7 @@
# Template file for 'kodi'
pkgname=kodi
version=19.4
-revision=1
+revision=2
_codename="Matrix"
wrksrc="xbmc-${version}-${_codename}"
build_style=cmake
@@ -111,7 +111,7 @@ pre_configure() {
xargs sed -i -e "s;-isystem;-I;g"
fi
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
# Build tools needed to run on the host
if [ "$CROSS_BUILD" ]; then
From 0e57c4de1a1a4b8b46cd38882c116fb0c6273a29 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 15/16] lightzone: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/lightzone/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/lightzone/template b/srcpkgs/lightzone/template
index 13242f01cc77..261626fb9dff 100644
--- a/srcpkgs/lightzone/template
+++ b/srcpkgs/lightzone/template
@@ -1,7 +1,7 @@
# Template file for 'lightzone'
pkgname=lightzone
version=4.2.2
-revision=1
+revision=2
_ivy_version=2.4.0
wrksrc=LightZone-${version}
hostmakedepends="automake git openjdk11 apache-ant javahelp2 rsync pkg-config"
@@ -29,7 +29,7 @@ do_build() {
vsed -i lightcrafts/jnisrc/tiff/GNUmakefile \
-e "s;\./configure;& --host=${XBPS_MACHINE%-musl};"
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
cd linux
TARGET=${XBPS_TARGET_MACHINE%-musl} ant jar
}
From 6e609fa99106185246e7988b3cea6955053579d2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:44 -0400
Subject: [PATCH 16/16] plantuml: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/plantuml/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/plantuml/template b/srcpkgs/plantuml/template
index fff4ec18b203..85259ce2ca6b 100644
--- a/srcpkgs/plantuml/template
+++ b/srcpkgs/plantuml/template
@@ -2,7 +2,7 @@
pkgname=plantuml
reverts="8047_1 8053_1 8059_1"
version=1.2021.14
-revision=1
+revision=2
create_wrksrc=yes
hostmakedepends="apache-ant openjdk8"
depends="virtual?java-environment graphviz"
@@ -14,7 +14,7 @@ distfiles="${SOURCEFORGE_SITE}/plantuml/plantuml-gplv2-${version}.tar.gz"
checksum=468aeaaea0742d8312d0f2f709df140e599967d8284fc0555f842fd0a6fe6941
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant
mv ${pkgname}.jar ${pkgname}-${version}.jar
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (19 preceding siblings ...)
2022-04-19 15:13 ` classabbyamp
@ 2022-04-21 17:20 ` classabbyamp
2022-04-28 1:34 ` classabbyamp
` (5 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-21 17:20 UTC (permalink / raw)
To: ml
[-- 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: 19903 bytes --]
From b5561b8bfaf0a8978ab0004801862058ab27a7c1 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:09:47 -0400
Subject: [PATCH 01/16] 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 bca3df0373de8818c4971313b3e553a7af1f8383 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:12:02 -0400
Subject: [PATCH 02/16] 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 9cced29b4be9..9832b18555a6 100644
--- a/srcpkgs/openjdk8/template
+++ b/srcpkgs/openjdk8/template
@@ -4,7 +4,7 @@
# TODO: config files?
pkgname=openjdk8
version=8u322b04
-revision=1
+revision=2
_jdk_update="${version#*u}"
_jdk_update="${_jdk_update%b*}"
_jdk_build="${version#*b}"
@@ -221,6 +221,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:/${_jdk_home}/jre/bin/java
java:/usr/bin/jjs:/${_jdk_home}/jre/bin/jjs
@@ -236,10 +238,6 @@ openjdk8-jre_package() {
"
pkg_install() {
vmove ${_jdk_home}/jre
- vmkdir etc/profile.d
- cat >>${PKGDESTDIR}/etc/profile.d/10_openjdk8.sh <<EOF
-export JAVA_HOME=\${JAVA_HOME=/${_jdk_home}/jre}
-EOF
}
}
From dd2401bc09bf4a38b4798c26fb14bfd826041894 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:12:04 -0400
Subject: [PATCH 03/16] 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 c60c2fff04bee2552c8db7fc6118a6004ef6c972 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:12:05 -0400
Subject: [PATCH 04/16] 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 2554e49c54ea..f60e96f79082 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -1,7 +1,7 @@
# Template file for 'openjdk17'
pkgname=openjdk17
version=17.0.3+7
-revision=1
+revision=2
_gtest_ver=1.8.1
_java_ver="${version%%.*}"
_jdk_update="${version#*+}"
@@ -170,6 +170,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
@@ -185,11 +187,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
}
From cdc8d194dfa37caa03291eca752e02dd3a238fa2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:32 -0400
Subject: [PATCH 05/16] apache-fop: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/apache-fop/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-fop/template b/srcpkgs/apache-fop/template
index 96ab59bce8b3..3b7c917a7c09 100644
--- a/srcpkgs/apache-fop/template
+++ b/srcpkgs/apache-fop/template
@@ -1,7 +1,7 @@
# Template file for 'apache-fop'
pkgname=apache-fop
version=2.5
-revision=2
+revision=3
wrksrc="fop-${version}"
build_wrksrc="fop"
hostmakedepends="openjdk8 apache-ant"
@@ -18,7 +18,7 @@ conf_files="/etc/fop.conf"
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
ant package
}
do_install() {
From 97cd1160b7cdf5fb7e89d56c982a42d52c6e7368 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:35 -0400
Subject: [PATCH 06/16] apache-maven: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/apache-maven/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-maven/template b/srcpkgs/apache-maven/template
index c9603329c2cd..cc1e3e561634 100644
--- a/srcpkgs/apache-maven/template
+++ b/srcpkgs/apache-maven/template
@@ -1,7 +1,7 @@
# Template file for 'apache-maven'
pkgname=apache-maven
version=3.6.3
-revision=2
+revision=3
hostmakedepends="openjdk8"
depends="virtual?java-environment which"
short_desc="Software project management and comprehension tool"
@@ -15,7 +15,7 @@ checksum="7c1c990ba64dd4f88688120cc2ec93bf33dd500d2a62ae5cd57bd4b7f6335c07
replaces="apache-maven-bin>=0"
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
./bin/mvn package -DskipTests -Drat.skip=true -Dmaven.repo.local=repo -DdistributionTargetDir=${DESTDIR}/usr/lib/${pkgname}
}
From 6058c1352b8c59c823a3540e853b9725d69734b8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:36 -0400
Subject: [PATCH 07/16] arduino: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/arduino/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/arduino/template b/srcpkgs/arduino/template
index 19daa0c1b1e8..485d24ad5a28 100644
--- a/srcpkgs/arduino/template
+++ b/srcpkgs/arduino/template
@@ -1,7 +1,7 @@
# Template file for 'arduino'
pkgname=arduino
version=1.8.19
-revision=1
+revision=2
archs="x86_64* i686* aarch64* arm*"
wrksrc=$pkgname-$version
create_wrksrc=yes
@@ -27,7 +27,7 @@ fi
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include/linux"
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include"
From bb155a48cd6eb37c5b1e57027b716fc12255ef4c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 08/16] bibletime: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/bibletime/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/bibletime/template b/srcpkgs/bibletime/template
index 559755a9dd6f..af3301e02365 100644
--- a/srcpkgs/bibletime/template
+++ b/srcpkgs/bibletime/template
@@ -4,7 +4,7 @@
# to start.
pkgname=bibletime
version=3.0
-revision=2
+revision=3
build_style=cmake
configure_args="-DBT_DOCBOOK_XSL_HTML_CHUNK_XSL=/usr/share/xsl/docbook/html/chunk.xsl
-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=/usr/share/xsl/docbook/fo/docbook.xsl"
@@ -20,7 +20,7 @@ distfiles="https://github.com/bibletime/bibletime/releases/download/v${version}/
checksum=d6beef62ad44b255e3dc4c5e89214bf01a0e85c9136073b0be12fca3d2b22622
pre_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
if [ "$XBPS_WORDSIZE" = "32" ]; then
export _JAVA_OPTIONS="-Xmx1024m"
fi
From 9445a56c96cc4f219f565308ed21d371125083f9 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 09/16] davmail: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/davmail/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/davmail/template b/srcpkgs/davmail/template
index 0482c0dce531..b739bf6b8bb6 100644
--- a/srcpkgs/davmail/template
+++ b/srcpkgs/davmail/template
@@ -1,7 +1,7 @@
# Template file for 'davmail'
pkgname=davmail
version=5.5.1
-revision=2
+revision=3
_commit=3299
wrksrc=davmail-src-${version}-${_commit}
hostmakedepends="openjdk8 apache-ant"
@@ -13,7 +13,7 @@ distfiles="${SOURCEFORGE_SITE}/davmail/davmail-src-${version}-${_commit}.tgz"
checksum=63e14eeda3fed2a1a5c55f864a8832f8842d597e797ca1e8874c9b66b811f508
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant jar
From 2965dc234df1e372898d7df6cb25b2a3582b13f8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 10/16] freeplane: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/freeplane/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freeplane/template b/srcpkgs/freeplane/template
index 2e7adb76ea4a..fa4eeb5e80ba 100644
--- a/srcpkgs/freeplane/template
+++ b/srcpkgs/freeplane/template
@@ -1,7 +1,7 @@
# Template file for 'freeplane'
pkgname=freeplane
version=1.9.12
-revision=1
+revision=2
wrksrc="freeplane-release-${version}"
hostmakedepends="apache-ant openjdk8 unzip gradle"
depends="virtual?java-runtime"
@@ -23,7 +23,7 @@ esac
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
gradle format_translation binZip -x test
}
From 014e3748ad83fa79dde4b8c50b8aa6ac679a6c48 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 11/16] freerouting: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/freerouting/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freerouting/template b/srcpkgs/freerouting/template
index f643eabdb6fe..bfde02fc9e29 100644
--- a/srcpkgs/freerouting/template
+++ b/srcpkgs/freerouting/template
@@ -1,7 +1,7 @@
# Template file for 'freerouting'
pkgname=freerouting
version=1.4.5.1
-revision=1
+revision=2
hostmakedepends="dos2unix gradle openjdk11"
depends="openjdk11"
short_desc="Advanced PCB autorouter"
@@ -21,7 +21,7 @@ post_extract() {
}
do_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
gradle assemble
}
From 73bc11f55bb72577baba4d31dbade5d7ef952ef7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 12/16] java-commons-io: fix name of
etc/profile.d/10_openjdk*.sh in template
---
srcpkgs/java-commons-io/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/java-commons-io/template b/srcpkgs/java-commons-io/template
index e91dcc87b8b5..5b8413e2a03d 100644
--- a/srcpkgs/java-commons-io/template
+++ b/srcpkgs/java-commons-io/template
@@ -2,7 +2,7 @@
_origname=commons-io
pkgname=java-commons-io
version=2.6
-revision=2
+revision=3
wrksrc="${_origname}-${version}-src"
hostmakedepends="openjdk8 apache-maven which"
depends="virtual?java-runtime"
@@ -19,7 +19,7 @@ case "$XBPS_MACHINE" in
esac
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
mvn package -Dmaven.test.skip=true
}
From 907bf45b077aa99a3789acccfdfe62c2b2221f56 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 13/16] jedit: fix name of /etc/profile.d/10_openjdk*.sh,
hard-code openjdk11
---
srcpkgs/jedit/files/jedit | 4 +---
srcpkgs/jedit/template | 4 ++--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/jedit/files/jedit b/srcpkgs/jedit/files/jedit
index 622bb9171864..706d2f8dd45c 100644
--- a/srcpkgs/jedit/files/jedit
+++ b/srcpkgs/jedit/files/jedit
@@ -1,10 +1,8 @@
#!/bin/sh
# openjdk11 is required
-. /etc/profile.d/10_openjdk11.sh
-
# default to gtk3, use antialiased fonts
-exec "${JAVA_HOME}/bin/java" \
+exec "/usr/lib/jvm/openjdk11/bin/java" \
-Djdk.gtk.version=3 \
-Dawt.useSystemAAFontSettings=on \
-Dswing.aatext=true \
diff --git a/srcpkgs/jedit/template b/srcpkgs/jedit/template
index cf7ac8cdd201..19ca4ac3df1f 100644
--- a/srcpkgs/jedit/template
+++ b/srcpkgs/jedit/template
@@ -1,7 +1,7 @@
# Template file for 'jedit'
pkgname=jedit
version=5.6.0
-revision=1
+revision=2
wrksrc=jEdit
hostmakedepends="apache-ant openjdk11 docbook-xsl"
depends="openjdk11 desktop-file-utils"
@@ -19,7 +19,7 @@ post_patch() {
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
ant -propertyfile ${FILESDIR}/build.properties build
ant -propertyfile ${FILESDIR}/build.properties docs-html
From a9613ced1b2b2956bf48eaf164e7103f2d0f8071 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 14/16] kodi: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/kodi/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index da81c7e2d0a5..b4eeacdab624 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -1,7 +1,7 @@
# Template file for 'kodi'
pkgname=kodi
version=19.4
-revision=1
+revision=2
_codename="Matrix"
wrksrc="xbmc-${version}-${_codename}"
build_style=cmake
@@ -111,7 +111,7 @@ pre_configure() {
xargs sed -i -e "s;-isystem;-I;g"
fi
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
# Build tools needed to run on the host
if [ "$CROSS_BUILD" ]; then
From 5024804c37441a951541b68e5bf4d1cf73419bc4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 15/16] lightzone: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/lightzone/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/lightzone/template b/srcpkgs/lightzone/template
index 13242f01cc77..261626fb9dff 100644
--- a/srcpkgs/lightzone/template
+++ b/srcpkgs/lightzone/template
@@ -1,7 +1,7 @@
# Template file for 'lightzone'
pkgname=lightzone
version=4.2.2
-revision=1
+revision=2
_ivy_version=2.4.0
wrksrc=LightZone-${version}
hostmakedepends="automake git openjdk11 apache-ant javahelp2 rsync pkg-config"
@@ -29,7 +29,7 @@ do_build() {
vsed -i lightcrafts/jnisrc/tiff/GNUmakefile \
-e "s;\./configure;& --host=${XBPS_MACHINE%-musl};"
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
cd linux
TARGET=${XBPS_TARGET_MACHINE%-musl} ant jar
}
From aa3aae03bdff64302ac2b0efa7e08c52ad0c0b36 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:44 -0400
Subject: [PATCH 16/16] plantuml: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/plantuml/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/plantuml/template b/srcpkgs/plantuml/template
index fff4ec18b203..85259ce2ca6b 100644
--- a/srcpkgs/plantuml/template
+++ b/srcpkgs/plantuml/template
@@ -2,7 +2,7 @@
pkgname=plantuml
reverts="8047_1 8053_1 8059_1"
version=1.2021.14
-revision=1
+revision=2
create_wrksrc=yes
hostmakedepends="apache-ant openjdk8"
depends="virtual?java-environment graphviz"
@@ -14,7 +14,7 @@ distfiles="${SOURCEFORGE_SITE}/plantuml/plantuml-gplv2-${version}.tar.gz"
checksum=468aeaaea0742d8312d0f2f709df140e599967d8284fc0555f842fd0a6fe6941
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant
mv ${pkgname}.jar ${pkgname}-${version}.jar
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Updated] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (20 preceding siblings ...)
2022-04-21 17:20 ` classabbyamp
@ 2022-04-28 1:34 ` classabbyamp
2022-04-28 1:42 ` classabbyamp
` (4 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-28 1:34 UTC (permalink / raw)
To: ml
[-- 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: 19310 bytes --]
From a62730ef9c16cfdaee20a89c3348471389604d47 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:09:47 -0400
Subject: [PATCH 01/16] 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 78b0e4370a1b2daba368c988d2a119b85fd8640c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:12:02 -0400
Subject: [PATCH 02/16] 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 9cced29b4be9..9832b18555a6 100644
--- a/srcpkgs/openjdk8/template
+++ b/srcpkgs/openjdk8/template
@@ -4,7 +4,7 @@
# TODO: config files?
pkgname=openjdk8
version=8u322b04
-revision=1
+revision=2
_jdk_update="${version#*u}"
_jdk_update="${_jdk_update%b*}"
_jdk_build="${version#*b}"
@@ -221,6 +221,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:/${_jdk_home}/jre/bin/java
java:/usr/bin/jjs:/${_jdk_home}/jre/bin/jjs
@@ -236,10 +238,6 @@ openjdk8-jre_package() {
"
pkg_install() {
vmove ${_jdk_home}/jre
- vmkdir etc/profile.d
- cat >>${PKGDESTDIR}/etc/profile.d/10_openjdk8.sh <<EOF
-export JAVA_HOME=\${JAVA_HOME=/${_jdk_home}/jre}
-EOF
}
}
From 35d4e0df96c87cfcd17e2bf83f80eb1c9d7bea98 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:12:04 -0400
Subject: [PATCH 03/16] openjdk11: move /etc/profile.d/10-openjdk*.sh to
trigger
---
srcpkgs/openjdk11/template | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/openjdk11/template b/srcpkgs/openjdk11/template
index 711376c10824..45c775856fa9 100644
--- a/srcpkgs/openjdk11/template
+++ b/srcpkgs/openjdk11/template
@@ -1,7 +1,7 @@
# Template file for 'openjdk11'
pkgname=openjdk11
version=11.0.12+7
-revision=1
+revision=2
_java_ver="${version%%.*}"
_jdk_home="usr/lib/jvm/openjdk${_java_ver}"
wrksrc="jdk${_java_ver}u-jdk-${version}"
@@ -160,7 +160,8 @@ openjdk11-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="fontconfig"
+ depends="fontconfig xbps-triggers>=0.122_1"
+ triggers="openjdk-profile"
alternatives="
java:/usr/bin/java:/${_jdk_home}/bin/java
java:/usr/bin/jjs:/${_jdk_home}/bin/jjs
@@ -179,11 +180,6 @@ openjdk11-jre_package() {
vmove $_jdk_home/$f
done
- vmkdir etc/profile.d
- cat >>${PKGDESTDIR}/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 a4b81660184a3cbb8b72e309b55f2d8550f20147 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 20 Mar 2022 16:12:05 -0400
Subject: [PATCH 04/16] 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 2554e49c54ea..f60e96f79082 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -1,7 +1,7 @@
# Template file for 'openjdk17'
pkgname=openjdk17
version=17.0.3+7
-revision=1
+revision=2
_gtest_ver=1.8.1
_java_ver="${version%%.*}"
_jdk_update="${version#*+}"
@@ -170,6 +170,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
@@ -185,11 +187,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
}
From 0573b314788f8490ab04837d045a5774b1504115 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:32 -0400
Subject: [PATCH 05/16] apache-fop: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/apache-fop/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-fop/template b/srcpkgs/apache-fop/template
index 96ab59bce8b3..3b7c917a7c09 100644
--- a/srcpkgs/apache-fop/template
+++ b/srcpkgs/apache-fop/template
@@ -1,7 +1,7 @@
# Template file for 'apache-fop'
pkgname=apache-fop
version=2.5
-revision=2
+revision=3
wrksrc="fop-${version}"
build_wrksrc="fop"
hostmakedepends="openjdk8 apache-ant"
@@ -18,7 +18,7 @@ conf_files="/etc/fop.conf"
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
ant package
}
do_install() {
From 061897c356f8da49ae7d09bc0b21a56035097549 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:35 -0400
Subject: [PATCH 06/16] apache-maven: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/apache-maven/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/apache-maven/template b/srcpkgs/apache-maven/template
index c9603329c2cd..cc1e3e561634 100644
--- a/srcpkgs/apache-maven/template
+++ b/srcpkgs/apache-maven/template
@@ -1,7 +1,7 @@
# Template file for 'apache-maven'
pkgname=apache-maven
version=3.6.3
-revision=2
+revision=3
hostmakedepends="openjdk8"
depends="virtual?java-environment which"
short_desc="Software project management and comprehension tool"
@@ -15,7 +15,7 @@ checksum="7c1c990ba64dd4f88688120cc2ec93bf33dd500d2a62ae5cd57bd4b7f6335c07
replaces="apache-maven-bin>=0"
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
./bin/mvn package -DskipTests -Drat.skip=true -Dmaven.repo.local=repo -DdistributionTargetDir=${DESTDIR}/usr/lib/${pkgname}
}
From 853e6f163995b3e066d21a00b3ebf0fa0e9c32cb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:36 -0400
Subject: [PATCH 07/16] arduino: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/arduino/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/arduino/template b/srcpkgs/arduino/template
index 19daa0c1b1e8..485d24ad5a28 100644
--- a/srcpkgs/arduino/template
+++ b/srcpkgs/arduino/template
@@ -1,7 +1,7 @@
# Template file for 'arduino'
pkgname=arduino
version=1.8.19
-revision=1
+revision=2
archs="x86_64* i686* aarch64* arm*"
wrksrc=$pkgname-$version
create_wrksrc=yes
@@ -27,7 +27,7 @@ fi
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include/linux"
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/jvm/java-1.8-openjdk/include"
From e5a0659eb563918fc9b465abcdbf1bb066a0ac08 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 08/16] bibletime: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/bibletime/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/bibletime/template b/srcpkgs/bibletime/template
index 559755a9dd6f..af3301e02365 100644
--- a/srcpkgs/bibletime/template
+++ b/srcpkgs/bibletime/template
@@ -4,7 +4,7 @@
# to start.
pkgname=bibletime
version=3.0
-revision=2
+revision=3
build_style=cmake
configure_args="-DBT_DOCBOOK_XSL_HTML_CHUNK_XSL=/usr/share/xsl/docbook/html/chunk.xsl
-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=/usr/share/xsl/docbook/fo/docbook.xsl"
@@ -20,7 +20,7 @@ distfiles="https://github.com/bibletime/bibletime/releases/download/v${version}/
checksum=d6beef62ad44b255e3dc4c5e89214bf01a0e85c9136073b0be12fca3d2b22622
pre_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
if [ "$XBPS_WORDSIZE" = "32" ]; then
export _JAVA_OPTIONS="-Xmx1024m"
fi
From 159a260c3429aa41edc282e14679c941f00b5547 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:37 -0400
Subject: [PATCH 09/16] davmail: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/davmail/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/davmail/template b/srcpkgs/davmail/template
index 0482c0dce531..b739bf6b8bb6 100644
--- a/srcpkgs/davmail/template
+++ b/srcpkgs/davmail/template
@@ -1,7 +1,7 @@
# Template file for 'davmail'
pkgname=davmail
version=5.5.1
-revision=2
+revision=3
_commit=3299
wrksrc=davmail-src-${version}-${_commit}
hostmakedepends="openjdk8 apache-ant"
@@ -13,7 +13,7 @@ distfiles="${SOURCEFORGE_SITE}/davmail/davmail-src-${version}-${_commit}.tgz"
checksum=63e14eeda3fed2a1a5c55f864a8832f8842d597e797ca1e8874c9b66b811f508
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant jar
From 48e2945d346238a9a6ab08fe0f88e7344021e5c0 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 10/16] freeplane: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/freeplane/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freeplane/template b/srcpkgs/freeplane/template
index 2e7adb76ea4a..fa4eeb5e80ba 100644
--- a/srcpkgs/freeplane/template
+++ b/srcpkgs/freeplane/template
@@ -1,7 +1,7 @@
# Template file for 'freeplane'
pkgname=freeplane
version=1.9.12
-revision=1
+revision=2
wrksrc="freeplane-release-${version}"
hostmakedepends="apache-ant openjdk8 unzip gradle"
depends="virtual?java-runtime"
@@ -23,7 +23,7 @@ esac
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
gradle format_translation binZip -x test
}
From ffa0c03c8daf4b73241a2f11e34710796f25f442 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:38 -0400
Subject: [PATCH 11/16] freerouting: fix name of etc/profile.d/10_openjdk*.sh
in template
---
srcpkgs/freerouting/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/freerouting/template b/srcpkgs/freerouting/template
index f643eabdb6fe..bfde02fc9e29 100644
--- a/srcpkgs/freerouting/template
+++ b/srcpkgs/freerouting/template
@@ -1,7 +1,7 @@
# Template file for 'freerouting'
pkgname=freerouting
version=1.4.5.1
-revision=1
+revision=2
hostmakedepends="dos2unix gradle openjdk11"
depends="openjdk11"
short_desc="Advanced PCB autorouter"
@@ -21,7 +21,7 @@ post_extract() {
}
do_build() {
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
gradle assemble
}
From 653b2f7f810e7df153960a78d0862ddab3cfd163 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 12/16] java-commons-io: fix name of
etc/profile.d/10_openjdk*.sh in template
---
srcpkgs/java-commons-io/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/java-commons-io/template b/srcpkgs/java-commons-io/template
index e91dcc87b8b5..5b8413e2a03d 100644
--- a/srcpkgs/java-commons-io/template
+++ b/srcpkgs/java-commons-io/template
@@ -2,7 +2,7 @@
_origname=commons-io
pkgname=java-commons-io
version=2.6
-revision=2
+revision=3
wrksrc="${_origname}-${version}-src"
hostmakedepends="openjdk8 apache-maven which"
depends="virtual?java-runtime"
@@ -19,7 +19,7 @@ case "$XBPS_MACHINE" in
esac
do_build() {
- source /etc/profile.d/10_openjdk8.sh
+ source /etc/profile.d/openjdk.sh
mvn package -Dmaven.test.skip=true
}
From db45bde860b3ce5ff021f99bed717488ee50c826 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:39 -0400
Subject: [PATCH 13/16] jedit: fix name of /etc/profile.d/10_openjdk*.sh,
hard-code openjdk11
---
srcpkgs/jedit/files/jedit | 4 +---
srcpkgs/jedit/template | 4 ++--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/jedit/files/jedit b/srcpkgs/jedit/files/jedit
index 622bb9171864..706d2f8dd45c 100644
--- a/srcpkgs/jedit/files/jedit
+++ b/srcpkgs/jedit/files/jedit
@@ -1,10 +1,8 @@
#!/bin/sh
# openjdk11 is required
-. /etc/profile.d/10_openjdk11.sh
-
# default to gtk3, use antialiased fonts
-exec "${JAVA_HOME}/bin/java" \
+exec "/usr/lib/jvm/openjdk11/bin/java" \
-Djdk.gtk.version=3 \
-Dawt.useSystemAAFontSettings=on \
-Dswing.aatext=true \
diff --git a/srcpkgs/jedit/template b/srcpkgs/jedit/template
index cf7ac8cdd201..19ca4ac3df1f 100644
--- a/srcpkgs/jedit/template
+++ b/srcpkgs/jedit/template
@@ -1,7 +1,7 @@
# Template file for 'jedit'
pkgname=jedit
version=5.6.0
-revision=1
+revision=2
wrksrc=jEdit
hostmakedepends="apache-ant openjdk11 docbook-xsl"
depends="openjdk11 desktop-file-utils"
@@ -19,7 +19,7 @@ post_patch() {
do_build() {
. /etc/profile.d/apache-ant.sh
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
ant -propertyfile ${FILESDIR}/build.properties build
ant -propertyfile ${FILESDIR}/build.properties docs-html
From b858af483ace90e0ea4e1eb84d167d322f11b33e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 14/16] kodi: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/kodi/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template
index da81c7e2d0a5..b4eeacdab624 100644
--- a/srcpkgs/kodi/template
+++ b/srcpkgs/kodi/template
@@ -1,7 +1,7 @@
# Template file for 'kodi'
pkgname=kodi
version=19.4
-revision=1
+revision=2
_codename="Matrix"
wrksrc="xbmc-${version}-${_codename}"
build_style=cmake
@@ -111,7 +111,7 @@ pre_configure() {
xargs sed -i -e "s;-isystem;-I;g"
fi
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
# Build tools needed to run on the host
if [ "$CROSS_BUILD" ]; then
From f7926ce5dd0efb207928420e2723dd7eac06e4b2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:40 -0400
Subject: [PATCH 15/16] lightzone: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/lightzone/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/lightzone/template b/srcpkgs/lightzone/template
index 13242f01cc77..261626fb9dff 100644
--- a/srcpkgs/lightzone/template
+++ b/srcpkgs/lightzone/template
@@ -1,7 +1,7 @@
# Template file for 'lightzone'
pkgname=lightzone
version=4.2.2
-revision=1
+revision=2
_ivy_version=2.4.0
wrksrc=LightZone-${version}
hostmakedepends="automake git openjdk11 apache-ant javahelp2 rsync pkg-config"
@@ -29,7 +29,7 @@ do_build() {
vsed -i lightcrafts/jnisrc/tiff/GNUmakefile \
-e "s;\./configure;& --host=${XBPS_MACHINE%-musl};"
- . /etc/profile.d/10_openjdk11.sh
+ . /etc/profile.d/openjdk.sh
cd linux
TARGET=${XBPS_TARGET_MACHINE%-musl} ant jar
}
From 84a8866f86ea76529eb7b09d8fcae1bd2916c5d7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 2 Apr 2022 22:28:44 -0400
Subject: [PATCH 16/16] plantuml: fix name of etc/profile.d/10_openjdk*.sh in
template
---
srcpkgs/plantuml/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/plantuml/template b/srcpkgs/plantuml/template
index fff4ec18b203..85259ce2ca6b 100644
--- a/srcpkgs/plantuml/template
+++ b/srcpkgs/plantuml/template
@@ -2,7 +2,7 @@
pkgname=plantuml
reverts="8047_1 8053_1 8059_1"
version=1.2021.14
-revision=1
+revision=2
create_wrksrc=yes
hostmakedepends="apache-ant openjdk8"
depends="virtual?java-environment graphviz"
@@ -14,7 +14,7 @@ distfiles="${SOURCEFORGE_SITE}/plantuml/plantuml-gplv2-${version}.tar.gz"
checksum=468aeaaea0742d8312d0f2f709df140e599967d8284fc0555f842fd0a6fe6941
do_build() {
- . /etc/profile.d/10_openjdk8.sh
+ . /etc/profile.d/openjdk.sh
. /etc/profile.d/apache-ant.sh
ant
mv ${pkgname}.jar ${pkgname}-${version}.jar
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (21 preceding siblings ...)
2022-04-28 1:34 ` classabbyamp
@ 2022-04-28 1:42 ` classabbyamp
2022-04-29 16:24 ` classabbyamp
` (3 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-28 1:42 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 265 bytes --]
New comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#issuecomment-1086732124
Comment:
xlint there should be ignored, the new version lint meant I needed to update the version line, but there was no update
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (22 preceding siblings ...)
2022-04-28 1:42 ` classabbyamp
@ 2022-04-29 16:24 ` classabbyamp
2022-04-29 16:30 ` classabbyamp
` (2 subsequent siblings)
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-29 16:24 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 209 bytes --]
New comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#issuecomment-1113501257
Comment:
would an `openjdk-profile` package be an alternative solution?
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (23 preceding siblings ...)
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
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-29 16:30 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 209 bytes --]
New comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#issuecomment-1113501257
Comment:
would an `openjdk-profile` package be an alternative solution?
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (24 preceding siblings ...)
2022-04-29 16:30 ` classabbyamp
@ 2022-04-29 16:46 ` classabbyamp
2022-05-05 3:14 ` [PR PATCH] [Merged]: " ahesford
26 siblings, 0 replies; 28+ messages in thread
From: classabbyamp @ 2022-04-29 16:46 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 226 bytes --]
New comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/36250#issuecomment-1113518393
Comment:
So should I switch this to the `openjdk-profile` package solution or something?
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PR PATCH] [Merged]: fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
2022-03-20 20:17 [PR PATCH] fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger classabbyamp
` (25 preceding siblings ...)
2022-04-29 16:46 ` classabbyamp
@ 2022-05-05 3:14 ` ahesford
26 siblings, 0 replies; 28+ messages in thread
From: ahesford @ 2022-05-05 3:14 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1115 bytes --]
There's a merged pull request on the void-packages repository
fix $JAVA_HOME conflict in /etc/profile.d, add openjdk-profile trigger
https://github.com/void-linux/void-packages/pull/36250
Description:
<!-- 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]
^ permalink raw reply [flat|nested] 28+ messages in thread