Script 'mail_helper' called by obssrc
Hello community,

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

Package is "llvm18"

Fri Jun 12 19:26:08 2026 rev:18 rq:1358707 version:18.1.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm18/llvm18.changes    2026-05-10 
16:48:24.276976448 +0200
+++ /work/SRC/openSUSE:Factory/.llvm18.new.1981/llvm18.changes  2026-06-12 
19:26:23.303335573 +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:
------------------
++++++ llvm18.spec ++++++
--- /var/tmp/diff_new_pack.V0aboQ/_old  2026-06-12 19:26:25.387422927 +0200
+++ /var/tmp/diff_new_pack.V0aboQ/_new  2026-06-12 19:26:25.387422927 +0200
@@ -24,8 +24,6 @@
 %global _version %_relver%{?_rc:rc%_rc}
 %global _tagver %_relver%{?_rc:-rc%_rc}
 %global _itsme18 1
-# Integer version used by update-alternatives
-%global _uaver  %{_sonum}1%{_patch_level}
 %global _soclang 13
 %global _socxx  1
 
@@ -452,8 +450,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} || %{with openmp}
@@ -465,6 +461,8 @@
 %if %{with oprofile}
 BuildRequires:  oprofile-devel
 %endif
+OrderWithRequires(pre): update-alternatives
+Provides:       llvm%{_sonum}-update-alternatives-removed
 Suggests:       %{name}-doc
 
 %description
@@ -542,8 +540,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
@@ -762,9 +760,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.
@@ -796,8 +793,8 @@
 BuildRequires:  pkgconfig(panel)
 BuildRequires:  pkgconfig(python3)
 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}
@@ -1315,8 +1312,10 @@
 %if %{with lldb_python}
 # Python: fix binary libraries location.
 rm %{buildroot}%{python3_sitearch}/lldb/_lldb.%{cpython3_soabi}.so
+rm %{buildroot}%{python3_sitearch}/lldb/lldb-argdumper
 liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so))
 ln -vsf "../../../${liblldb}" 
%{buildroot}%{python3_sitearch}/lldb/_lldb.%{cpython3_soabi}.so
+ln -vsf ../../../../bin/lldb-argdumper-%{_sonum} 
%{buildroot}%{python3_sitearch}/lldb/lldb-argdumper
 %endif
 
 # Stuff we don't want to include
@@ -1333,10 +1332,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
@@ -1347,11 +1343,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.
@@ -1550,112 +1544,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}
@@ -1843,17 +1777,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