Please find an updated debdiff that I am uploading as NMU.
diff -Nru sendip-2.6/debian/changelog sendip-2.6/debian/changelog
--- sendip-2.6/debian/changelog 2020-09-02 20:02:43.000000000 +0200
+++ sendip-2.6/debian/changelog 2026-10-05 16:10:38.000000000 +0200
@@ -1,3 +1,20 @@
+sendip (2.6-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Drop -Werror.
+  * Run make veryclean. (closes: #1047395)
+
+  [ Azeez Syed ]
+  * Fix FTBFS with GCC 15 / C23 (closes: #1097871):
+    - debian/patches/11-fix-ftbfs-gcc15-bool.patch: replace
+      'typedef int bool;' in types.h with '#include <stdbool.h>',
+      as recommended by the GCC 15 porting guide.
+    - debian/patches/12-fix-ftbfs-gcc15-old-style-defs.patch: convert
+      K&R-style definitions of exchange() and _getopt_initialize() in
+      gnugetopt.c to ANSI prototypes.
+
+ -- Bastian Germann <[email protected]>  Mon, 05 Oct 2026 16:10:53 +0200
+
 sendip (2.6-1) unstable; urgency=low
 
   * New upstream release.
diff -Nru sendip-2.6/debian/patches/04-hardening.diff 
sendip-2.6/debian/patches/04-hardening.diff
--- sendip-2.6/debian/patches/04-hardening.diff 2012-06-07 06:07:18.000000000 
+0200
+++ sendip-2.6/debian/patches/04-hardening.diff 2026-05-23 08:30:00.000000000 
+0200
@@ -10,7 +10,7 @@
 +include /usr/share/dpkg/buildflags.mk
 +
 +CFLAGS += -fPIC -fsigned-char -pipe -Wall -Wpointer-arith -Wwrite-strings \
-+      -Wstrict-prototypes -Wnested-externs -Winline -Werror -g -Wcast-align \
++      -Wstrict-prototypes -Wnested-externs -Winline -g -Wcast-align \
 +      -DSENDIP_LIBS=\"$(LIBDIR)\"
  #-Wcast-align causes problems on solaris, but not serious ones
 -LDFLAGS=      -g -rdynamic -lm
diff -Nru sendip-2.6/debian/patches/11-fix-ftbfs-gcc15-bool.patch 
sendip-2.6/debian/patches/11-fix-ftbfs-gcc15-bool.patch
--- sendip-2.6/debian/patches/11-fix-ftbfs-gcc15-bool.patch     1970-01-01 
01:00:00.000000000 +0100
+++ sendip-2.6/debian/patches/11-fix-ftbfs-gcc15-bool.patch     2026-05-23 
08:30:00.000000000 +0200
@@ -0,0 +1,24 @@
+Description: Fix FTBFS with GCC 15 / C23: replace typedef int bool
+ GCC 15 defaults to the C23 standard, in which 'bool' is a reserved
+ keyword and cannot be defined via typedef. The GCC 15 porting guide
+ recommends using <stdbool.h>, which provides bool/true/false in
+ C99/C11 and is harmlessly empty in C23.
+ .
+ The existing TRUE/FALSE macros expand to (0==0) and (!TRUE) — i.e.
+ the int values 1 and 0 — which remain valid bool values, so no other
+ code needs to change.
+Author: Azeez Syed <[email protected]>
+Bug-Debian: https://bugs.debian.org/1097871
+Forwarded: no
+Last-Update: 2026-05-23
+--- a/types.h
++++ b/types.h
+@@ -8,7 +8,7 @@
+ #define _SENDIP_TYPES_H
+ 
+ /* Make sure we have bool */
+-typedef int bool;
++#include <stdbool.h>
+ #ifndef FALSE
+ #define TRUE  (0==0)
+ #define FALSE (!TRUE)
diff -Nru sendip-2.6/debian/patches/12-fix-ftbfs-gcc15-old-style-defs.patch 
sendip-2.6/debian/patches/12-fix-ftbfs-gcc15-old-style-defs.patch
--- sendip-2.6/debian/patches/12-fix-ftbfs-gcc15-old-style-defs.patch   
1970-01-01 01:00:00.000000000 +0100
+++ sendip-2.6/debian/patches/12-fix-ftbfs-gcc15-old-style-defs.patch   
2026-05-23 08:30:00.000000000 +0200
@@ -0,0 +1,38 @@
+Description: Fix FTBFS with GCC 15: convert K&R definitions to ANSI
+ GCC 15 promotes -Wold-style-definition to an error by default in C23
+ mode. The bundled GNU getopt in gnugetopt.c still uses two K&R-style
+ function definitions (exchange() and _getopt_initialize()) which now
+ fail to build under -Werror.
+ .
+ Convert both definitions to ANSI prototype form. The semantics are
+ unchanged; in fact each function already has a matching ANSI forward
+ declaration earlier in the same file, so the new definitions are
+ strictly more consistent with the rest of the unit.
+Author: Azeez Syed <[email protected]>
+Bug-Debian: https://bugs.debian.org/1097871
+Forwarded: no
+Last-Update: 2026-05-23
+--- a/gnugetopt.c
++++ b/gnugetopt.c
+@@ -300,8 +300,7 @@ static void exchange (char **);
+ #endif
+ 
+ static void
+-exchange (argv)
+-     char **argv;
++exchange (char **argv)
+ {
+   int bottom = first_nonopt;
+   int middle = last_nonopt;
+@@ -385,10 +384,7 @@ exchange (argv)
+ static const char *_getopt_initialize (int, char *const *, const char *);
+ #endif
+ static const char *
+-_getopt_initialize (argc, argv, optstring)
+-     int argc;
+-     char *const *argv;
+-     const char *optstring;
++_getopt_initialize (int argc, char *const *argv, const char *optstring)
+ {
+   /* Start processing options with ARGV-element 1 (since ARGV-element 0
+      is the program name); the sequence of previously skipped
diff -Nru sendip-2.6/debian/patches/series sendip-2.6/debian/patches/series
--- sendip-2.6/debian/patches/series    2020-09-02 11:37:43.000000000 +0200
+++ sendip-2.6/debian/patches/series    2026-05-23 08:30:00.000000000 +0200
@@ -8,3 +8,5 @@
 08-fix-rip-password.diff
 09-reproducible-build.diff
 10-add-destdir-to-makefile.diff
+11-fix-ftbfs-gcc15-bool.patch
+12-fix-ftbfs-gcc15-old-style-defs.patch
diff -Nru sendip-2.6/debian/rules sendip-2.6/debian/rules
--- sendip-2.6/debian/rules     2020-09-02 11:41:57.000000000 +0200
+++ sendip-2.6/debian/rules     2026-10-05 16:07:47.000000000 +0200
@@ -6,3 +6,6 @@
 
 %:
        dh $@
+
+execute_after_dh_auto_clean:
+       $(MAKE) veryclean

Reply via email to