Bug#1067108: alien-arena: FTBFS with -Werror=implicit-function-declaration
Patrice Duroux
patrice.duroux at gmail.com
Sat Nov 16 19:15:04 GMT 2024
Package: alien-arena
Version: 7.71.3+dfsg-3
Followup-For: Bug #1067108
Control: tags -1 ftbfs
Hi,
Here is a fix to upgrade the package to 7.71.7 which will also allow
fix this build problem.
I commented out the irc.patch without removing it because I don't know if it's
still necessary to change the default.
There is a new way to do this in 7.71.7, but I haven't investigated it.
Regards,
Patrice
-- System Information:
Debian Release: trixie/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.12-rc6-amd64 (SMP w/12 CPU threads; PREEMPT)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages alien-arena depends on:
ii alien-arena-data 7.71.3+ds-1
ii libc6 2.40-3
ii libcurl3t64-gnutls 8.11.0-1
ii libfreetype6 2.13.3+dfsg-1
ii libgcc-s1 14.2.0-8
ii libjpeg62-turbo 1:2.1.5-3+b1
ii libminizip1t64 1:1.3.dfsg+really1.3.1-1+b1
ii libopenal1 1:1.23.1-4+b2
ii libstdc++6 14.2.0-8
ii libvorbisfile3 1.3.7-2+b1
ii libx11-6 2:1.8.10-2
ii libxxf86vm1 1:1.1.4-1+b3
ii zlib1g 1:1.3.dfsg+really1.3.1-1+b1
alien-arena recommends no packages.
alien-arena suggests no packages.
-- no debconf information
-------------- next part --------------
diff --git a/debian/alien-arena-server.docs b/debian/alien-arena-server.docs
index ef46410..4828571 100644
--- a/debian/alien-arena-server.docs
+++ b/debian/alien-arena-server.docs
@@ -1,2 +1,3 @@
-docs/README.txt
-unix_dist/README
+usr/share/doc/alienarena/README
+usr/share/doc/alienarena/COPYING
+usr/share/doc/alienarena/NEWS
diff --git a/debian/alien-arena.docs b/debian/alien-arena.docs
index ef46410..4828571 100644
--- a/debian/alien-arena.docs
+++ b/debian/alien-arena.docs
@@ -1,2 +1,3 @@
-docs/README.txt
-unix_dist/README
+usr/share/doc/alienarena/README
+usr/share/doc/alienarena/COPYING
+usr/share/doc/alienarena/NEWS
diff --git a/debian/alien-arena.install b/debian/alien-arena.install
index bd81a70..93ca6ca 100644
--- a/debian/alien-arena.install
+++ b/debian/alien-arena.install
@@ -1,4 +1,4 @@
usr/bin/alienarena usr/lib/games/alien-arena
debian/scripts/alien-arena usr/games
-unix_dist/alien-arena.desktop usr/share/applications
-unix_dist/alien-arena.png usr/share/icons/hicolor/256x256/apps
+usr/share/doc/alienarena/alien-arena.desktop usr/share/applications
+usr/share/icons/alienarena/alien-arena.png usr/share/icons/hicolor/256x256/apps
diff --git a/debian/changelog b/debian/changelog
index 4495d90..ee1dd2f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,22 @@
+alien-arena (7.71.7+dfsg-1) UNRELEASED; urgency=medium
+
+ * New upstream version 7.71.7+dfsg
+ * Update Files-Excluded in d/copyright.
+ * Update d/patches:
+ - Add gcc14.patch. (Closes: #1067108)
+ - Add minizip.patch to avoid the inner copy.
+ - Remove odeconfig.patch (obsoleted).
+ - Remove http11.patch (obsoleted).
+ - Remove kill-runaway-crx-ded.patch (obsoleted).
+ - Refresh launch-server_tool_debianization.patch.
+ * Update d/*.docs and d/*.install (less missings).
+ * Change homepage in d/control.
+ * Refresh Build-Depends.
+ * Bump Standards-Version to 4.7.0.
+ * Set Rules-Requires-Root: no.
+
+ -- Patrice Duroux <patrice.duroux at gmail.com> Sat, 16 Nov 2024 15:34:24 +0100
+
alien-arena (7.71.3+dfsg-3) unstable; urgency=medium
* Team upload.
diff --git a/debian/control b/debian/control
index d390591..6277eaa 100644
--- a/debian/control
+++ b/debian/control
@@ -7,7 +7,7 @@ Build-Depends:
debhelper-compat (= 13),
sharutils,
libglu1-mesa-dev,
- libgl1-mesa-dev,
+ libgl-dev,
libjpeg-dev,
libpng-dev,
libxxf86vm-dev,
@@ -17,10 +17,12 @@ Build-Depends:
libcurl4-gnutls-dev,
libopenal-dev,
libvorbis-dev,
- libfreetype6-dev,
- pkg-config,
-Standards-Version: 4.5.0
-Homepage: https://martianbackup.com
+ libfreetype-dev,
+ libminizip-dev,
+ pkgconf,
+Standards-Version: 4.7.0
+Rules-Requires-Root: no
+Homepage: https://www.alienarena.org/
Vcs-Git: https://salsa.debian.org/games-team/alien-arena.git
Vcs-Browser: https://salsa.debian.org/games-team/alien-arena
@@ -30,7 +32,7 @@ Depends:
${misc:Depends},
${shlibs:Depends},
libopenal1,
- alien-arena-data (>= 7.71.3~),
+ alien-arena-data (>= 7.71.7~),
Description: Standalone 3D first person online deathmatch shooter
ALIEN ARENA is a standalone 3D first person online death-match shooter crafted
from the original source code of Quake II and Quake III, released by id
@@ -47,7 +49,7 @@ Depends:
${misc:Depends},
${shlibs:Depends},
ruby,
- alien-arena-data (>= 7.71.3~),
+ alien-arena-data (>= 7.71.7~),
Description: Dedicated server for Alien Arena
ALIEN ARENA is a standalone 3D first person online death-match shooter crafted
from the original source code of Quake II and Quake III, released by id
diff --git a/debian/patches/gcc14.patch b/debian/patches/gcc14.patch
new file mode 100644
index 0000000..9dbdc50
--- /dev/null
+++ b/debian/patches/gcc14.patch
@@ -0,0 +1,116 @@
+--- a/source/game/g_unlagged.c
++++ b/source/game/g_unlagged.c
+@@ -22,6 +22,7 @@
+ #endif
+
+ #include "g_local.h"
++void Cvar_SetValue (const char *var_name, float value);
+
+ /*
+ ============
+--- a/source/client/cl_updates.c
++++ b/source/client/cl_updates.c
+@@ -250,14 +250,14 @@
+ easyhandle = curl_easy_init();
+
+ // Set Http version to 1.1, somehow this seems to be needed for the multi-download
+- if (curl_easy_setopt(easyhandle, CURLOPT_HTTP_VERSION, (long) CURL_HTTP_VERSION_1_1) != CURLE_OK) return false;
++ if (curl_easy_setopt(easyhandle, CURLOPT_HTTP_VERSION, (long) CURL_HTTP_VERSION_1_1) != CURLE_OK) return;
+
+ // Follow redirects to https - but this doesn't seem to be working
+- if (curl_easy_setopt(easyhandle, CURLOPT_FOLLOWLOCATION, 1L) != CURLE_OK) return false;
+- if (curl_easy_setopt(easyhandle, CURLOPT_MAXREDIRS, 3L) != CURLE_OK) return false;
++ if (curl_easy_setopt(easyhandle, CURLOPT_FOLLOWLOCATION, 1L) != CURLE_OK) return;
++ if (curl_easy_setopt(easyhandle, CURLOPT_MAXREDIRS, 3L) != CURLE_OK) return;
+
+ // Don't verify that the host matches the certificate
+- if (curl_easy_setopt(easyhandle, CURLOPT_SSL_VERIFYHOST, 0L) != CURLE_OK) return false;
++ if (curl_easy_setopt(easyhandle, CURLOPT_SSL_VERIFYHOST, 0L) != CURLE_OK) return;
+
+ Com_sprintf(url, sizeof(url), "%s", cl_latest_game_version_url->string);
+
+--- a/source/client/qmenu.c
++++ b/source/client/qmenu.c
+@@ -185,7 +185,7 @@
+ menufield_s *f;
+ extern int keydown[];
+
+- f = cursor.menuitem;
++ f = (menufield_s *)cursor.menuitem;
+
+ if (f == NULL || f->generic.type != MTYPE_FIELD)
+ return false;
+@@ -1001,7 +1001,7 @@
+ if (menu->maxheight != 0 && CHASELINK(menu->height) > menu->maxheight && cursor.x > right)
+ {
+ // select the scrollbar
+- item = &menu->vertical_scrollbar;
++ item = (menuitem_s *)&menu->vertical_scrollbar;
+ Cursor_MouseSelectItem (item);
+ }
+ else for ( i = 0; i < menu->nitems; i++ )
+@@ -1464,7 +1464,7 @@
+
+ void Menu_SlideItem (int dir)
+ {
+- menucommon_s *item = cursor.menuitem;
++ menucommon_s *item = (menucommon_s *)cursor.menuitem;
+
+ if ( item )
+ {
+@@ -1512,7 +1512,7 @@
+ else if ( s->curvalue < s->minvalue )
+ s->curvalue = s->minvalue;
+
+- Menu_ActivateItem (s);
++ Menu_ActivateItem ((menuitem_s *)s);
+ }
+
+ void Slider_Draw (menuslider_s *s, FNT_font_t font)
+@@ -1571,7 +1571,7 @@
+ s->curvalue--;
+ }
+
+- Menu_ActivateItem (s);
++ Menu_ActivateItem ((menuitem_s *)s);
+ }
+
+ void SpinControl_Draw (menulist_s *s, FNT_font_t font)
+--- a/source/client/menu.c
++++ b/source/client/menu.c
+@@ -4247,7 +4247,7 @@
+ s_servers[serverindex].serverinfo_columns[0][1].generic.type = MTYPE_TEXT;
+ s_servers[serverindex].serverinfo_columns[0][1].generic.flags = QMF_RIGHT_COLUMN;
+
+- Menu_MakeTable (&s_servers[serverindex].serverinfo_table, rows, 2, sizes, s_servers[serverindex].serverinfo_rows, s_servers[serverindex].serverinfo_rows, s_servers[serverindex].serverinfo_columns, contents);
++ Menu_MakeTable (&s_servers[serverindex].serverinfo_table, rows, 2, sizes, s_servers[serverindex].serverinfo_rows, s_servers[serverindex].serverinfo_rows, s_servers[serverindex].serverinfo_columns, (const char **)contents);
+
+ Menu_AddItem (&s_servers[serverindex].serverinfo_submenu, &s_servers[serverindex].serverinfo_table);
+
+@@ -4346,7 +4346,7 @@
+ mservers[serverindex].players, SVDATA_PLAYERINFO,
+ sizes, &s_servers[serverindex].playerlist_header,
+ s_servers[serverindex].playerlist_rows, s_servers[serverindex].playerlist_columns,
+- local_player_info_ptrs
++ (const char **)local_player_info_ptrs
+ );
+
+ Menu_AddItem (&s_servers[serverindex].playerlist_submenu, &s_servers[serverindex].playerlist_scrollingmenu);
+@@ -5739,7 +5739,7 @@
+ Cvar_ForceSet("dedicated", "0");
+ #endif
+ Cvar_Set("sv_maplist", startmap);
+- Cbuf_AddText (sprintf("setmaster %s %s\n", DEFAULT_MASTER_1, DEFAULT_MASTER_2));
++ Cbuf_AddText (va("setmaster %s %s\n", DEFAULT_MASTER_1, DEFAULT_MASTER_2));
+ }
+ Cvar_SetValue( "skill", s_skill_box.curvalue );
+ Cvar_SetValue( "g_antilagprojectiles", s_antilagprojectiles_box.curvalue);
+@@ -7147,7 +7147,7 @@
+ s->curvalue = s->minvalue;
+
+ //TO DO - this generates a scary warning - incompatible menuslider_s vs menuitem_s * - there are several similar instances in the menu code.
+- Menu_ActivateItem (s);
++ Menu_ActivateItem ((menuitem_s *)s);
+ }
+
+ static void Menu_DragSlideItem (void)
diff --git a/debian/patches/http11.patch b/debian/patches/http11.patch
deleted file mode 100644
index 7255a06..0000000
--- a/debian/patches/http11.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-description: Force http 1.1 for http download
-author: Raoul de Raadt <raoulderaadt at tiscali.nl>
-
---- a/source/client/cl_http.c
-+++ b/source/client/cl_http.c
-@@ -134,6 +134,9 @@
- // set handle to default state
- curl_easy_reset(curl);
-
-+ // Set Http version to 1.1, somehow this seems to be needed for the multi-download
-+ if (curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, (long) CURL_HTTP_VERSION_1_1) != CURLE_OK) return false;
-+
- // set url from which to retrieve the file
- if (curl_easy_setopt(curl, CURLOPT_URL, url) != CURLE_OK) return false;
-
-@@ -177,12 +180,16 @@
- */
- char *CL_HttpResponseCode(long code){
- int i = 0;
-+ static char codeAsString[15];
-+
- while(responses[i].code){
- if(responses[i].code == code)
- return responses[i].text;
- i++;
- }
-- return "Unknown";
-+ memset(codeAsString, 0, sizeof(codeAsString));
-+ Com_sprintf(codeAsString, sizeof(codeAsString) - 1, "Unknown - %ld", code);
-+ return codeAsString;
- }
-
-
diff --git a/debian/patches/kill-runaway-crx-ded.patch b/debian/patches/kill-runaway-crx-ded.patch
deleted file mode 100644
index c4a5d5a..0000000
--- a/debian/patches/kill-runaway-crx-ded.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-description: Fix target binary name
-author: Raoul de Raadt <raoulderaadt at tiscali.nl>
-
---- a/Tools/LinuxScripts/kill-runaway-crx-ded
-+++ b/Tools/LinuxScripts/kill-runaway-crx-ded
-@@ -1,6 +1,6 @@
- #!/bin/sh
-
--for TPPID in `ps -eo pid,pcpu,comm | grep crx-ded | grep -v grep |
-+for TPPID in `ps -eo pid,pcpu,comm | grep alienarena-ded | grep -v grep |
- awk '{print $1":"$2}' |
- awk 'BEGIN {FS=":"}{ if ($2 > 20.0){print $1} }'`
- do
diff --git a/debian/patches/launch-server_tool_debianization.patch b/debian/patches/launch-server_tool_debianization.patch
index 8de676e..81e8beb 100644
--- a/debian/patches/launch-server_tool_debianization.patch
+++ b/debian/patches/launch-server_tool_debianization.patch
@@ -1,8 +1,6 @@
Description: debianization for launch-server script
-Index: alien-arena/Tools/LinuxScripts/launch-server
-===================================================================
---- alien-arena.orig/Tools/LinuxScripts/launch-server 2011-03-13 14:04:12.000000000 -0400
-+++ alien-arena/Tools/LinuxScripts/launch-server 2011-03-13 14:34:47.000000000 -0400
+--- a/Tools/LinuxScripts/launch-server
++++ b/Tools/LinuxScripts/launch-server
@@ -1,9 +1,14 @@
#! /bin/sh
#
@@ -32,13 +30,13 @@ Index: alien-arena/Tools/LinuxScripts/launch-server
if [ $COR_GAME ] ; then
aadir=$COR_GAME
else
--aadir=~/.codered
+-aadir=~/.local/share/cor-games
+aadir=$HOME/.local/share/cor-games
fi
### Set your AA Binary Name or command string ($1 is the argument
### passed to the script)
--aabin="crx-ded +set game arena +exec $1"
+-aabin="alienarena-ded +set game arena +exec $1"
+aabin="/usr/lib/games/alien-arena/alienarena-ded +set game arena +exec $1"
########## you probably don't need to change anything below here
diff --git a/debian/patches/minizip.patch b/debian/patches/minizip.patch
new file mode 100644
index 0000000..1c0537e
--- /dev/null
+++ b/debian/patches/minizip.patch
@@ -0,0 +1,76 @@
+--- a/source/client/cl_parse.c
++++ b/source/client/cl_parse.c
+@@ -25,7 +25,7 @@
+
+ #include "client.h"
+ #include "qcommon/qcommon.h"
+-#include "minizip/unzip.h"
++#include <minizip/unzip.h>
+
+ char *svc_strings[256] =
+ {
+--- a/source/Makefile.am
++++ b/source/Makefile.am
+@@ -61,7 +61,8 @@
+ $(OGG_CFLAGS) \
+ $(VORBIS_CFLAGS) \
+ $(FREETYPE2_CFLAGS) \
+- $(ZLIB_CFLAGS)
++ $(ZLIB_CFLAGS) \
++ $(MINIZIP_CFLAGS)
+
+
+ if USE_SYSTEM_LIBODE
+@@ -80,7 +81,8 @@
+ $(OGG_LIBS) \
+ $(VORBIS_LIBS) \
+ $(FREETYPE2_LIBS) \
+- $(ZLIB_LIBS)
++ $(ZLIB_LIBS) \
++ $(MINIZIP_LIBS)
+
+ libgame_a_CFLAGS = -fpic
+
+@@ -317,18 +319,7 @@
+ game/p_weapon.c \
+ game/q_shared.c \
+ game/q_shared.h \
+- qcommon/qfiles.h \
+- unix/minizip/crypt.h \
+- unix/minizip/ioapi.c \
+- unix/minizip/ioapi.o \
+- unix/minizip/miniunz.c \
+- unix/minizip/minizip.c \
+- unix/minizip/mztools.c \
+- unix/minizip/mztools.h \
+- unix/minizip/unzip.c \
+- unix/minizip/unzip.h \
+- unix/minizip/zip.c \
+- unix/minizip/zip.h
++ qcommon/qfiles.h
+
+ if !USE_SYSTEM_LIBODE
+ #
+--- a/configure.ac
++++ b/configure.ac
+@@ -360,6 +360,11 @@
+ AC_MSG_ERROR([required FreeType2 library not found])
+ ])
+
++dnl ---- minizip (client)
++PKG_CHECK_MODULES([MINIZIP],[minizip],,[
++ AC_MSG_ERROR([required minizip library not found])
++])
++
+ dnl
+ dnl if option to use system libode, rather than integrated ODE, is selected
+ dnl use pkg-config to get cflags and libs. do not default to
+@@ -601,5 +606,8 @@
+ AS_ECHO(["ZLIB:"])
+ AS_ECHO([" cflags: ${ZLIB_CFLAGS}"])
+ AS_ECHO([" libs: ${ZLIB_LIBS}"])
++ AS_ECHO(["MINIZIP:"])
++ AS_ECHO([" cflags: ${MINIZIP_CFLAGS}"])
++ AS_ECHO([" libs: ${MINIZIP_LIBS}"])
+ AS_ECHO()
+ ])
diff --git a/debian/patches/odeconfig.patch b/debian/patches/odeconfig.patch
deleted file mode 100644
index 1d0353b..0000000
--- a/debian/patches/odeconfig.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-description: Fix odeconfig.h for build on other architectures
-author: Raoul de Raadt <raoulderaadt at tiscali.nl>
-
---- a/source/unix/ode/odeconfig.h
-+++ b/source/unix/ode/odeconfig.h
-@@ -80,8 +80,12 @@
- #endif // #if !defined(__GNUC__)
-
-
--/* Well-defined common data types...need to define for 64 bit systems */
--#if defined(__aarch64__)
-+/* Well-defined common data types...need to be defined for 64 bit systems */
-+#if defined(__aarch64__) || defined(__alpha__) || defined(__ppc64__) \
-+ || defined(__s390__) || defined(__s390x__) || defined(__zarch__) \
-+ || defined(__mips__) || defined(__powerpc64__) || defined(__riscv) \
-+ || defined(__loongarch64) \
-+ || (defined(__sparc__) && defined(__arch64__))
- #include <stdint.h>
- typedef int64_t dint64;
- typedef uint64_t duint64;
diff --git a/debian/patches/series b/debian/patches/series
index c716ac7..9d5cc95 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,7 +2,6 @@ launch-server_tool_debianization.patch
rcon_tool_debianization.patch
no-data.patch
no-arena.patch
-kill-runaway-crx-ded.patch
-odeconfig.patch
-irc.patch
-http11.patch
+#irc.patch
+gcc14.patch
+minizip.patch
diff --git a/debian/rules b/debian/rules
index 51cd2b0..c4173ca 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,10 +5,10 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all
export DEB_CFLAGS_MAINT_APPEND = -fcommon
%:
- dh ${@}
+ dh $@
override_dh_clean:
- dh_clean -- aclocal.m4 config.log configure game_data.am Makefile.in
+ dh_clean -- aclocal.m4 config.log configure Makefile.in source/Makefile.in
rm -rf config
override_dh_missing:
More information about the Pkg-games-devel
mailing list