Files
buildroot/package/c-icap/0007-Add-missing-_CI_ASSERT-macro-for-pcre2-patch.patch
Bernd Kuhls 492155af6a package/c-icap: switch to pcre2
Added two patches backported from the upstream branch c_icap_0_6_x which
were backported by Debian to the 0.5.x branch.

Build-tested using this defconfig:

BR2_PACKAGE_PCRE2=y
BR2_PACKAGE_C_ICAP=y
BR2_PACKAGE_C_ICAP_MODULES=y

                             arm-aarch64 [ 1/32]: OK
                   bootlin-aarch64-glibc [ 2/32]: OK
               bootlin-aarch64-glibc-old [ 3/32]: FAILED
               bootlin-arcle-hs38-uclibc [ 4/32]: OK
                    bootlin-armv5-uclibc [ 5/32]: OK
                     bootlin-armv7-glibc [ 6/32]: OK
                   bootlin-armv7m-uclibc [ 7/32]: SKIPPED
                      bootlin-armv7-musl [ 8/32]: OK
                bootlin-m68k-5208-uclibc [ 9/32]: SKIPPED
               bootlin-m68k-68040-uclibc [10/32]: OK
             bootlin-microblazeel-uclibc [11/32]: OK
                  bootlin-mips64el-glibc [12/32]: OK
                bootlin-mipsel32r6-glibc [13/32]: OK
                   bootlin-mipsel-uclibc [14/32]: OK
                 bootlin-openrisc-uclibc [15/32]: OK
        bootlin-powerpc64le-power8-glibc [16/32]: OK
           bootlin-powerpc-e500mc-uclibc [17/32]: OK
                   bootlin-riscv32-glibc [18/32]: OK
                   bootlin-riscv64-glibc [19/32]: OK
                    bootlin-riscv64-musl [20/32]: OK
                 bootlin-s390x-z13-glibc [21/32]: OK
                      bootlin-sh4-uclibc [22/32]: OK
                   bootlin-sparc64-glibc [23/32]: OK
                    bootlin-sparc-uclibc [24/32]: OK
                    bootlin-x86-64-glibc [25/32]: OK
                     bootlin-x86-64-musl [26/32]: OK
                   bootlin-x86-64-uclibc [27/32]: OK
                   bootlin-x86-i686-musl [28/32]: OK
                   bootlin-xtensa-uclibc [29/32]: OK
                            br-arm-basic [30/32]: FAILED
                    br-arm-full-nothread [31/32]: SKIPPED
                      br-arm-full-static [32/32]: SKIPPED

32 builds, 4 skipped, 2 build failed, 0 legal-info failed, 0 show-info failed

The two build errors are unrelated to this patch, they are caused by
patch 0005-Fix-module-operation-prototypes-to-fix-GCC-15.x-buil.patch
which breaks the build with gcc <= 9.x:

http_auth.c: In function ‘basic_close’:
http_auth.c:412:25: error: parameter name omitted
 void basic_close(struct ci_server_conf *)

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2026-04-14 19:12:45 +02:00

51 lines
1.7 KiB
Diff

From: Boyuan Yang <byang@debian.org>
Date: Sat, 29 Jul 2023 19:34:51 -0400
Subject: Add missing _CI_ASSERT macro for pcre2 patch
Upstream: https://github.com/c-icap/c-icap-server/commit/9d4b75b2a044669cbe4570f95f0f8f00f09b0d21
Downloaded from
https://sources.debian.org/src/c-icap/1%3A0.5.10-7/debian/patches/0007-Add-missing-_CI_ASSERT-macro-for-pcre2-patch.patch
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
debug.c | 10 ++++++++++
include/debug.h | 3 +++
2 files changed, 13 insertions(+)
diff --git a/debug.c b/debug.c
index 8a3bf6d..4f34a87 100644
--- a/debug.c
+++ b/debug.c
@@ -47,6 +47,16 @@ void __ldebug_printf(int i, const char *format, ...)
}
#endif
+void ci_debug_abort(const char *file, int line, const char *function, const char *mesg)
+{
+ ci_debug_printf(1, "Abort at %s, %d, %s: \'%s\'\n", file, line, function, mesg);
+ fflush(stderr);
+ fflush(stdout);
+ abort();
+}
+
+void (*__ci_debug_abort)(const char *file, int line, const char *function, const char *mesg) = ci_debug_abort;
+
/*
void debug_print_request(ci_request_t *req){
int i,j;
diff --git a/include/debug.h b/include/debug.h
index 9373ec9..990cce7 100644
--- a/include/debug.h
+++ b/include/debug.h
@@ -44,6 +44,9 @@ CI_DECLARE_DATA extern void (*__log_error)(void *req, const char *format,... );
#define ci_debug_printf(i, args...) if(i<=CI_DEBUG_LEVEL){ if(__log_error) (*__log_error)(NULL,args); if(CI_DEBUG_STDOUT) printf(args);}
#endif
+CI_DECLARE_DATA extern void (*__ci_debug_abort)(const char *file, int line, const char *function, const char *mesg);
+#define _CI_ASSERT(expression) {if (!(expression)) (*__ci_debug_abort)(__FILE__, __LINE__, __func__, #expression);}
+
#ifdef __cplusplus
}
#endif