Control: tags 1075116 + patch Control: tags 1075116 + pending Dear maintainer,
I've prepared an NMU for knxd (versioned as 0.14.54.1+nmu1) and uploaded it to DELAYED/5. Please feel free to tell me if I should delay it longer. -- Regards Sudip diff -Nru knxd-0.14.54.1/debian/changelog knxd-0.14.54.1+nmu1/debian/changelog --- knxd-0.14.54.1/debian/changelog 2022-10-25 13:28:34.000000000 +0100 +++ knxd-0.14.54.1+nmu1/debian/changelog 2024-12-16 16:49:13.000000000 +0000 @@ -1,3 +1,13 @@ +knxd (0.14.54.1+nmu1) unstable; urgency=medium + + * Non-maintainer upload. + * Add upstream changes to fix FTBFS with gcc-14 and libfmt. (Closes: #1075116) + - https://github.com/knxd/knxd/commit/797283251470786bffd6586571407337da899d30 + - https://github.com/knxd/knxd/commit/a480b6669c7edb67c1a8bbc3ebbe21e27eb80543 + * Convert a comment in src/client/go/def.def. + + -- Sudip Mukherjee <sudipm.mukher...@gmail.com> Mon, 16 Dec 2024 16:49:13 +0000 + knxd (0.14.54.1) unstable; urgency=medium * Merge. Closes: #1004310 diff -Nru knxd-0.14.54.1/src/backend/fpace.cpp knxd-0.14.54.1+nmu1/src/backend/fpace.cpp --- knxd-0.14.54.1/src/backend/fpace.cpp 2021-01-02 10:22:00.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/backend/fpace.cpp 2024-12-16 16:44:11.000000000 +0000 @@ -19,6 +19,9 @@ #include "fpace.h" +/* add formatter for fmt >= 10.0.0 */ +int format_as(PSTATE t) { return t; } + PaceFilter::PaceFilter (const LinkConnectPtr_& c, IniSectionPtr& s) : Filter(c,s) { last_len=0; diff -Nru knxd-0.14.54.1/src/backend/fqueue.cpp knxd-0.14.54.1+nmu1/src/backend/fqueue.cpp --- knxd-0.14.54.1/src/backend/fqueue.cpp 2020-03-18 08:40:46.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/backend/fqueue.cpp 2024-12-16 16:44:11.000000000 +0000 @@ -19,6 +19,9 @@ #include "fqueue.h" +/* add formatter for fmt >= 10.0.0 */ +int format_as(QSTATE t) { return t; } + QueueFilter::QueueFilter (const LinkConnectPtr_& c, IniSectionPtr& s) : Filter(c,s) { trigger.set<QueueFilter, &QueueFilter::trigger_cb>(this); diff -Nru knxd-0.14.54.1/src/backend/tpuart.cpp knxd-0.14.54.1+nmu1/src/backend/tpuart.cpp --- knxd-0.14.54.1/src/backend/tpuart.cpp 2021-04-14 12:47:58.000000000 +0100 +++ knxd-0.14.54.1+nmu1/src/backend/tpuart.cpp 2024-12-16 16:44:11.000000000 +0000 @@ -31,6 +31,9 @@ #include "log.h" #include "cm_tp1.h" +/* add formatter for fmt >= 10.0.0 */ +int format_as(LPDU_Type t) { return t; } + class TPUARTserial : public LLserial { public: diff -Nru knxd-0.14.54.1/src/client/go/def.def knxd-0.14.54.1+nmu1/src/client/go/def.def --- knxd-0.14.54.1/src/client/go/def.def 2018-04-23 12:45:20.000000000 +0100 +++ knxd-0.14.54.1+nmu1/src/client/go/def.def 2024-12-16 16:44:11.000000000 +0000 @@ -121,7 +121,7 @@ #define EIBC_INIT_SEND(length) \ printf(" ibuf := make([]byte,%d);\n", length); \ - printf(" _ = ibuf\n"); // dirty trick as sometime this macro is called unnecessarily + printf(" _ = ibuf\n"); /* dirty trick as sometime this macro is called unnecessarily */ #define EIBC_SEND_BUF(name) EIBC_SEND_BUF_LEN (name, 0) diff -Nru knxd-0.14.54.1/src/examples/vbusmonitor1time.c knxd-0.14.54.1+nmu1/src/examples/vbusmonitor1time.c --- knxd-0.14.54.1/src/examples/vbusmonitor1time.c 2020-03-06 14:05:31.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/examples/vbusmonitor1time.c 2024-12-16 16:44:11.000000000 +0000 @@ -20,13 +20,13 @@ #include "common.h" #include <time.h> #ifdef HAVE_SYS_TIME_H -#include <sys/time.h> // for gettimeofday +#include <sys/time.h> /* for gettimeofday */ #endif int main (int ac, char *ag[]) { -//MM hires-time + /* hires-time */ struct timeval tv; struct tm* ptm; char time_string[40]; @@ -40,7 +40,7 @@ milliseconds = tv.tv_usec / 1000; /* Print the formatted time, in seconds, followed by a decimal point and the milliseconds. */ printf ("%s.%03ld\n", time_string, milliseconds); -//MM end time + /* end time */ uint8_t buf[255]; int len; diff -Nru knxd-0.14.54.1/src/include/eibtypes.h knxd-0.14.54.1+nmu1/src/include/eibtypes.h --- knxd-0.14.54.1/src/include/eibtypes.h 2020-03-06 14:05:31.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/include/eibtypes.h 2024-12-16 16:44:11.000000000 +0000 @@ -87,6 +87,6 @@ #define EIB_CACHE_READ_NOWAIT 0x0075 #define EIB_CACHE_LAST_UPDATES 0x0076 #define EIB_CACHE_LAST_UPDATES_2 0x0077 -// like last_updates but 32bit counter +/* like last_updates, but 32bit counter */ #endif diff -Nru knxd-0.14.54.1/src/libserver/eibnetserver.cpp knxd-0.14.54.1+nmu1/src/libserver/eibnetserver.cpp --- knxd-0.14.54.1/src/libserver/eibnetserver.cpp 2022-01-03 12:20:10.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/libserver/eibnetserver.cpp 2024-12-16 16:44:11.000000000 +0000 @@ -35,6 +35,9 @@ #include "emi.h" +/* add formatter for fmt >= 10.0.0 */ +int format_as(ConnType t) { return t; } + EIBnetServer::EIBnetServer (BaseRouter& r, IniSectionPtr& s) : Server(r,s) , mcast(NULL) diff -Nru knxd-0.14.54.1/src/libserver/eibusb.cpp knxd-0.14.54.1+nmu1/src/libserver/eibusb.cpp --- knxd-0.14.54.1/src/libserver/eibusb.cpp 2020-03-27 07:28:30.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/libserver/eibusb.cpp 2024-12-16 16:44:11.000000000 +0000 @@ -24,6 +24,9 @@ #include "emi2.h" #include "usblowlevel.h" +/* add formatter for fmt >= 10.0.0 */ +int format_as(EMIVer t) { return t; } + USBConverterInterface::USBConverterInterface (LowLevelIface * p, IniSectionPtr& s) : LowLevelFilter(p,s) { diff -Nru knxd-0.14.54.1/src/libserver/emi_common.cpp knxd-0.14.54.1+nmu1/src/libserver/emi_common.cpp --- knxd-0.14.54.1/src/libserver/emi_common.cpp 2020-03-27 07:28:30.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/libserver/emi_common.cpp 2024-12-16 16:44:11.000000000 +0000 @@ -21,6 +21,9 @@ #include "emi.h" +/* add formatter for fmt >= 10.0.0 */ +int format_as(E_state t) { return t; } + EMIVer cfgEMIVersion(IniSectionPtr& s) { diff -Nru knxd-0.14.54.1/src/libserver/retry.cpp knxd-0.14.54.1+nmu1/src/libserver/retry.cpp --- knxd-0.14.54.1/src/libserver/retry.cpp 2020-03-27 07:28:30.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/libserver/retry.cpp 2024-12-16 16:44:11.000000000 +0000 @@ -19,6 +19,9 @@ #include "retry.h" +/* add formatter for fmt >= 10.0.0 */ +int format_as(RSTATE t) { return t; } + RetryFilter::RetryFilter (const LinkConnectPtr_& c, IniSectionPtr& s) : Filter(c,s) { trigger.set<RetryFilter, &RetryFilter::trigger_cb>(this); diff -Nru knxd-0.14.54.1/src/libserver/usblowlevel.cpp knxd-0.14.54.1+nmu1/src/libserver/usblowlevel.cpp --- knxd-0.14.54.1/src/libserver/usblowlevel.cpp 2021-01-02 10:22:00.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/libserver/usblowlevel.cpp 2024-12-16 16:44:11.000000000 +0000 @@ -28,6 +28,10 @@ #include "usb.h" +/* add formatter for fmt >= 10.0.0 */ +int format_as(UState t) { return t; } +int format_as(libusb_transfer_status t) { return t; } + USBEndpoint parseUSBEndpoint (IniSectionPtr s) { diff -Nru knxd-0.14.54.1/src/tools/eibread-cgi.c knxd-0.14.54.1+nmu1/src/tools/eibread-cgi.c --- knxd-0.14.54.1/src/tools/eibread-cgi.c 2021-03-16 18:52:28.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/tools/eibread-cgi.c 2024-12-16 16:44:11.000000000 +0000 @@ -39,12 +39,15 @@ int timeout = 300; int subscribedGA[UINT16 >>3]; int seenGA[UINT16 >>3]; -//int gaDPT[UINT16]; -//struct gaconfig_s { -// int ga; -// int dpt; -//}; +#if 0 +int gaDPT[UINT16]; + +struct gaconfig_s { + int ga; + int dpt; +}; +#endif @@ -77,7 +80,7 @@ char *contentlen; char *cgi_str; - // check METHOD + /* check METHOD */ if( NULL == request ) return NULL; else if( strcmp(request, "GET") == 0 ) @@ -99,7 +102,7 @@ else { size = (unsigned long) atoi(contentlen); - if(size <= 0 && size > MAX_POSTSIZE) //avoid insane + if(size > MAX_POSTSIZE) /* avoid insane */ return NULL; } buffer =(char *) malloc(size+1); @@ -167,7 +170,7 @@ char fname[] = "/etc/wiregate/eibga.conf"; FILE* fp; /*Declare file pointer variable*/ char buf[BUFSIZE], *tok; - //char *buf, *tok; + /* char *buf, *tok; */ int hg,mg,ga; int currentga=0,ptr; if ((fp = fopen(fname,"r")) == NULL) @@ -183,10 +186,12 @@ { currentga=((hg & 0x01f) << 11) | ((mg & 0x07) << 8) | ((ga & 0xff)); } -// else if (currentga && (ptr=strstr(tok,"DPTId")) ) -// { -// sscanf(tok,"%*s = %d",&gaDPT[currentga]); -// } +#if 0 + else if (currentga && (ptr=strstr(tok,"DPTId")) ) + { + sscanf(tok,"%*s = %d",&gaDPT[currentga]); + } +#endif } }/*until EOF*/ fclose(fp); @@ -194,7 +199,7 @@ #endif -// read parameters +/* read parameters */ void readParseCGI() { char *param,*nextp; @@ -253,10 +258,10 @@ subscribedGA[ga >> 3] |= 1<<(ga&7); } } - //FIXME: Session,filter? + /* FIXME: Session,filter? */ else { - //printf ("Unknown param %s\n",value); //debug + /* printf ("Unknown param %s\n",value); // debug */ } } } @@ -278,12 +283,11 @@ time_t tstart; char seen = 0; tstart = time(NULL); - //strcat(outbuf,"Content-Type: application/json\n\n"); - //printf("Content-Type: application/json\n\n"); - printf("Content-Type: text/plain\r\n\r\n"); //workaround for uhttpd + /* strcat(outbuf,"Content-Type: application/json\n\n"); */ + printf("Content-Type: text/plain\r\n\r\n"); /* workaround for uhttpd */ readParseCGI(); - //readConfig(); + /* readConfig(); */ if (*eiburl == NULL) *eiburl = "local:/run/knx"; @@ -296,16 +300,18 @@ memset(seenGA,0,sizeof(seenGA)); - if (lastpos==0) // initial read from the bus + if (lastpos==0) /* initial read from the bus */ { - for (i = 1; i < UINT16; i++) // skip all-zero GA + for (i = 1; i < UINT16; i++) /* skip all-zero GA */ { if ((subscribedGA[i>>3]&(1<<((i&7)))) || (subscribedGA[0] & 1)) { dest = i; len_gread = EIB_Cache_Read_Sync (con, dest, &src, sizeof (buf_gread), buf_gread, 0); - //printf("%d/%d/%d",(dest >> 11) & 0x1f, (dest >> 8) & 0x07, dest & 0xff); //debug - //printf(" %d len %d %c",dest,len_gread,buf_gread[1]); //debug +#if 0 /* debug */ + printf("%d/%d/%d",(dest >> 11) & 0x1f, (dest >> 8) & 0x07, dest & 0xff); + printf(" %d len %d %c",dest,len_gread,buf_gread[1]); +#endif if (len_gread >= 0) { if (buf_gread[1] & 0xC0) @@ -333,7 +339,7 @@ } else { - //printf ("read failed!\n"); + /* printf ("read failed!\n"); */ } } } @@ -348,14 +354,14 @@ for (i = 0; i < len; i += 2) { dest = (buf[i] << 8) | buf[i + 1]; - // and output only one if changed multiple times to save the planet + /* and output only one if changed multiple times to save the planet */ if (seenGA[dest>>3]&(1<<((dest&7)))) continue; seenGA[dest>>3] |= 1<<((dest&7)); if ((subscribedGA[dest>>3]&(1<<((dest&7)))) || (subscribedGA[0] & 1)) { - // read value from cache + /* read value from cache */ len_gread = EIB_Cache_Read (con, dest, &src, sizeof(buf_gread), buf_gread); if (len_gread != -1) { @@ -366,8 +372,10 @@ else seen=1; - //sprintf (tmpbuf,"%d,\"%s",dest, decodeDPT(buf_gread[j+2],gaDPT[dest])); - //sprintf (tmpbuf,"%d,\"YES %02X", dest, buf_gread[1] & 0x3F); +#if 0 + sprintf (tmpbuf,"%d,\"%s",dest, decodeDPT(buf_gread[j+2],gaDPT[dest])); + sprintf (tmpbuf,"%d,\"YES %02X", dest, buf_gread[1] & 0x3F); +#endif if (len_gread == 2) { outptr += snprintf (outptr,OPL, "\"%d/%d/%d\":\"%02X", (dest >> 11) & 0x1f, (dest >> 8) & 0x07, dest & 0xff, buf_gread[1] & 0x3F); @@ -379,7 +387,7 @@ { outptr += snprintf (outptr,OPL, "%02X", buf_gread[j+2]); } - //printHex (len_gread - 2, buf_gread + 2); + /* printHex (len_gread - 2, buf_gread + 2); */ } *outptr++ = '"'; } diff -Nru knxd-0.14.54.1/src/tools/eibwrite-cgi.c knxd-0.14.54.1+nmu1/src/tools/eibwrite-cgi.c --- knxd-0.14.54.1/src/tools/eibwrite-cgi.c 2020-03-06 14:05:31.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/tools/eibwrite-cgi.c 2024-12-16 16:44:11.000000000 +0000 @@ -52,7 +52,7 @@ char *contentlen; char *cgi_str; - // check METHOD + /* check METHOD */ if( NULL == request ) return NULL; else if( strcmp(request, "GET") == 0 ) @@ -74,7 +74,7 @@ else { size = (unsigned long) atoi(contentlen); - if(size <= 0 && size > MAX_POSTSIZE) //avoid insane + if(size <= 0 && size > MAX_POSTSIZE) /* avoid insane */ return NULL; } buffer =(char *) malloc(size+1); @@ -138,7 +138,7 @@ return 1; } -// read parameters +/* read parameters */ void readParseCGI() { char* params; @@ -200,7 +200,7 @@ } else { - //printf ("Unknown param %s\n",value); //debug + /* printf ("Unknown param %s\n",value); // debug */ } } @@ -248,7 +248,7 @@ buf[i+1] = j; len++; } - // only allow A_GroupValue_Write + /* only allow A_GroupValue_Write */ if ((buf[1] &0x80) != 0x80) cgidie ("Only A_GroupValue_Write allowed"); break; @@ -257,7 +257,7 @@ len=2; break; case 3: - // EIS2/DPT3 4bit dim + /* EIS2/DPT3 4bit dim */ buf[1] |= atoi(data) & 0x3f; len=2; break; @@ -283,7 +283,7 @@ i = sign | (exp << 11) | (mant & 0x07ff); buf[2] = i >> 8; buf[3] = i & 0xff; - //return $data >> 8, $data & 0xff; + /* return $data >> 8, $data & 0xff; */ len=4; break; case 16: @@ -298,10 +298,12 @@ len = EIBSendAPDU (con, len, buf); if (len == -1) cgidie ("Request failed"); - printf ("{'success':%d}\n",len-1); //don't confuse client with leading 0x00 + printf ("{'success':%d}\n",len-1); /*don't confuse client with leading 0x00 */ - //printf("size %d %d\n",sizeof(buf),strlen(buf)); - //printf("buf 0x%02X 0x%02X 0x%02X 0x%02X v:%s l:%d\n" ,buf[1],buf[2],buf[3],buf[4],data,strlen(data)); +#if 0 + printf("size %d %d\n",sizeof(buf),strlen(buf)); + printf("buf 0x%02X 0x%02X 0x%02X 0x%02X v:%s l:%d\n" ,buf[1],buf[2],buf[3],buf[4],data,strlen(data)); +#endif EIBClose (con); return 0; } diff -Nru knxd-0.14.54.1/src/tools/knxtool.c knxd-0.14.54.1+nmu1/src/tools/knxtool.c --- knxd-0.14.54.1/src/tools/knxtool.c 2021-12-06 10:25:46.000000000 +0000 +++ knxd-0.14.54.1+nmu1/src/tools/knxtool.c 2024-12-16 16:44:11.000000000 +0000 @@ -287,7 +287,7 @@ int m = d1 & 0x7ff; int ex = (d1 & 0x7800) >> 11; float temp = ((float) m * (1 << ex) / 100); - // printf ("d1=%d;m=%d;ex=%d;temp=%f\n", d1, m, ex, temp); + /* printf ("d1=%d;m=%d;ex=%d;temp=%f\n", d1, m, ex, temp); */ printf ("%2.1f", temp); } else @@ -1490,7 +1490,7 @@ } else if (strcmp (prog, "vbusmonitor1time") == 0) { - // hires-time + /* hires-time */ struct timeval tv; struct tm* ptm; char time_string[40];