Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package icecream for openSUSE:Factory checked in at 2026-02-13 12:48:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/icecream (Old) and /work/SRC/openSUSE:Factory/.icecream.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icecream" Fri Feb 13 12:48:37 2026 rev:62 rq:1332802 version:1.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/icecream/icecream.changes 2024-03-18 16:46:56.532233167 +0100 +++ /work/SRC/openSUSE:Factory/.icecream.new.1977/icecream.changes 2026-02-13 12:48:42.551238151 +0100 @@ -1,0 +2,8 @@ +Fri Jan 30 01:14:39 UTC 2026 - Thiago Macieira <[email protected]> + +- Add upstream patches + * 0001-Update-icecc-create-env-to-support-glibc-hwcaps.patch + * 0002-icecc-create-env-work-around-ldd-printing-cached-rea.patch + * 0003-icecc-create-env-fix-adding-the-glibc-hwcaps-libs.patch + +------------------------------------------------------------------- @@ -691 +699 @@ --Sat Sep 2 19:01:02 CEST 2006 - [email protected] +Sat Sep 2 19:01:02 CEST 2006 - [email protected] New: ---- 0001-Update-icecc-create-env-to-support-glibc-hwcaps.patch 0002-icecc-create-env-work-around-ldd-printing-cached-rea.patch 0003-icecc-create-env-fix-adding-the-glibc-hwcaps-libs.patch ----------(New B)---------- New:- Add upstream patches * 0001-Update-icecc-create-env-to-support-glibc-hwcaps.patch * 0002-icecc-create-env-work-around-ldd-printing-cached-rea.patch New: * 0001-Update-icecc-create-env-to-support-glibc-hwcaps.patch * 0002-icecc-create-env-work-around-ldd-printing-cached-rea.patch * 0003-icecc-create-env-fix-adding-the-glibc-hwcaps-libs.patch New: * 0002-icecc-create-env-work-around-ldd-printing-cached-rea.patch * 0003-icecc-create-env-fix-adding-the-glibc-hwcaps-libs.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ icecream.spec ++++++ --- /var/tmp/diff_new_pack.ekjkrc/_old 2026-02-13 12:48:43.991298463 +0100 +++ /var/tmp/diff_new_pack.ekjkrc/_new 2026-02-13 12:48:43.995298630 +0100 @@ -1,7 +1,7 @@ # # spec file for package icecream # -# Copyright (c) 2022 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 @@ -36,6 +36,11 @@ Source6: icecc-scheduler-wrapper Source7: icecream-tmpfiles.conf Source8: sysconfig.icecream +# https://github.com/icecc/icecream/pull/602 +Patch1: 0001-Update-icecc-create-env-to-support-glibc-hwcaps.patch +# https://github.com/icecc/icecream/pull/653 +Patch2: 0002-icecc-create-env-work-around-ldd-printing-cached-rea.patch +Patch3: 0003-icecc-create-env-fix-adding-the-glibc-hwcaps-libs.patch BuildRequires: clang-devel BuildRequires: docbook2x BuildRequires: firewall-macros @@ -84,7 +89,7 @@ Wrapper symlinks for clang/clang++ for icecream distributed building. %prep -%setup -q -n icecc-%{version} +%autosetup -p1 -n icecc-%{version} cp %{SOURCE8} suse/ # DO NOT ADD PATCHES without github reference ++++++ 0001-Update-icecc-create-env-to-support-glibc-hwcaps.patch ++++++ >From 8653840281218f891b7f445a9974ffd0fef9d177 Mon Sep 17 00:00:00 2001 From: Thiago Macieira <[email protected]> Date: Mon, 2 May 2022 09:04:10 -0700 Subject: [PATCH] Update icecc-create-env to support glibc-hwcaps Now in use in Clear Linux. For example: $ ldd /bin/clang linux-vdso.so.1 (0x00007ffce4aa9000) libclang-cpp.so.14 => /bin/../lib64/libclang-cpp.so.14 (0x00007f8459df9000) libLLVM.so.14 => /bin/../lib64/libLLVM.so.14 (0x00007f8453be0000) libstdc++.so.6 => /bin/../lib64/libstdc++.so.6 (0x00007f8453988000) libc.so.6 => /bin/../lib64/haswell/libc.so.6 (0x00007f8453759000) libm.so.6 => /bin/../lib64/../lib64/haswell/avx512_1/libm.so.6 (0x00007f8453671000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f845d253000) libffi.so.7 => /bin/../lib64/../lib64/libffi.so.7 (0x00007f8453662000) libedit.so.0 => /bin/../lib64/../lib64/libedit.so.0 (0x00007f845361f000) libz.so.1 => /bin/../lib64/../lib64/libz.so.1 (0x00007f84535f8000) libtinfo.so.6 => /bin/../lib64/../lib64/libtinfo.so.6 (0x00007f84535c4000) libxml2.so.2 => /bin/../lib64/../lib64/libxml2.so.2 (0x00007f8453414000) libgcc_s.so.1 => /bin/../lib64/../lib64/glibc-hwcaps/x86-64-v3/libgcc_s.so.1 (0x00007f84533f3000) liblzma.so.5 => /bin/../lib64/../lib64/liblzma.so.5 (0x00007f84533c5000) Without this patch, we get in the compiler package: $ tar -tf /var/cache/icecream/native/d42be071c8d51f1b74d5c7d9b563c714.tar.gz | grep libgcc_s usr/lib64/glibc-hwcaps/x86-64-v3/libgcc_s.so.1 With it, we get both the optimised and base lib: $ tar -tf c81cea00f3ab11f349a8b8caa6e1eb37.tar.gz | grep libgcc_s usr/lib64/glibc-hwcaps/x86-64-v3/libgcc_s.so.1 usr/lib64/libgcc_s.so.1 I don't have any x86-64-v4 libs to test with right now. --- client/icecc-create-env.in | 43 +++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/client/icecc-create-env.in b/client/icecc-create-env.in index b2ab74b..d9fd3ed 100755 --- a/client/icecc-create-env.in +++ b/client/icecc-create-env.in @@ -152,22 +152,37 @@ add_file () add_file "skipldd" "$lib" fi - # Add the non-haswell and non-avx512_1 libraries too + # Add the non-hwcaps, non-haswell and non-avx512_1 libraries too case "$lib" in - */haswell/*|*/avx512_1/*) - ;; - *) - continue - ;; + */haswell/*|*/avx512_1/*) + local lib_non_avx512=$(echo "$lib" | sed s,/avx512_1/,/,) + local lib_non_hsw=$(echo "$lib_non_avx512" | sed s,/haswell/,/,) + if [ "$lib" != "$lib_non_avx512" ] && [ -f "$lib_non_avx512" ]; then + add_file "$lib_non_avx512" + fi + if [ "$lib" != "$lib_non_hsw" ] && [ -f "$lib_non_hsw" ]; then + add_file "$lib_non_hsw" + fi + ;; + */glibc-hwcaps/*/*) + local lib_non_hwcaps=$(echo "$lib" | sed 's,/glibc-hwcaps/.*/,/,') + local lib_basename=${lib##*/} + if [ "$lib" != "$lib_non_hwcaps" ] && [ -f "$lib_non_hwcaps" ]; then + add_file "$lib_non_hwcaps" + fi + + # Add the other hwcaps too + local hwcaplib + for hwcaplib in ${lib_non_hwcaps%$lib_basename}/glibc-hwcaps/*/$lib_basename; do + if [ "$lib" != "$hwcaplib" ]; then + add_file $hwcaplib + fi + done + ;; + *) + continue + ;; esac - local lib_non_avx512=$(echo "$lib" | sed s,/avx512_1/,/,) - local lib_non_hsw=$(echo "$lib_non_avx512" | sed s,/haswell/,/,) - if [ "$lib" != "$lib_non_avx512" ] && [ -f "$lib_non_avx512" ]; then - add_file "$lib_non_avx512" - fi - if [ "$lib" != "$lib_non_hsw" ] && [ -f "$lib_non_hsw" ]; then - add_file "$lib_non_hsw" - fi done fi elif test "$is_darwin" = 1; then -- 2.52.0 ++++++ 0002-icecc-create-env-work-around-ldd-printing-cached-rea.patch ++++++ >From 245728f0687e23d33f1c82202a51445a891f868c Mon Sep 17 00:00:00 2001 From: Thiago Macieira <[email protected]> Date: Thu, 29 Jan 2026 16:17:43 -0800 Subject: [PATCH] icecc-create-env: work around ldd printing cached realpaths Since a recent upgrade of glibc (I'm not exactly certain when it happened, but it may have been a while), ldd prints the real path of a glibc-hwcap library that may have been cached. For example: ``` $ ldd /lib64/gcc/x86_64-suse-linux/15/cc1 linux-vdso.so.1 (0x00007fad93d6f000) libisl.so.23 => /lib64/libisl.so.23 (0x00007fad93a00000) libmpc.so.3 => /lib64/libmpc.so.3 (0x00007fad93d27000) libmpfr.so.6 => /lib64/libmpfr.so.6 (0x00007fad93c6a000) libgmp.so.10 => /lib64/libgmp.so.10 (0x00007fad93956000) libz.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libz.so.1.3.1 (0x00007fad93c4e000) libzstd.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libzstd.so.1.5.7 (0x00007fad9387d000) libm.so.6 => /lib64/libm.so.6 (0x00007fad93782000) libc.so.6 => /lib64/libc.so.6 (0x00007fad93400000) /lib64/ld-linux-x86-64.so.2 (0x00007fad93d71000) ``` This results in icecc-create-env storing /lib64/libz.so.1.3.1 but no /lib64/libz.so.1, which in turn causes the compiler to fail to start. --- client/icecc-create-env.in | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/client/icecc-create-env.in b/client/icecc-create-env.in index d9fd3ed..6620138 100755 --- a/client/icecc-create-env.in +++ b/client/icecc-create-env.in @@ -451,12 +451,22 @@ fi tempdir=$(mktemp -d /tmp/iceccenvXXXXXX) # for testing the environment is usable at all -if test -x /bin/true; then - add_file /bin/true -elif test -x /usr/bin/true; then - add_file /usr/bin/true /bin/true +bintrue=/bin/true +if ! test -x "$bintrue"; then + bintrue=/usr/bin/true fi +if test -x /sbin/ldconfig -a "$is_linux" = 1; then + # find the dynamic loader + dyld=`ldd "$bintrue" | sed -n '/ld-linux/s,^[^/]*\(/[^ ]*\).*,\1,p'` + if test -x "$dyld"; then + # replace ldd with a function so we can inhibit the cache + function ldd() { LD_TRACE_LOADED_OBJECTS=1 $dyld --inhibit-cache "$@"; } + fi +fi + +add_file "$bintrue" /bin/true + if test -n "$gcc"; then # getting compilers resolved path added_gcc=$(resolve_path $added_gcc) -- 2.52.0 ++++++ 0003-icecc-create-env-fix-adding-the-glibc-hwcaps-libs.patch ++++++ >From 343c81607d465ba183db9687122303a78a4f1f54 Mon Sep 17 00:00:00 2001 From: Thiago Macieira <[email protected]> Date: Thu, 29 Jan 2026 16:27:46 -0800 Subject: [PATCH] icecc-create-env: fix adding the glibc-hwcaps libs We were overwriting the `lib` variable with the base lib, thus the `case` statement below never matched anything. So just don't do it. Drive-by use "skipldd" to addfile, as all of these libraries come from ldd, which in turn means their dependencies are showing up in the current file's dependencies anyway. Now: ``` adding file /lib64/libz.so.1=/usr/lib64/libz.so.1.3.1 adding file /lib64/glibc-hwcaps/x86-64-v3/libz.so.1=/usr/lib64/glibc-hwcaps/x86-64-v3/libz.so.1.3.1 adding file /lib64/libzstd.so.1=/usr/lib64/libzstd.so.1.5.7 adding file /lib64/glibc-hwcaps/x86-64-v3/libzstd.so.1=/usr/lib64/glibc-hwcaps/x86-64-v3/libzstd.so.1.5.7 ``` --- client/icecc-create-env.in | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/client/icecc-create-env.in b/client/icecc-create-env.in index 6620138..5afc519 100755 --- a/client/icecc-create-env.in +++ b/client/icecc-create-env.in @@ -144,8 +144,7 @@ add_file () fi fi if test -n "$usebaselib"; then - lib=$baselib - add_file "$lib" + add_file "skipldd" "$baselib" else # Optimization: We are adding a library we got from ldd output, so avoid # using ldd on it, as it should not find more than this ldd. @@ -168,14 +167,14 @@ add_file () local lib_non_hwcaps=$(echo "$lib" | sed 's,/glibc-hwcaps/.*/,/,') local lib_basename=${lib##*/} if [ "$lib" != "$lib_non_hwcaps" ] && [ -f "$lib_non_hwcaps" ]; then - add_file "$lib_non_hwcaps" + add_file skipldd "$lib_non_hwcaps" fi # Add the other hwcaps too local hwcaplib for hwcaplib in ${lib_non_hwcaps%$lib_basename}/glibc-hwcaps/*/$lib_basename; do if [ "$lib" != "$hwcaplib" ]; then - add_file $hwcaplib + add_file skipldd $hwcaplib fi done ;; -- 2.52.0
