Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package java-11-openj9 for openSUSE:Factory checked in at 2026-05-29 18:09:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/java-11-openj9 (Old) and /work/SRC/openSUSE:Factory/.java-11-openj9.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-11-openj9" Fri May 29 18:09:15 2026 rev:37 rq:1355806 version:11.0.31.0 Changes: -------- --- /work/SRC/openSUSE:Factory/java-11-openj9/java-11-openj9.changes 2026-05-15 23:53:46.465761679 +0200 +++ /work/SRC/openSUSE:Factory/.java-11-openj9.new.1937/java-11-openj9.changes 2026-05-29 18:10:56.988000848 +0200 @@ -1,0 +2,6 @@ +Fri May 29 07:15:04 UTC 2026 - Fridrich Strba <[email protected]> + +- Use libalternatives instead of update-alternatives for + distributions where libalternatives is available + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ java-11-openj9.spec ++++++ --- /var/tmp/diff_new_pack.NSHV1P/_old 2026-05-29 18:10:58.476062482 +0200 +++ /var/tmp/diff_new_pack.NSHV1P/_new 2026-05-29 18:10:58.480062648 +0200 @@ -20,6 +20,10 @@ %global make make %{!?aarch64:%global aarch64 aarch64 arm64 armv8} %global debug 0 +%global headless_binaries java jjs keytool rmid rmiregistry +%global headless_binaries_comma %(echo %{headless_binaries} | sed 's#\ #,#g') +%global devel_binaries javac jar jarsigner javadoc javap jcmd jconsole jdb jdeprscan jdeps jimage jinfo jlink jmap jmod jps jpackage jrunscript jshell jstack jstat jstatd rmic serialver +%global devel_binaries_comma %(echo %{devel_binaries} | sed 's#\ #,#g') # Convert an absolute path to a relative path. Each symbolic link is # specified relative to the directory in which it is installed so that # it will resolve properly within chrooted installations. @@ -43,6 +47,11 @@ %global openj9_revision c53b6b93f422b77b3395a3464d5578b706e9a618 %global openj9_branch v0.59.0-release %global openj9_tag openj9-0.59.0 +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif # priority must be 6 digits in total %global priority 2101 %global javaver %{featurever} @@ -225,10 +234,6 @@ Group: Development/Languages/Java Requires: jpackage-utils Requires(post): java-ca-certificates -# Post requires update-alternatives to install tool update-alternatives. -Requires(post): update-alternatives -# Postun requires update-alternatives to uninstall tool update-alternatives. -Requires(postun): update-alternatives Obsoletes: %{name}-accessibility # Standard JPackage base provides. Provides: java-%{javaver}-headless = %{version}-%{release} @@ -252,6 +257,12 @@ Provides: jndi-ldap = %{version} Provides: jndi-rmi = %{version} Provides: jsse = %{version} +%if %{without libalternatives} +Requires(post): update-alternatives +Requires(postun): update-alternatives +%else +Requires: alts +%endif %description headless The OpenJDK %{featurever} runtime environment without audio and video support. @@ -263,10 +274,6 @@ # Require base package. Group: Development/Languages/Java Requires: %{name} = %{version}-%{release} -# Post requires update-alternatives to install tool update-alternatives. -Requires(post): update-alternatives -# Postun requires update-alternatives to uninstall tool update-alternatives. -Requires(postun): update-alternatives # Standard JPackage devel provides. Provides: java-%{javaver}-devel = %{version} Provides: java-devel = %{javaver} @@ -278,6 +285,12 @@ Provides: java-sdk-%{javaver}-openjdk = %{version} Provides: java-sdk-openj9 = %{version} Provides: java-sdk-openjdk = %{version} +%if %{without libalternatives} +Requires(post): update-alternatives +Requires(postun): update-alternatives +%else +Requires: alts +%endif %description devel The OpenJDK %{featurever} development tools. @@ -312,14 +325,14 @@ Summary: OpenJDK %{featurever} API Documentation Group: Development/Languages/Java Requires: jpackage-utils -# Post requires update-alternatives to install javadoc alternative. -Requires(post): update-alternatives -# Postun requires update-alternatives to uninstall javadoc alternative. -Requires(postun): update-alternatives # Standard JPackage javadoc provides. Provides: java-%{javaver}-javadoc = %{version}-%{release} Provides: java-javadoc = %{version}-%{release} BuildArch: noarch +%if %{without libalternatives} +Requires(post): update-alternatives +Requires(postun): update-alternatives +%endif %description javadoc The OpenJDK %{featurever} API documentation. @@ -557,8 +570,42 @@ %fdupes -s %{buildroot}/%{_jvmdir}/%{sdkdir}/demo %fdupes -s %{buildroot}%{_javadocdir}/%{sdklnk} +touch .mfiles-headless +touch .mfiles-devel + +%if %{with libalternatives} + +%if 0%{?priority} == 0 +%define priority %{featurever} +%endif + +for i in %{headless_binaries}; do + install -dm 0755 %{buildroot}%{_datadir}/libalternatives/${i} + echo "%%dir %{_datadir}/libalternatives/${i}" >> .mfiles-headless + echo "binary=%{jrebindir}/${i}" >> %{buildroot}%{_datadir}/libalternatives/${i}/%{priority}.conf + echo "man=${i}-%{sdklnk}.1$ext" >> %{buildroot}%{_datadir}/libalternatives/${i}/%{priority}.conf + echo "group=%{headless_binaries_comma}" >> %{buildroot}%{_datadir}/libalternatives/${i}/%{priority}.conf + echo "%{_datadir}/libalternatives/${i}/%{priority}.conf" >> .mfiles-headless + echo "%%ghost %{_bindir}/${i}" >> .mfiles-headless +done + +for i in %{devel_binaries}; do + install -dm 0755 %{buildroot}%{_datadir}/libalternatives/${i} + echo "%%dir %{_datadir}/libalternatives/${i}" >> .mfiles-devel + echo "binary=%{sdkbindir}/${i}" >> %{buildroot}%{_datadir}/libalternatives/${i}/%{priority}.conf + echo "man=${i}-%{sdklnk}.1$ext" >> %{buildroot}%{_datadir}/libalternatives/${i}/%{priority}.conf + echo "group=%{devel_binaries_comma}" >> %{buildroot}%{_datadir}/libalternatives/${i}/%{priority}.conf + echo "%{_datadir}/libalternatives/${i}/%{priority}.conf" >> .mfiles-devel + echo "%%ghost %{_bindir}/${i}" >> .mfiles-devel +done + +%endif + %post headless ext=.gz + +%if %{without libalternatives} + update-alternatives \ --install %{_bindir}/java java %{jrebindir}/java %{priority} \ --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \ @@ -585,7 +632,25 @@ --install %{_jvmdir}/jre-%{javaver} \ jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} +%else + +if [ -x %{_sbindir}/update-alternatives ]; then + update-alternatives --remove-all java + update-alternatives --remove-all jre_openjdk + update-alternatives --remove-all jre_%{javaver} +fi || true + +for i in %{headless_binaries}; do + if ! [ -e %{_bindir}/${i} ]; then + ln -sf %{_bindir}/alts %{_bindir}/${i} + fi +done + +%endif + +%if %{without libalternatives} %postun headless + if [ $1 -eq 0 ] then if test -f /proc/sys/fs/binfmt_misc/jarexec @@ -596,6 +661,7 @@ update-alternatives --remove jre_openjdk %{_jvmdir}/%{jrelnk} update-alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk} fi +%endif %posttrans headless # bnc#781690#c11: don't trust user defined JAVA_HOME and use the current VM @@ -628,6 +694,9 @@ %post devel ext=.gz + +%if %{without libalternatives} + update-alternatives \ --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \ --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \ @@ -684,15 +753,37 @@ --install %{_jvmdir}/java-%{javaver} \ java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} +%else + +if [ -x %{_sbindir}/update-alternatives ]; then + update-alternatives --remove-all javac + update-alternatives --remove-all java_sdk_openjdk + update-alternatives --remove-all java_sdk_%{javaver} +fi || true + +for i in %{devel_binaries}; do + if ! [ -e %{_bindir}/${i} ]; then + ln -sf %{_bindir}/alts %{_bindir}/${i} + fi +done + +%endif + +%if %{without libalternatives} %postun devel + if [ $1 -eq 0 ] then update-alternatives --remove javac %{sdkbindir}/javac update-alternatives --remove java_sdk_openjdk %{_jvmdir}/%{sdklnk} update-alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} fi +%endif %post javadoc + +%if %{without libalternatives} + # in some settings, the %{_javadocdir}/%{sdklnk}/api does not exist # and the update-alternatives call ends up in error. So, filter this # cases out. @@ -703,7 +794,17 @@ %{priority} fi +%else + +if [ -x %{_sbindir}/update-alternatives ]; then + update-alternatives --remove-all javadocdir +fi || true + +%endif + +%if %{without libalternatives} %postun javadoc + if [ $1 -eq 0 ] then # in some settings, the %{_javadocdir}/%{sdklnk}/api does not exist @@ -714,6 +815,7 @@ update-alternatives --remove javadocdir %{_javadocdir}/%{sdklnk}/api fi fi +%endif %files %dir %{_jvmdir}/%{sdkdir}/lib @@ -723,7 +825,7 @@ %dir %{_datadir}/icons/hicolor %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-openj9.png -%files headless +%files headless -f .mfiles-headless %dir %{_jvmdir} %dir %{_jvmdir}/%{sdkdir} %dir %{_jvmdir}/%{sdkdir}/bin @@ -862,7 +964,7 @@ %{_mandir}/man1/rmiregistry-%{sdklnk}.1%{?ext_man} %{_mandir}/man1/unpack200-%{sdklnk}.1%{?ext_man} -%files devel +%files devel -f .mfiles-devel %dir %{_jvmdir}/%{sdkdir}/bin %dir %{_jvmdir}/%{sdkdir}/include %dir %{_jvmdir}/%{sdkdir}/include/linux
