From f74e861729702be27ab841573ce6ae1d7a9a7f14 Mon Sep 17 00:00:00 2001 From: Dave Hibberd Date: Tue, 24 Dec 2024 15:35:54 +0000 Subject: [PATCH] Changes made in prep for .74 --- debian/changelog | 2 +- debian/control | 3 +- debian/patches/build-fix.patch | 145 +++++++++++++-------------------- debian/rules | 2 +- 4 files changed, 59 insertions(+), 93 deletions(-) diff --git a/debian/changelog b/debian/changelog index 5b6f49c..137ddd8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,7 +3,7 @@ qtsoundmodem (0.0.0.73~rc1-1) UNRELEASED; urgency=medium * Upstream import * Patches refreshed - -- hibby Tue, 29 Oct 2024 22:45:40 +0000 + -- Dave Hibberd Tue, 29 Oct 2024 22:45:40 +0000 qtsoundmodem (0.0.0.72.1-1~hibbian+1) bookworm-hibbian-unstable; urgency=medium diff --git a/debian/control b/debian/control index b066d8f..8bb485f 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,8 @@ Standards-Version: 4.6.2.0 Vcs-Browser: Vcs-Git: Homepage: https://www.cantab.net/users/john.wiseman/Documents/QtSoundModem.html -Build-Depends: debhelper-compat (= 13), qtbase5-dev, qt5-qmake, libqt5serialport5-dev, libfftw3-dev, libpulse-dev, libasound2-dev, extra-xdg-menus +Build-Depends: debhelper-compat (= 13) +Build-Depends-Arch: qtbase5-dev, qt5-qmake, libqt5serialport5-dev, libfftw3-dev, libpulse-dev, libasound2-dev, extra-xdg-menus Rules-Requires-Root: no Package: qtsoundmodem diff --git a/debian/patches/build-fix.patch b/debian/patches/build-fix.patch index 2caf772..f74f4b0 100644 --- a/debian/patches/build-fix.patch +++ b/debian/patches/build-fix.patch @@ -11,97 +11,17 @@ --- a/ax25.c +++ b/ax25.c -@@ -1758,7 +1758,7 @@ - +@@ -1757,8 +1757,8 @@ + } +- -get_monitor_path(Byte * path, char * mycall, char * corrcall, char * digi) ++// Hibby - as this returns nothing, assign it type void. +void get_monitor_path(Byte * path, char * mycall, char * corrcall, char * digi) { Byte * digiptr = digi; ---- a/ax25_l2.c -+++ b/ax25_l2.c -@@ -374,7 +374,7 @@ - void delete_I_FRM_port(TAX25Port * AX25Sess) - { - string * frame; -- string path = { 0 }; -+ Byte path[80]; - string data= { 0 }; - - Byte pid, nr, ns, f_type, f_id, rpt, cr, pf; -@@ -386,7 +386,7 @@ - optimize = TRUE; - frame = Strings(&AX25Sess->frame_buf, i); - -- decode_frame(frame->Data, frame->Length, &path, &data, &pid, &nr, &ns, &f_type, &f_id, &rpt, &pf, &cr); -+ decode_frame(frame->Data, frame->Length, path, &data, &pid, &nr, &ns, &f_type, &f_id, &rpt, &pf, &cr); - - if (f_id == I_I) - { -@@ -916,7 +916,7 @@ - - while (i != AX25Sess->hi_vs) - { -- i = (i++) & 7; -+ i = (i + 1) & 7; - need_frame[index++] = i + '0'; - if (index > 10) - { ---- a/UZ7HOStuff.h -+++ b/UZ7HOStuff.h -@@ -1096,6 +1096,20 @@ - BOOL ConvToAX25(char * callsign, unsigned char * ax25call); - void Debugprintf(const char * format, ...); - -+// Hibby's collection for GCC14 and Hardening -+void closeTraceLog(); -+void get_monitor_path(Byte * path, char * mycall, char * corrcall, char * digi); -+void decode_frame(Byte * frame, int len, Byte * path, string * data, Byte * pid, Byte * nr, Byte * ns, Byte * f_type, Byte * f_id, Byte * rpt, Byte * pf, Byte * cr); -+void Demodulator(int snd_ch, int rcvr_nr, float * src_buf, int last, int xcenter); -+void sendSamplestoUDP(short * Samples, int nSamples, int Port); -+void RSIDProcessSamples(short * Samples, int nSamples); -+void ARDOPProcessNewSamples(int chan, short * Samples, int nSamples); -+void ProcessRXFrames(int snd_ch); -+void doWaterfall(int snd_ch); -+void displayWaterfall(); -+void timer_event(); -+void CheckPSKWindows(); -+ - double pila(double x); - - void AGW_Raw_monitor(int snd_ch, string * data); -@@ -1190,4 +1204,4 @@ - - #ifdef __cplusplus - } --#endif -\ No newline at end of file -+#endif ---- a/SMMain.c -+++ b/SMMain.c -@@ -223,8 +223,9 @@ - if (using48000) - { - // Need to upsample to 48K. Try just duplicating sample -- -- uint32_t * ptr = &DMABuffer[2 * Number]; -+ // split init and initialisation for compiler cleanliness -+ uint32_t * ptr; -+ ptr = (uint32_t *)&DMABuffer[2 * Number]; - - *(&ptr[1]) = *(ptr); - *(&ptr[2]) = *(ptr); -@@ -388,7 +389,7 @@ - #endif - - extern int blnBusyStatus; --BusyDet = 5; -+int BusyDet = 5; - - #define PLOTWATERFALL - --- a/sm_main.c +++ b/sm_main.c @@ -796,7 +796,8 @@ @@ -116,15 +36,60 @@ for (snd_ch = 0; snd_ch < 4; snd_ch++) --- a/il2p.c +++ b/il2p.c -@@ -394,6 +394,11 @@ +@@ -394,6 +394,8 @@ typedef enum cmdres_e { cr_00 = 2, cr_cmd = 1, cr_res = 0, cr_11 = 3 } cmdres_t; -+// Hibby: Headers for GCC14 -+ -+int set_addrs(packet_t pp, char addrs, int num_addr, cmdres_t cr); -+static inline int ax25_get_control_offset(packet_t this_p); -+static inline int ax25_get_num_control(packet_t this_p); ++// G8BPQ update for set_addrs ++int set_addrs(packet_t pp, char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_addr, cmdres_t cr); extern packet_t ax25_new(void); +--- a/ax25_l2.c ++++ b/ax25_l2.c +@@ -374,7 +374,9 @@ + void delete_I_FRM_port(TAX25Port * AX25Sess) + { + string * frame; +- string path = { 0 }; ++ //Hibby - Attempting to solve this incompatible type error, see notes ++ ++ Byte path[80]; + string data= { 0 }; + + Byte pid, nr, ns, f_type, f_id, rpt, cr, pf; +@@ -385,8 +387,9 @@ + { + optimize = TRUE; + frame = Strings(&AX25Sess->frame_buf, i); +- +- decode_frame(frame->Data, frame->Length, &path, &data, &pid, &nr, &ns, &f_type, &f_id, &rpt, &pf, &cr); ++ // Hibby - this alignes decode_frame with other uses in this ++ // file ++ decode_frame(frame->Data, frame->Length, path, &data, &pid, &nr, &ns, &f_type, &f_id, &rpt, &pf, &cr); + + if (f_id == I_I) + { +--- a/SMMain.c ++++ b/SMMain.c +@@ -223,8 +223,8 @@ + if (using48000) + { + // Need to upsample to 48K. Try just duplicating sample +- +- uint32_t * ptr = &DMABuffer[2 * Number]; ++ // Hibby - explicitly cast short int to uint32_t ++ uint32_t * ptr = (uint32_t *)&DMABuffer[2 * Number]; + + *(&ptr[1]) = *(ptr); + *(&ptr[2]) = *(ptr); +@@ -388,7 +388,8 @@ + #endif + + extern int blnBusyStatus; +-BusyDet = 5; ++// Hibby - detail explicitly as int ++int BusyDet = 5; + + #define PLOTWATERFALL + diff --git a/debian/rules b/debian/rules index 384f60f..28ec5ea 100755 --- a/debian/rules +++ b/debian/rules @@ -1,7 +1,7 @@ #!/usr/bin/make -f export QT_SELECT=5 -export DEB_BUILD_MAINT_OPTIONS=hardening=+all,qa=-bug-implicit-func +export DEB_BUILD_MAINT_OPTIONS=hardening=-all qa=-bug-implicit-func %: dh $@