Control: tags 1075650 + pending Dear maintainer, I've prepared an NMU for xawtv (versioned as 3.107-2.1) and uploaded it to DELAYED/10. Please feel free to tell me if I should delay it longer. Regards. J.
diff -Nru xawtv-3.107/debian/changelog xawtv-3.107/debian/changelog
--- xawtv-3.107/debian/changelog 2024-01-08 11:53:35.000000000 +0000
+++ xawtv-3.107/debian/changelog 2024-08-15 13:06:03.000000000 +0100
@@ -1,3 +1,11 @@
+xawtv (3.107-2.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * d/patches: add patch to fix gcc 14 FTBFS caused by incompatible pointer
+ types (Closes: #1075650)
+
+ -- Jeremy Sowden <azazel@debian.org> Thu, 15 Aug 2024 13:06:03 +0100
+
xawtv (3.107-2) unstable; urgency=medium
* Team upload.
diff -Nru xawtv-3.107/debian/patches/incompatible-pointer-fix.patch xawtv-3.107/debian/patches/incompatible-pointer-fix.patch
--- xawtv-3.107/debian/patches/incompatible-pointer-fix.patch 1970-01-01 01:00:00.000000000 +0100
+++ xawtv-3.107/debian/patches/incompatible-pointer-fix.patch 2024-08-15 13:06:03.000000000 +0100
@@ -0,0 +1,62 @@
+Author: Jeremy Sowden <azazel@debian.org>
+Last-Update: 2024-08-15
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1075650
+Forwarded: https://lore.kernel.org/linux-media/20240815115415.3371544-2-jeremy@azazel.net/
+Description: fix gcc-14 FTBFS caused by incompatible pointer types
+ `XawListChange` declares the type of its second parameter as `_Xconst
+ char **`. However, xawtv passes `str_list`, which is declared as
+ `String *`, or `&empty` which is declared as `char *`. With gcc 14,
+ these result in incompatible-pointer errors:
+ .
+ x11/propwatch.c: In function 'RebuildList':
+ x11/propwatch.c:319:43: error: passing argument 2 of 'XawListChange' from incompatible pointer type [-Wincompatible-pointer-types]
+ 319 | XawListChange(bl,str_count ? str_list : &empty,
+ | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
+ | |
+ | char **
+ In file included from x11/propwatch.c:28:
+ /usr/include/X11/Xaw/List.h:170:27: note: expected 'const char **' but argument is of type 'char **'
+ 170 | _Xconst char **list,
+ | ^
+ x11/propwatch.c: In function 'ProcessPropertyChange':
+ x11/propwatch.c:498:34: error: passing argument 2 of 'XawListChange' from incompatible pointer type [-Wincompatible-pointer-types]
+ 498 | XawListChange(bl,str_list,str_count,1000,1);
+ | ^~~~~~~~
+ | |
+ | char **
+ /usr/include/X11/Xaw/List.h:170:27: note: expected 'const char **' but argument is of type 'char **'
+ 170 | _Xconst char **list,
+ | ^
+ .
+ Both variables are only used as arguments to `XawListChange`, so change
+ their types to match its expectations.
+
+--- a/x11/propwatch.c
++++ b/x11/propwatch.c
+@@ -58,8 +58,8 @@
+ "WM_COMMAND",
+ };
+
+-static String *str_list;
+-static int str_count;
++static const char **str_list;
++static int str_count;
+
+ static void AddWatch(Display *dpy, Window win, int i);
+ static void DeleteWatch(Window win);
+@@ -306,13 +306,13 @@
+ static void
+ RebuildList(void)
+ {
+- static char *empty = "empty";
++ static const char *empty = "empty";
+ int i;
+ struct WATCHLIST *this;
+
+ if (str_list)
+ free(str_list);
+- str_list = malloc(str_count*sizeof(String));
++ str_list = malloc(str_count*sizeof(*str_list));
+ for (i=0, this=watchlist; this!=NULL; i++, this=this->next)
+ str_list[i] = this->text;
+ qsort(str_list,str_count,sizeof(char*),cmp);
diff -Nru xawtv-3.107/debian/patches/series xawtv-3.107/debian/patches/series
--- xawtv-3.107/debian/patches/series 2024-01-08 11:51:34.000000000 +0000
+++ xawtv-3.107/debian/patches/series 2024-08-15 13:06:03.000000000 +0100
@@ -8,3 +8,4 @@
0008-Makefile.in-honour-CPPFLAGS.patch
CVE-2020-13696-error_message_fix.patch
0001-Replace-sys_siglist-with-strsignal.patch
+incompatible-pointer-fix.patch
Attachment:
signature.asc
Description: PGP signature