Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ooRexx for openSUSE:Factory checked in at 2026-08-19 17:58:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ooRexx (Old) and /work/SRC/openSUSE:Factory/.ooRexx.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ooRexx" Wed Aug 19 17:58:36 2026 rev:29 rq:1371842 version:5.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ooRexx/ooRexx.changes 2026-06-04 18:57:07.319826838 +0200 +++ /work/SRC/openSUSE:Factory/.ooRexx.new.1258/ooRexx.changes 2026-08-19 18:00:43.514170897 +0200 @@ -1,0 +2,26 @@ +Fri Aug 14 08:16:16 UTC 2026 - Martin Pluskal <[email protected]> + +- Switch the rexx, rexxc, rxqueue and rxsubcom alternatives from + update-alternatives to libalternatives (boo#1083875): + * update-alternatives is deprecated and should not be used any + more; on top of that its ghost entries under /usr/bin were + never created on disk when the package was unpacked, so the + /usr/bin/rexx the installed .rex scripts point at only came + into existence once the install scriptlets had run + * ship /usr/share/libalternatives/<binary>/20.conf for each of + the four commands, keeping the previous priority of 20 + * package /usr/bin/rexx, rexxc, rxqueue and rxsubcom as ordinary + symlinks to /usr/bin/alts, owned by the package like any other + file, and point each config at the -oorexx suffixed binary + * drop the install and remove scriptlets, the /etc/alternatives + directory and every ghost file entry - libalternatives keeps + no install-time state at all + * rexx and rxqueue declare group=rexx,rxqueue so that rxqueue + follows the selected interpreter as soon as the other provider + of the pair declares the same group; rexxc and rxsubcom have no + competing provider and stay ungrouped + * require alts, which ships /usr/bin/alts +- Drop the obsolete Group tags and use pkgconfig(ncurses) instead + of ncurses-devel, as spec-cleaner asks for + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ooRexx.spec ++++++ --- /var/tmp/diff_new_pack.9PjZBh/_old 2026-08-19 18:00:44.129192791 +0200 +++ /var/tmp/diff_new_pack.9PjZBh/_new 2026-08-19 18:00:44.130192827 +0200 @@ -1,7 +1,7 @@ # # spec file for package ooRexx # -# Copyright (c) 2026 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,19 +22,17 @@ Release: 0 Summary: Open Object REXX License: CPL-1.0 -Group: Development/Languages/Other URL: https://www.rexxla.org Source0: https://master.dl.sourceforge.net/project/oorexx/oorexx/5.2.0/oorexx-5.2.0-13156.tar.gz Source1: ooRexx-rpmlintrc BuildRequires: cmake BuildRequires: gcc-c++ -BuildRequires: ncurses-devel -BuildRequires: update-alternatives -Requires(post): %{_sbindir}/update-alternatives -Requires(postun): %{_sbindir}/update-alternatives +BuildRequires: pkgconfig +BuildRequires: pkgconfig(ncurses) +Requires: alts +Requires: liboorexx4 = %{version} Obsoletes: ooRexx <= 4.2.0 Provides: ooRexx = %{version} -Requires: liboorexx4 = %{version} %description Open Object Rexx is an object-oriented scripting language. The language is designed for both beginners and experienced Rexx programmers. It is easy to learn and use, and provides an excellent vehicle to enter the @@ -47,12 +45,10 @@ %package devel Summary: Open Object REXX development files -Group: Development/Languages/Other BuildArch: noarch %package -n liboorexx4 Summary: Open Object REXX libraries -Group: Development/Languages/Other %description devel Development files for Open Object Rexx. These are intended for developing REXX extensions only. @@ -106,19 +102,40 @@ %{_rexxlibdir} %{_libdir} EOF -# adding update-alternatives support (boo#1083875) -mkdir -p %{buildroot}%{_sysconfdir}/alternatives - +# adding libalternatives support (boo#1083875) # rexxc and rxsubcom need to be renamed upstream! rexx and rxqueue are okay already. mv %{buildroot}/%{_bindir}/rexx %{buildroot}/%{_bindir}/rexx-oorexx mv %{buildroot}/%{_bindir}/rexxc %{buildroot}/%{_bindir}/rexxc-oorexx mv %{buildroot}/%{_bindir}/rxsubcom %{buildroot}/%{_bindir}/rxsubcom-oorexx mv %{buildroot}/%{_bindir}/rxqueue %{buildroot}/%{_bindir}/rxqueue-oorexx -ln -s %{_sysconfdir}/alternatives/rexx %{buildroot}%{_bindir}/rexx -ln -s %{_sysconfdir}/alternatives/rexxc %{buildroot}%{_bindir}/rexxc -ln -s %{_sysconfdir}/alternatives/rxqueue %{buildroot}%{_bindir}/rxqueue -ln -s %{_sysconfdir}/alternatives/rxsubcom %{buildroot}%{_bindir}/rxsubcom +# rexx and rxqueue form a group: rxqueue is the queue client of the very +# interpreter that serves the queue, so it should follow the selected rexx. +# libalternatives switches a group according to the group declared by the +# *selected* alternative, so this becomes effective for a switch away from +# ooRexx once Regina-REXX -- the other provider of these two commands -- +# declares group=rexx,rxqueue as well. Until then it is simply inert. +for b in rexx rxqueue; do + ln -s %{_bindir}/alts %{buildroot}%{_bindir}/$b + install -d %{buildroot}%{_datadir}/libalternatives/$b + cat > %{buildroot}%{_datadir}/libalternatives/$b/20.conf <<EOF +binary=%{_bindir}/$b-oorexx +man=$b.1 +group=rexx,rxqueue +EOF +done + +# rexxc and rxsubcom have no competing provider, so they stay ungrouped: +# a group bigger than any other provider can offer would only advertise +# members that can never be switched along. +for b in rexxc rxsubcom; do + ln -s %{_bindir}/alts %{buildroot}%{_bindir}/$b + install -d %{buildroot}%{_datadir}/libalternatives/$b + cat > %{buildroot}%{_datadir}/libalternatives/$b/20.conf <<EOF +binary=%{_bindir}/$b-oorexx +man=$b.1 +EOF +done # removing binary samples to avoid OBS warnings rm %{buildroot}%{_datadir}/ooRexx/samples/api/c++/callsample/{runRexxProgram,stackOverflow} @@ -128,29 +145,6 @@ %check -%post -update-alternatives --install %{_bindir}/rexx rexx %{_bindir}/rexx-oorexx 20 -update-alternatives --install %{_bindir}/rexxc rexxc %{_bindir}/rexxc-oorexx 20 -update-alternatives --install %{_bindir}/rxqueue rxqueue %{_bindir}/rxqueue-oorexx 20 -update-alternatives --install %{_bindir}/rxsubcom rxsubcom %{_bindir}/rxsubcom-oorexx 20 - -%postun -if [ ! -f %{_bindir}/rexx-oorexx ] ; then - update-alternatives --remove rexx %{_bindir}/rexx-oorexx -fi - -if [ ! -f %{_bindir}/rexxc-oorexx ] ; then - update-alternatives --remove rexxc %{_bindir}/rexxc-oorexx -fi - -if [ ! -f %{_bindir}/rxqueue-oorexx ] ; then - update-alternatives --remove rxqueue %{_bindir}/rxqueue-oorexx -fi - -if [ ! -f %{_bindir}/rxsubcom-oorexx ] ; then - update-alternatives --remove rxsubcom %{_bindir}/rxsubcom-oorexx -fi - %post -n liboorexx4 -p /sbin/ldconfig %postun -n liboorexx4 -p /sbin/ldconfig @@ -176,19 +170,22 @@ %{_bindir}/*xsd %{_bindir}/*xsl -%ghost %{_bindir}/rexx -%ghost %{_bindir}/rexxc -%ghost %{_bindir}/rxqueue -%ghost %{_bindir}/rxsubcom - -%ghost %attr(0755,root,root) %{_sysconfdir}/alternatives/rexx -%ghost %attr(0755,root,root) %{_sysconfdir}/alternatives/rexxc -%ghost %attr(0755,root,root) %{_sysconfdir}/alternatives/rxqueue -%ghost %attr(0755,root,root) %{_sysconfdir}/alternatives/rxsubcom -%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/rexx.1 -%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/rexxc.1 -%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/rxqueue.1 -%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/rxsubcom.1 +# libalternatives: plain symlinks to alts. Regina-REXX ships byte-identical +# rexx and rxqueue links, which rpm allows both packages to own. +%{_bindir}/rexx +%{_bindir}/rexxc +%{_bindir}/rxqueue +%{_bindir}/rxsubcom + +%dir %{_datadir}/libalternatives +%dir %{_datadir}/libalternatives/rexx +%{_datadir}/libalternatives/rexx/20.conf +%dir %{_datadir}/libalternatives/rexxc +%{_datadir}/libalternatives/rexxc/20.conf +%dir %{_datadir}/libalternatives/rxqueue +%{_datadir}/libalternatives/rxqueue/20.conf +%dir %{_datadir}/libalternatives/rxsubcom +%{_datadir}/libalternatives/rxsubcom/20.conf %files -n liboorexx4 %{_libdir}/lib*
