Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package clamav for openSUSE:Factory checked 
in at 2025-11-12 21:14:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clamav (Old)
 and      /work/SRC/openSUSE:Factory/.clamav.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "clamav"

Wed Nov 12 21:14:11 2025 rev:137 rq:1317166 version:1.5.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/clamav/clamav.changes    2025-10-17 
17:26:02.914665013 +0200
+++ /work/SRC/openSUSE:Factory/.clamav.new.1980/clamav.changes  2025-11-12 
21:14:26.946289082 +0100
@@ -1,0 +2,6 @@
+Tue Nov  4 16:09:50 UTC 2025 - Reinhard Max <[email protected]>
+
+- Add clamav-workaround.patch to work around symbol removals in
+  version 1.5.0 and 1.5.1.
+
+-------------------------------------------------------------------

New:
----
  clamav-workaround.patch

----------(New B)----------
  New:
- Add clamav-workaround.patch to work around symbol removals in
  version 1.5.0 and 1.5.1.
----------(New E)----------

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

Other differences:
------------------
++++++ clamav.spec ++++++
--- /var/tmp/diff_new_pack.JjJBmE/_old  2025-11-12 21:14:28.102337539 +0100
+++ /var/tmp/diff_new_pack.JjJBmE/_new  2025-11-12 21:14:28.102337539 +0100
@@ -67,6 +67,7 @@
 Patch5:         clamav-obsolete-config.patch
 Patch14:        clamav-document-maxsize.patch
 Patch15:        clamav-format.patch
+Patch16:        clamav-workaround.patch
 ExcludeArch:    %{arml}
 
 BuildRequires:  cargo%{?vrust}
@@ -207,6 +208,7 @@
 %patch -P 5
 %patch -P 14
 %patch -P 15
+%patch -P 16
 chmod -x docs/html/images/flamegraph.svg
 
 %build


++++++ clamav-workaround.patch ++++++
--- libclamav/clamav.h.orig
+++ libclamav/clamav.h
@@ -22,6 +22,15 @@
 #ifndef __CLAMAV_H
 #define __CLAMAV_H
 
+/*
+ * This workaround can be removed once the SONAME version of libclamav
+ * gets bumped beyond 12.
+ */
+#define WA(VER, RET, SYM) __attribute__ ((   \
+        __symver__ (#SYM "@@CLAMAV_PUBLIC"), \
+        __symver__ (#SYM "@CLAMAV_" VER)))   \
+        RET wa_ ## SYM
+
 #ifdef _WIN32
 #ifndef OWN_WINSOCK
 #include <winsock2.h>
--- libclamav/cvd.c.orig
+++ libclamav/cvd.c
@@ -416,7 +416,7 @@ cl_error_t cl_cvdverify(const char *file
     return cl_cvdverify_ex(file, NULL, 0);
 }
 
-cl_error_t cl_cvdverify_ex(const char *file, const char *certs_directory, 
uint32_t dboptions)
+WA("1.5.0", cl_error_t, cl_cvdverify_ex)(const char *file, const char 
*certs_directory, uint32_t dboptions)
 {
     struct cl_engine *engine = NULL;
     cl_error_t ret;
@@ -749,7 +749,7 @@ done:
     return status;
 }
 
-cl_error_t cl_cvdunpack_ex(const char *file, const char *dir, const char 
*certs_directory, uint32_t dboptions)
+WA("1.5.0", cl_error_t, cl_cvdunpack_ex)(const char *file, const char *dir, 
const char *certs_directory, uint32_t dboptions)
 {
     cl_error_t status            = CL_SUCCESS;
     cvd_t *cvd                   = NULL;
@@ -823,7 +823,7 @@ done:
     return status;
 }
 
-cl_error_t cl_cvdunpack(const char *file, const char *dir, bool dont_verify)
+WA("1.0.0", cl_error_t, cl_cvdunpack)(const char *file, const char *dir, bool 
dont_verify)
 {
     cl_error_t status          = CL_SUCCESS;
     cvd_t *cvd                 = NULL;
@@ -914,7 +914,7 @@ done:
     return status;
 }
 
-cl_error_t cl_cvdgetage(const char *path, time_t *age_seconds)
+WA("1.1.0", cl_error_t, cl_cvdgetage)(const char *path, time_t *age_seconds)
 {
     STATBUF statbuf;
     struct dirent *dent;
--- libclamav/libclamav.map.orig
+++ libclamav/libclamav.map
@@ -91,6 +91,34 @@ CLAMAV_PUBLIC {
     cl_scan_layer_get_attributes;
     cl_engine_set_scan_callback;
 };
+
+# This block can be removed once the SONAME version of libclamav
+# gets bumped beyond 12...
+#
+CLAMAV_0.104.0 {
+#  local:
+#    wa_cl_engine_set_clcb_engine_compile_progress;
+#    wa_cl_engine_set_clcb_engine_free_progress;
+#    wa_cl_engine_set_clcb_sigload_progress;
+} CLAMAV_PUBLIC;
+CLAMAV_1.0.0 {
+#  local:
+#    wa_cl_cvdunpack;
+#    wa_cl_engine_set_clcb_file_inspection;
+} CLAMAV_0.104.0;
+CLAMAV_1.1.0 {
+#  local:
+#    wa_cl_cvdgetage;
+#    wa_cl_engine_set_clcb_vba;
+} CLAMAV_1.0.0;
+CLAMAV_1.5.0 {
+#  local:
+#    wa_cl_cvdunpack_ex;
+#    wa_cl_cvdverify_ex;
+} CLAMAV_1.1.0;
+#
+# ... up to here
+
 CLAMAV_PRIVATE {
   global:
     cli_sigperf_print;
--- libclamav/others.c.orig
+++ libclamav/others.c
@@ -2767,7 +2767,7 @@ void cl_engine_set_clcb_pre_cache(struct
     engine->cb_pre_cache = callback;
 }
 
-void cl_engine_set_clcb_file_inspection(struct cl_engine *engine, 
clcb_file_inspection callback)
+WA("1.0.0", void, cl_engine_set_clcb_file_inspection)(struct cl_engine 
*engine, clcb_file_inspection callback)
 {
     engine->cb_file_inspection = callback;
 }
@@ -2793,19 +2793,19 @@ void cl_engine_set_clcb_sigload(struct c
     engine->cb_sigload_ctx = callback ? context : NULL;
 }
 
-void cl_engine_set_clcb_sigload_progress(struct cl_engine *engine, 
clcb_progress callback, void *context)
+WA("0.104.0", void, cl_engine_set_clcb_sigload_progress)(struct cl_engine 
*engine, clcb_progress callback, void *context)
 {
     engine->cb_sigload_progress     = callback;
     engine->cb_sigload_progress_ctx = callback ? context : NULL;
 }
 
-void cl_engine_set_clcb_engine_compile_progress(struct cl_engine *engine, 
clcb_progress callback, void *context)
+WA("0.104.0", void, cl_engine_set_clcb_engine_compile_progress)(struct 
cl_engine *engine, clcb_progress callback, void *context)
 {
     engine->cb_engine_compile_progress     = callback;
     engine->cb_engine_compile_progress_ctx = callback ? context : NULL;
 }
 
-void cl_engine_set_clcb_engine_free_progress(struct cl_engine *engine, 
clcb_progress callback, void *context)
+WA("0.104.0", void, cl_engine_set_clcb_engine_free_progress)(struct cl_engine 
*engine, clcb_progress callback, void *context)
 {
     engine->cb_engine_free_progress     = callback;
     engine->cb_engine_free_progress_ctx = callback ? context : NULL;
@@ -2826,7 +2826,7 @@ void cl_engine_set_clcb_file_props(struc
     engine->cb_file_props = callback;
 }
 
-void cl_engine_set_clcb_vba(struct cl_engine *engine, clcb_generic_data 
callback)
+WA("1.1.0", void, cl_engine_set_clcb_vba)(struct cl_engine *engine, 
clcb_generic_data callback)
 {
     engine->cb_vba = callback;
 }

Reply via email to