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}
