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

Reply via email to