Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package llvm20 for openSUSE:Factory checked 
in at 2026-06-12 19:25:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm20 (Old)
 and      /work/SRC/openSUSE:Factory/.llvm20.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "llvm20"

Fri Jun 12 19:25:47 2026 rev:14 rq:1358705 version:20.1.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm20/llvm20.changes    2026-05-10 
16:48:19.624786058 +0200
+++ /work/SRC/openSUSE:Factory/.llvm20.new.1981/llvm20.changes  2026-06-12 
19:26:12.310874823 +0200
@@ -1,0 +2,7 @@
+Sun Jun  7 21:34:50 UTC 2026 - Aaron Puchert <[email protected]>
+
+- Migrate away from update-alternatives. The packages only provide
+  versioned binaries and man pages now. The metapackage will
+  provide symbolic links to the current distro default version.
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ llvm20.spec ++++++
--- /var/tmp/diff_new_pack.PayRL6/_old  2026-06-12 19:26:14.214954633 +0200
+++ /var/tmp/diff_new_pack.PayRL6/_new  2026-06-12 19:26:14.214954633 +0200
@@ -23,8 +23,6 @@
 %global _relver %{_minor}.%{_patch_level}
 %global _version %_relver%{?_rc:-rc%_rc}
 %global _itsme20 1
-# Integer version used by update-alternatives
-%global _uaver  %{_sonum}1%{_patch_level}
 %global _soclang 13
 %global _socxx  1
 
@@ -459,8 +457,6 @@
 BuildRequires:  pkgconfig(libedit)
 BuildRequires:  pkgconfig(libzstd)
 BuildRequires:  pkgconfig(zlib)
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
 # llvm does not work on s390
 ExcludeArch:    s390
 %if %{with ffi}
@@ -472,6 +468,8 @@
 %if %{with oprofile}
 BuildRequires:  oprofile-devel
 %endif
+OrderWithRequires(pre): update-alternatives
+Provides:       llvm%{_sonum}-update-alternatives-removed
 Suggests:       %{name}-doc
 
 %description
@@ -549,8 +547,8 @@
 Group:          Development/Languages/C and C++
 URL:            https://clang.llvm.org/
 Requires:       libclang_rt%{_sonum}
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
+OrderWithRequires(pre): update-alternatives
+Provides:       clang%{_sonum}-update-alternatives-removed
 Recommends:     clang-tools
 Recommends:     gcc
 Recommends:     glibc-devel
@@ -767,9 +765,8 @@
 Summary:        Linker for Clang/LLVM
 Group:          Development/Tools/Building
 URL:            https://lld.llvm.org/
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
 OrderWithRequires(pre): update-alternatives
+Provides:       lld%{_sonum}-update-alternatives-removed
 
 %description -n lld%{_sonum}
 LLD is a linker from the LLVM project. That is a drop-in replacement for 
system linkers and runs much faster than them. It also provides features that 
are useful for toolchain developers.
@@ -799,8 +796,8 @@
 BuildRequires:  pkgconfig(ncurses)
 BuildRequires:  pkgconfig(panel)
 BuildRequires:  pkgconfig(zlib)
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
+OrderWithRequires(pre): update-alternatives
+Provides:       lldb%{_sonum}-update-alternatives-removed
 Recommends:     python3-lldb%{_sonum}
 
 %description -n lldb%{_sonum}
@@ -1304,8 +1301,10 @@
 # Python: fix binary libraries location.
 %global cpython_pkg_soabi %(%{python_bin} -c "import sysconfig; 
print(sysconfig.get_config_var('SOABI'))")
 rm %{buildroot}%{python_pkg_sitearch}/lldb/_lldb.%{cpython_pkg_soabi}.so
+rm %{buildroot}%{python_pkg_sitearch}/lldb/lldb-argdumper
 liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so))
 ln -vsf "../../../${liblldb}" 
%{buildroot}%{python_pkg_sitearch}/lldb/_lldb.%{cpython_pkg_soabi}.so
+ln -vsf ../../../../bin/lldb-argdumper-%{_sonum} 
%{buildroot}%{python_pkg_sitearch}/lldb/lldb-argdumper
 %endif
 
 # Stuff we don't want to include
@@ -1322,10 +1321,7 @@
 rm %{buildroot}%{_libdir}/libarcher_static.a
 %endif
 
-# Prepare for update-alternatives usage
-mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-
-# Fix the clang -> clang-X symlink to work with update-alternatives
+# Move clang-X to clang because we're going to add a version to all binaries.
 mv %{buildroot}%{_bindir}/clang-%{_sonum} %{buildroot}%{_bindir}/clang
 
 # Rewrite symlinks to point to new location
@@ -1336,11 +1332,9 @@
 done
 for p in %{shrink:%binfiles} ; do
     mv %{buildroot}%{_bindir}/$p %{buildroot}%{_bindir}/$p-%{_sonum}
-    ln -s -f %{_sysconfdir}/alternatives/$p %{buildroot}%{_bindir}/$p
 done
 for p in %{shrink:%manfiles} ; do
     mv %{buildroot}%{_mandir}/man1/$p.1 
%{buildroot}%{_mandir}/man1/$p-%{_sonum}.1
-    ln -s -f %{_sysconfdir}/alternatives/$p.1%{ext_man} 
%{buildroot}%{_mandir}/man1/$p.1%{ext_man}
 done
 
 # Also rewrite the CMake files referring to the binaries.
@@ -1544,112 +1538,52 @@
 %postun polly-devel -p /sbin/ldconfig
 %endif
 
-%global ua_install() %{_sbindir}/update-alternatives \\\
-    --install %{_bindir}/%1 %1 %{_bindir}/%1-%{_sonum} %{_uaver}
-%global ua_bin_slave() \\\
-    --slave %{_bindir}/%1 %1 %{_bindir}/%1-%{_sonum}
-%global ua_man_slave() \\\
-    --slave %{_mandir}/man1/%1.1%{ext_man} %1.1%{ext_man} 
%{_mandir}/man1/%1-%{_sonum}.1%{ext_man}
-%global ua_remove() \
-if [ ! -f %{_bindir}/%1-%{_sonum} ] ; then \
+%global ua_final_remove() \
+if [ $1 -gt 1 ] && [ -f %{_sysconfdir}/alternatives/%1 ] ; then \
     %{_sbindir}/update-alternatives --remove %1 %{_bindir}/%1-%{_sonum} \
 fi
 
-%post
-%{ua_install %llvm_ua_anchor} \
-    %{lapply -p ua_bin_slave %llvm_tools} \
-    %{lapply -p ua_bin_slave %llvm_elf_dwarf_tools} \
-    %{lapply -p ua_bin_slave %llvm_abi_coff_macho_tools} \
-    %{lapply -p ua_bin_slave %llvm_instr_devel_tools} \
-    %{lapply -p ua_man_slave %llvm_man} \
-    %{lapply -p ua_man_slave %llvm_bin_utils_man} \
-    %{lapply -p ua_man_slave %llvm_devel_utils_man}
-
-%postun
-%{ua_remove %llvm_ua_anchor}
-
-%post -n clang%{_sonum}
-%{ua_install %clang_ua_anchor} \
-    %{lapply -p ua_bin_slave %clang_binfiles} \
-    %{lapply -p ua_bin_slave %clang_tools_extra_binfiles} \
-    %{lapply -p ua_man_slave %clang_manfiles}
+%pre
+%{ua_final_remove %llvm_ua_anchor}
 
-%postun -n clang%{_sonum}
-%{ua_remove %clang_ua_anchor}
+%pre -n clang%{_sonum}
+%{ua_final_remove %clang_ua_anchor}
 
 %if %{with lld}
 %pre -n lld%{_sonum}
 if [ $1 -gt 1 ] && [ -f %{_sysconfdir}/alternatives/ld ] ; then
     %{_sbindir}/update-alternatives --remove ld %{_bindir}/ld.lld
 fi
-
-%post -n lld%{_sonum}
-%{ua_install %lld_ua_anchor} \
-    %{lapply -p ua_bin_slave %lld_binfiles}
-
-%postun -n lld%{_sonum}
-%{ua_remove %lld_ua_anchor}
+%{ua_final_remove %lld_ua_anchor}
 %endif
 
 %if %{with lldb}
-%post -n lldb%{_sonum}
-%{ua_install %lldb_ua_anchor} \
-    %{lapply -p ua_bin_slave %lldb_binfiles}
-
-%postun -n lldb%{_sonum}
-%{ua_remove %lldb_ua_anchor}
+%pre -n lldb%{_sonum}
+%{ua_final_remove %lldb_ua_anchor}
 %endif
 
-%global bin_path() \
-%{_bindir}/%1
 %global bin_sonum_path() \
 %{_bindir}/%1-%{_sonum}
-%global ghost_ua_bin_link() \
-%ghost %{_sysconfdir}/alternatives/%1
-%global man_path() \
-%{_mandir}/man1/%1.1%{ext_man}
 %global man_sonum_path() \
 %{_mandir}/man1/%1-%{_sonum}.1%{ext_man}
-%global ghost_ua_man_link() \
-%ghost %{_sysconfdir}/alternatives/%1.1%{ext_man}
 
 %files
 %license CREDITS.TXT LICENSE.TXT
-%{lapply -p bin_path %llvm_ua_anchor %llvm_tools}
-%{lapply -p bin_path %llvm_elf_dwarf_tools}
-%{lapply -p bin_path %llvm_abi_coff_macho_tools}
-%{lapply -p bin_path %llvm_instr_devel_tools}
 %{lapply -p bin_sonum_path %llvm_ua_anchor %llvm_tools}
 %{lapply -p bin_sonum_path %llvm_elf_dwarf_tools}
 %{lapply -p bin_sonum_path %llvm_abi_coff_macho_tools}
 %{lapply -p bin_sonum_path %llvm_instr_devel_tools}
-%{lapply -p ghost_ua_bin_link %llvm_ua_anchor %llvm_tools}
-%{lapply -p ghost_ua_bin_link %llvm_elf_dwarf_tools}
-%{lapply -p ghost_ua_bin_link %llvm_abi_coff_macho_tools}
-%{lapply -p ghost_ua_bin_link %llvm_instr_devel_tools}
-
-%{lapply -p man_path %llvm_man}
-%{lapply -p man_path %llvm_bin_utils_man}
-%{lapply -p man_path %llvm_devel_utils_man}
+
 %{lapply -p man_sonum_path %llvm_man}
 %{lapply -p man_sonum_path %llvm_bin_utils_man}
 %{lapply -p man_sonum_path %llvm_devel_utils_man}
-%{lapply -p ghost_ua_man_link %llvm_man}
-%{lapply -p ghost_ua_man_link %llvm_bin_utils_man}
-%{lapply -p ghost_ua_man_link %llvm_devel_utils_man}
 
 %files -n clang%{_sonum}
 %license CREDITS.TXT LICENSE.TXT
-%{lapply -p bin_path %clang_ua_anchor %clang_binfiles}
-%{lapply -p bin_path %clang_tools_extra_binfiles}
 %{lapply -p bin_sonum_path %clang_ua_anchor %clang_binfiles}
 %{lapply -p bin_sonum_path %clang_tools_extra_binfiles}
-%{lapply -p ghost_ua_bin_link %clang_ua_anchor %clang_binfiles}
-%{lapply -p ghost_ua_bin_link %clang_tools_extra_binfiles}
 
-%{lapply -p man_path %clang_manfiles}
 %{lapply -p man_sonum_path %clang_manfiles}
-%{lapply -p ghost_ua_man_link %clang_manfiles}
 
 %dir %{_libdir}/clang
 %dir %{_libdir}/clang/%{_sonum}
@@ -1824,17 +1758,13 @@
 %if %{with lld}
 %files -n lld%{_sonum}
 %license CREDITS.TXT LICENSE.TXT
-%{lapply -p bin_path %lld_ua_anchor %lld_binfiles}
 %{lapply -p bin_sonum_path %lld_ua_anchor %lld_binfiles}
-%{lapply -p ghost_ua_bin_link %lld_ua_anchor %lld_binfiles}
 %endif
 
 %if %{with lldb}
 %files -n lldb%{_sonum}
 %license CREDITS.TXT LICENSE.TXT
-%{lapply -p bin_path %lldb_ua_anchor %lldb_binfiles}
 %{lapply -p bin_sonum_path %lldb_ua_anchor %lldb_binfiles}
-%{lapply -p ghost_ua_bin_link %lldb_ua_anchor %lldb_binfiles}
 
 %if %{with lldb_python}
 %files -n python3-lldb%{_sonum}

Reply via email to