From 821bde3145c24760e73b3d810486af02ccb334d0 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 23 Nov 2020 02:25:10 +0100 Subject: [PATCH 01/16] GitIgnore configure-test.docbuild* dirs --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b9f50c3c40..eee8eea8c2 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ Makefile.in /conf_nut_report_feature /conf??????/ /dir.??????/ +/configure-test*/ /cscope.* /depcomp /INSTALL From 24d27b1ea5c6099c75e0d0ec0a96ad1e759180cc Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 23 Nov 2020 03:51:38 +0100 Subject: [PATCH 02/16] m4/nut_report_feature.m4: report the compiler tools and flags ultimately applied to this build --- m4/nut_report_feature.m4 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/m4/nut_report_feature.m4 b/m4/nut_report_feature.m4 index f6f35b78dd..72667ba660 100644 --- a/m4/nut_report_feature.m4 +++ b/m4/nut_report_feature.m4 @@ -30,4 +30,13 @@ AC_DEFUN([NUT_REPORT_FEATURE], AC_DEFUN([NUT_PRINT_FEATURE_REPORT], [ cat conf_nut_report_feature + + echo "------------------" + echo "Compiler settings:" + printf 'CC \t:%s\n' "$CC" + printf 'CFLAGS \t:%s\n' "$CFLAGS" + printf 'CXX \t:%s\n' "$CXX" + printf 'CXXFLAGS\t:%s\n' "$CXXFLAGS" + printf 'CPP \t:%s\n' "$CPP" + printf 'CPPFLAGS\t:%s\n' "$CPPFLAGS" ]) From f66e7230718e44b96efc5dec1200e413d1e184b1 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Sun, 22 Nov 2020 04:39:58 +0100 Subject: [PATCH 03/16] include/timehead.h: satisfy pedantic macro parser (defined vs. used value) --- include/timehead.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/timehead.h b/include/timehead.h index e0756fa40f..aabcf2ad97 100644 --- a/include/timehead.h +++ b/include/timehead.h @@ -22,11 +22,11 @@ #ifndef NUT_TIMEHEAD_H_SEEN #define NUT_TIMEHEAD_H_SEEN 1 -#if TIME_WITH_SYS_TIME +#ifdef TIME_WITH_SYS_TIME # include # include #else -# if HAVE_SYS_TIME_H +# ifdef HAVE_SYS_TIME_H # include # else # include From f330d0841bf4311e5276ba98cf152402f8a4bc59 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Fri, 20 Nov 2020 19:20:12 +0100 Subject: [PATCH 04/16] common/common.c: cleaner macro processing for BUILD_64 --- common/common.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/common/common.c b/common/common.c index 84c5e39087..4a5b3b9907 100644 --- a/common/common.c +++ b/common/common.c @@ -41,6 +41,10 @@ const char *UPS_VERSION = NUT_VERSION_MACRO; #include "nut_stdint.h" #if UINTPTR_MAX == 0xffffffffffffffffULL # define BUILD_64 1 +#else +# ifdef BUILD_64 +# undef BUILD_64 +# endif #endif int nut_debug_level = 0; @@ -720,18 +724,18 @@ static const char * search_paths[] = { LIBDIR, "/usr"LIBDIR, "/usr/local"LIBDIR, -#if BUILD_64 +#ifdef BUILD_64 // Fall back to explicit preference of 64-bit paths as named on some OSes "/usr/lib/64", "/usr/lib64", #endif "/usr/lib", -#if BUILD_64 +#ifdef BUILD_64 "/lib/64", "/lib64", #endif "/lib", -#if BUILD_64 +#ifdef BUILD_64 "/usr/local/lib/64", "/usr/local/lib64", #endif From 42e57d6a76c58746c62ecca41de4a7651528a06a Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Fri, 20 Nov 2020 21:02:59 +0100 Subject: [PATCH 05/16] drivers/gamatronic.c: fix trailing whitespace --- drivers/gamatronic.c | 110 +++++++++++++++++++++---------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/drivers/gamatronic.c b/drivers/gamatronic.c index d1fe7de624..8d845a2f0a 100644 --- a/drivers/gamatronic.c +++ b/drivers/gamatronic.c @@ -2,7 +2,7 @@ * * SEC UPS Driver ported to the new NUT API for Gamatronic UPS Usage. * - * Copyright (C) + * Copyright (C) * 2001 John Marley * 2002 Jules Taplin * 2002 Eric Lawson @@ -24,9 +24,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ - + #include "main.h" -#include "serial.h" +#include "serial.h" #include "gamatronic.h" #define DRIVER_NAME "Gamatronic UPS driver" @@ -45,9 +45,9 @@ upsdrv_info_t upsdrv_info = { { NULL } }; -#define ENDCHAR '\r' -#define IGNCHARS "" -#define SER_WAIT_SEC 1 /* allow 3.0 sec for ser_get calls */ +#define ENDCHAR '\r' +#define IGNCHARS "" +#define SER_WAIT_SEC 1 /* allow 3.0 sec for ser_get calls */ #define SER_WAIT_USEC 0 int sec_upsrecv (char *buf) @@ -55,7 +55,7 @@ int sec_upsrecv (char *buf) char lenbuf[4]; int ret; - + ser_get_line(upsfd, buf, 140, ENDCHAR, IGNCHARS,SER_WAIT_SEC, SER_WAIT_USEC); if (buf[0] == SEC_MSG_STARTCHAR){ @@ -75,8 +75,8 @@ int sec_upsrecv (char *buf) default: return(-2); } - } - else + } + else { return (-2); } } @@ -95,10 +95,10 @@ int sec_cmd(const char mode, const char *command, char *msgbuf, int *buflen) else { snprintf(msg, sizeof(msg), "%c%c003%s", SEC_MSG_STARTCHAR, mode, command); - } + } upsdebugx(1, "PC-->UPS: \"%s\"",msg); ret = ser_send(upsfd, "%s", msg); - + upsdebugx(1, " send returned: %d",ret); if (ret == -1) return -1; @@ -137,39 +137,39 @@ void addquery(const char *cmd, int field, int varnum, int pollflag) } void sec_setinfo(int varnum, char *value) -{ +{ if (*sec_varlist[varnum].setcmd){/*Not empty*/ - + if (sec_varlist[varnum].flags == FLAG_STRING) { dstate_setinfo(sec_varlist[varnum].setcmd,"%s", value); } else if (sec_varlist[varnum].unit == 1) { dstate_setinfo(sec_varlist[varnum].setcmd,"%s", value); } - + else if (sec_varlist[varnum].flags == FLAG_MULTI) { - if (atoi(value) < 0) { + if (atoi(value) < 0) { dstate_setinfo(sec_varlist[varnum].setcmd,"0"); } else {dstate_setinfo(sec_varlist[varnum].setcmd,"%d", atoi(value) * sec_varlist[varnum].unit); } } - else { + else { dstate_setinfo(sec_varlist[varnum].setcmd,"%.1f", atof(value) / sec_varlist[varnum].unit);} - + } - + } - - - + + + void update_pseudovars( void ) { - + status_init(); - + if(strcmp(sec_varlist[9].value,"1")== 0) { status_set("OFF"); } @@ -194,22 +194,22 @@ void update_pseudovars( void ) if(strcmp(sec_varlist[22].value,"1")== 0) { status_set("LB"); } - + if(strcmp(sec_varlist[19].value,"2")== 0) { status_set("RB"); } - + status_commit(); } void sec_poll ( int pollflag ) { - + int msglen,f,q; char retbuf[140],*n,*r; - - + + for (q=0; q 0) { - + if (strcmp(sec_varlist[sqv(q,f)].value, r) != 0 ) { - snprintf(sec_varlist[sqv(q,f)].value, + snprintf(sec_varlist[sqv(q,f)].value, sizeof(sec_varlist[sqv(q,f)].value), "%s", r); - + sec_setinfo(sqv(q,f), r); } - + /* If SEC VAR is alarm and its on, add it to the alarm property */ - + if (sec_varlist[sqv(q,f)].flags & FLAG_ALARM && strcmp(r,"1")== 0) { alarm_set(sec_varlist[sqv(q,f)].name); } - + } - - + + if (n == NULL) break; r = n+1; } @@ -249,7 +249,7 @@ void upsdrv_initinfo(void) { int msglen, v; char *a,*p,avail_list[300]; - + /* find out which variables/commands this UPS supports */ msglen = 0; sec_cmd(SEC_POLLCMD, SEC_AVAILP1, avail_list, &msglen); @@ -258,39 +258,39 @@ void upsdrv_initinfo(void) msglen = 0; sec_cmd(SEC_POLLCMD, SEC_AVAILP2, p, &msglen); *(p+msglen) = '\0'; - - + + if (strlen(avail_list) == 0){ fatalx(EXIT_FAILURE, "No available variables found!");} a = avail_list; - while ((p = strtok(a, ",")) != NULL) { + while ((p = strtok(a, ",")) != NULL) { a = NULL; v = atoi(p); /* don't bother adding a write-only variable */ if (sec_varlist[v].flags == FLAG_WONLY) continue; addquery(sec_varlist[v].cmd, sec_varlist[v].field, v, sec_varlist[v].poll); - } - + } + /* poll one time values */ - + sec_poll(FLAG_POLLONCE); - + printf("UPS: %s %s\n", dstate_getinfo("ups.mfr"), dstate_getinfo("ups.model")); - - + + } void upsdrv_updateinfo(void) { - - + + alarm_init(); /* poll status values values */ sec_poll(FLAG_POLL); alarm_commit(); update_pseudovars(); dstate_dataok(); - + } void upsdrv_shutdown(void) @@ -342,13 +342,13 @@ void setup_serial(const char *port) { char temp[140]; int i,ret; - + /* Detect the ups baudrate */ - - + + for (i=0; i<5; i++) { - + ser_set_speed(upsfd, device_path,baud_rates[i].rate); ret = ser_send(upsfd, "^P003MAN"); ret = sec_upsrecv(temp); @@ -372,7 +372,7 @@ void upsdrv_initups(void) setup_serial(device_path); /* upsfd = ser_open(device_path); */ /* ser_set_speed(upsfd, device_path, B1200); */ - + /* probe ups type */ /* to get variables and flags from the command line, use this: @@ -407,5 +407,5 @@ void upsdrv_initups(void) void upsdrv_cleanup(void) { /* free(dynamic_mem); */ - ser_close(upsfd, device_path); + ser_close(upsfd, device_path); } From f80ce78ed8b15ee3c59ba1b9f0ec5de0a199fbc5 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Fri, 20 Nov 2020 21:12:22 +0100 Subject: [PATCH 06/16] drivers/gamatronic.c: fix indentation and scope whitespace --- drivers/gamatronic.c | 274 +++++++++++++++++++++---------------------- 1 file changed, 135 insertions(+), 139 deletions(-) diff --git a/drivers/gamatronic.c b/drivers/gamatronic.c index 8d845a2f0a..09763dff88 100644 --- a/drivers/gamatronic.c +++ b/drivers/gamatronic.c @@ -2,6 +2,8 @@ * * SEC UPS Driver ported to the new NUT API for Gamatronic UPS Usage. * + * TODO: Replace lots of printf() by upslogx() or upsdebugx() below! + * * Copyright (C) * 2001 John Marley * 2002 Jules Taplin @@ -52,88 +54,88 @@ upsdrv_info_t upsdrv_info = { int sec_upsrecv (char *buf) { - - char lenbuf[4]; - int ret; - - - ser_get_line(upsfd, buf, 140, ENDCHAR, IGNCHARS,SER_WAIT_SEC, SER_WAIT_USEC); - if (buf[0] == SEC_MSG_STARTCHAR){ - switch (buf[1]){ - case SEC_NAK: - return(-1); - case SEC_ACK: - return(0); - case SEC_DATAMSG: - strncpy(lenbuf,buf+2,3); - lenbuf[3] = '\0'; - ret = atoi(lenbuf); - if (ret > 0){ - strcpy(buf,buf+5); - return(ret);} - else return (-2); - default: - return(-2); + char lenbuf[4]; + int ret; + + ser_get_line(upsfd, buf, 140, ENDCHAR, IGNCHARS,SER_WAIT_SEC, SER_WAIT_USEC); + if (buf[0] == SEC_MSG_STARTCHAR) { + switch (buf[1]) { + case SEC_NAK: + return(-1); + case SEC_ACK: + return(0); + case SEC_DATAMSG: + strncpy(lenbuf, buf+2, 3); + lenbuf[3] = '\0'; + ret = atoi(lenbuf); + if (ret > 0) { + strcpy(buf,buf+5); + return(ret); + } + else return (-2); + default: + return(-2); } } else - { return (-2); } + return (-2); } int sec_cmd(const char mode, const char *command, char *msgbuf, int *buflen) { - char msg[140]; - int ret; - - memset(msg, 0, sizeof(msg)); + char msg[140]; + int ret; - /* create the message string */ - if (*buflen > 0) { - snprintf(msg, sizeof(msg), "%c%c%03d%s%s", SEC_MSG_STARTCHAR, - mode, (*buflen)+3, command, msgbuf); - } - else { - snprintf(msg, sizeof(msg), "%c%c003%s", SEC_MSG_STARTCHAR, - mode, command); - } - upsdebugx(1, "PC-->UPS: \"%s\"",msg); - ret = ser_send(upsfd, "%s", msg); + memset(msg, 0, sizeof(msg)); - upsdebugx(1, " send returned: %d",ret); + /* create the message string */ + if (*buflen > 0) { + snprintf(msg, sizeof(msg), "%c%c%03d%s%s", SEC_MSG_STARTCHAR, + mode, (*buflen)+3, command, msgbuf); + } + else { + snprintf(msg, sizeof(msg), "%c%c003%s", SEC_MSG_STARTCHAR, + mode, command); + } + upsdebugx(1, "PC-->UPS: \"%s\"",msg); + ret = ser_send(upsfd, "%s", msg); - if (ret == -1) return -1; + upsdebugx(1, " send returned: %d",ret); - ret = sec_upsrecv(msg); + if (ret == -1) return -1; + ret = sec_upsrecv(msg); - if (ret < 0) return -1; + if (ret < 0) return -1; - strncpy(msgbuf, msg, ret); - upsdebugx(1, "UPS<--PC: \"%s\"",msg); + strncpy(msgbuf, msg, ret); + upsdebugx(1, "UPS<--PC: \"%s\"",msg); -/* *(msgbuf+ret) = '\0';*/ +/* + *(msgbuf+ret) = '\0'; +*/ - *buflen = ret; - return ret; + *buflen = ret; + return ret; } void addquery(const char *cmd, int field, int varnum, int pollflag) { - int q; - - for (q=0; q 0) { + for (q=0; q 0) { - snprintf(sec_varlist[sqv(q,f)].value, - sizeof(sec_varlist[sqv(q,f)].value), "%s", r); + if (strcmp(sec_varlist[sqv(q,f)].value, r) != 0) { - sec_setinfo(sqv(q,f), r); - } + snprintf(sec_varlist[sqv(q,f)].value, + sizeof(sec_varlist[sqv(q,f)].value), "%s", r); - /* If SEC VAR is alarm and its on, add it to the alarm property */ + sec_setinfo(sqv(q,f), r); + } - if (sec_varlist[sqv(q,f)].flags & FLAG_ALARM && strcmp(r,"1")== 0) { - alarm_set(sec_varlist[sqv(q,f)].name); } + /* If SEC VAR is alarm and its on, add it to the alarm property */ - } + if (sec_varlist[sqv(q,f)].flags & FLAG_ALARM && strcmp(r,"1")== 0) { + alarm_set(sec_varlist[sqv(q,f)].name); + } + } - if (n == NULL) break; - r = n+1; - } + + if (n == NULL) break; + r = n+1; + } } - } +} void upsdrv_initinfo(void) { - int msglen, v; - char *a,*p,avail_list[300]; - - /* find out which variables/commands this UPS supports */ - msglen = 0; - sec_cmd(SEC_POLLCMD, SEC_AVAILP1, avail_list, &msglen); - p = avail_list + msglen; - if (p != avail_list) *p++ = ','; - msglen = 0; - sec_cmd(SEC_POLLCMD, SEC_AVAILP2, p, &msglen); - *(p+msglen) = '\0'; + int msglen, v; + char *a,*p,avail_list[300]; + /* find out which variables/commands this UPS supports */ + msglen = 0; + sec_cmd(SEC_POLLCMD, SEC_AVAILP1, avail_list, &msglen); + p = avail_list + msglen; + if (p != avail_list) *p++ = ','; + msglen = 0; + sec_cmd(SEC_POLLCMD, SEC_AVAILP2, p, &msglen); + *(p+msglen) = '\0'; - if (strlen(avail_list) == 0){ - fatalx(EXIT_FAILURE, "No available variables found!");} - a = avail_list; - while ((p = strtok(a, ",")) != NULL) { - a = NULL; - v = atoi(p); - /* don't bother adding a write-only variable */ - if (sec_varlist[v].flags == FLAG_WONLY) continue; - addquery(sec_varlist[v].cmd, sec_varlist[v].field, v, sec_varlist[v].poll); - } - - /* poll one time values */ - - sec_poll(FLAG_POLLONCE); - printf("UPS: %s %s\n", dstate_getinfo("ups.mfr"), dstate_getinfo("ups.model")); + if (strlen(avail_list) == 0) { + fatalx(EXIT_FAILURE, "No available variables found!"); + } + a = avail_list; + while ((p = strtok(a, ",")) != NULL) { + a = NULL; + v = atoi(p); + /* don't bother adding a write-only variable */ + if (sec_varlist[v].flags == FLAG_WONLY) continue; + addquery(sec_varlist[v].cmd, sec_varlist[v].field, v, sec_varlist[v].poll); + } + /* poll one time values */ + sec_poll(FLAG_POLLONCE); + printf("UPS: %s %s\n", dstate_getinfo("ups.mfr"), dstate_getinfo("ups.model")); } void upsdrv_updateinfo(void) @@ -340,36 +342,32 @@ void upsdrv_makevartable(void) void setup_serial(const char *port) { - char temp[140]; - int i,ret; - - - /* Detect the ups baudrate */ - - - for (i=0; i<5; i++) { - - ser_set_speed(upsfd, device_path,baud_rates[i].rate); - ret = ser_send(upsfd, "^P003MAN"); - ret = sec_upsrecv(temp); - if (ret >= -1) break; + char temp[140]; + int i,ret; + + /* Detect the ups baudrate */ + for (i=0; i<5; i++) { + ser_set_speed(upsfd, device_path,baud_rates[i].rate); + ret = ser_send(upsfd, "^P003MAN"); + ret = sec_upsrecv(temp); + if (ret >= -1) break; + } - } - if (i == 5) { - printf("Can't talk to UPS on port %s!\n",port); - printf("Check the cabling and portname and try again\n"); - printf("Please note that this driver only support UPS Models with SEC Protocol\n"); - ser_close(upsfd, device_path); - exit (1); - } - else - printf("Connected to UPS on %s baudrate: %d\n",port, baud_rates[i].name); + if (i == 5) { + printf("Can't talk to UPS on port %s!\n",port); + printf("Check the cabling and portname and try again\n"); + printf("Please note that this driver only support UPS Models with SEC Protocol\n"); + ser_close(upsfd, device_path); + exit (1); + } + else + printf("Connected to UPS on %s baudrate: %d\n",port, baud_rates[i].name); } void upsdrv_initups(void) { - upsfd = ser_open(device_path); - setup_serial(device_path); + upsfd = ser_open(device_path); + setup_serial(device_path); /* upsfd = ser_open(device_path); */ /* ser_set_speed(upsfd, device_path, B1200); */ @@ -400,12 +398,10 @@ void upsdrv_initups(void) /* the upsh handlers can't be done here, as they get initialized * shortly after upsdrv_initups returns to main. */ - - } void upsdrv_cleanup(void) { /* free(dynamic_mem); */ - ser_close(upsfd, device_path); + ser_close(upsfd, device_path); } From c836dcb2bd141034afa6d25c535be4b253b23bf4 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Sun, 22 Nov 2020 05:15:58 +0100 Subject: [PATCH 07/16] drivers/gamatronic.c: rectify whitespaces (indentations and blank lines) --- drivers/gamatronic.c | 58 +++++++++++++++----------------------------- 1 file changed, 20 insertions(+), 38 deletions(-) diff --git a/drivers/gamatronic.c b/drivers/gamatronic.c index 09763dff88..3d92950721 100644 --- a/drivers/gamatronic.c +++ b/drivers/gamatronic.c @@ -140,70 +140,61 @@ void addquery(const char *cmd, int field, int varnum, int pollflag) void sec_setinfo(int varnum, char *value) { - - if (*sec_varlist[varnum].setcmd){/*Not empty*/ - + if (*sec_varlist[varnum].setcmd) + { /*Not empty*/ if (sec_varlist[varnum].flags == FLAG_STRING) { dstate_setinfo(sec_varlist[varnum].setcmd,"%s", value); } else if (sec_varlist[varnum].unit == 1) { dstate_setinfo(sec_varlist[varnum].setcmd,"%s", value); } - else if (sec_varlist[varnum].flags == FLAG_MULTI) { if (atoi(value) < 0) { - dstate_setinfo(sec_varlist[varnum].setcmd,"0"); - } - else - {dstate_setinfo(sec_varlist[varnum].setcmd,"%d", atoi(value) * sec_varlist[varnum].unit); + dstate_setinfo(sec_varlist[varnum].setcmd,"0"); } + else { + dstate_setinfo(sec_varlist[varnum].setcmd,"%d", atoi(value) * sec_varlist[varnum].unit); } + } else { - dstate_setinfo(sec_varlist[varnum].setcmd,"%.1f", atof(value) / sec_varlist[varnum].unit);} - + dstate_setinfo(sec_varlist[varnum].setcmd,"%.1f", atof(value) / sec_varlist[varnum].unit); } - + } } - - void update_pseudovars( void ) { - status_init(); if(strcmp(sec_varlist[9].value,"1")== 0) { - status_set("OFF"); + status_set("OFF"); } if(strcmp(sec_varlist[76].value,"0")== 0) { - status_set("OL"); + status_set("OL"); } if(strcmp(sec_varlist[76].value,"1")== 0) { - status_set("OB"); + status_set("OB"); } if(strcmp(sec_varlist[76].value,"2")== 0) { - status_set("BYPASS"); + status_set("BYPASS"); } if(strcmp(sec_varlist[76].value,"3")== 0) { - status_set("TRIM"); + status_set("TRIM"); } if(strcmp(sec_varlist[76].value,"4")== 0) { - status_set("BOOST"); + status_set("BOOST"); } if(strcmp(sec_varlist[10].value,"1")== 0) { - status_set("OVER"); + status_set("OVER"); } if(strcmp(sec_varlist[22].value,"1")== 0) { - status_set("LB"); + status_set("LB"); } - if(strcmp(sec_varlist[19].value,"2")== 0) { - status_set("RB"); + status_set("RB"); } status_commit(); - - } void sec_poll ( int pollflag ) { @@ -211,7 +202,6 @@ void sec_poll ( int pollflag ) { int msglen,f,q; char retbuf[140],*n,*r; - for (q=0; q 0) { + if (sqv(q,f) > 0) { if (strcmp(sec_varlist[sqv(q,f)].value, r) != 0) { - snprintf(sec_varlist[sqv(q,f)].value, - sizeof(sec_varlist[sqv(q,f)].value), "%s", r); - + sizeof(sec_varlist[sqv(q,f)].value), "%s", r); sec_setinfo(sqv(q,f), r); } - /* If SEC VAR is alarm and its on, add it to the alarm property */ - + /* If SEC VAR is alarm and it's on, add it to the alarm property */ if (sec_varlist[sqv(q,f)].flags & FLAG_ALARM && strcmp(r,"1")== 0) { alarm_set(sec_varlist[sqv(q,f)].name); } - } - if (n == NULL) break; r = n+1; } @@ -284,15 +269,12 @@ void upsdrv_initinfo(void) void upsdrv_updateinfo(void) { - - alarm_init(); /* poll status values values */ sec_poll(FLAG_POLL); alarm_commit(); update_pseudovars(); dstate_dataok(); - } void upsdrv_shutdown(void) From b3a95410a88c94f9b82d379319c265460f6928cf Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 23 Nov 2020 03:01:21 +0100 Subject: [PATCH 08/16] Issue #823 follow-up: add ARM 32-bit and 64-bit builds in Travis CI --- .travis.yml | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/.travis.yml b/.travis.yml index ca5608663e..82314e9731 100644 --- a/.travis.yml +++ b/.travis.yml @@ -341,6 +341,77 @@ _matrix_linux_gnustd_nowarn: packages: - *deps_driverlibs +# Try ARM builds to check for issues with non-x86 CPUs +_matrix_linux_gnustd_nowarn_arm_32bit: + include: &_matrix_linux_gnustd_nowarn_arm_32bit + - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-32bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99 -m32" CXXFLAGS="-std=gnu++99 -m32" CPPFLAGS="-m32" + os: linux + arch: arm32 + sudo: false + services: + - docker + compiler: gcc + addons: + apt: + packages: + - *deps_driverlibs + - gcc-multilib + - g++-multilib + + - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-32bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17 -m32" CXXFLAGS="-std=gnu++17 -m32" CPPFLAGS="-m32" CC=clang-8 CXX=clang++-8 + os: linux + arch: arm32 + dist: xenial + sudo: false + services: + - docker + compiler: clang + addons: + apt: + sources: + - llvm-toolchain-xenial-8 + packages: + - clang-8 + - clang-format-8 + - *deps_driverlibs + - gcc-multilib + - g++-multilib + +_matrix_linux_gnustd_nowarn_arm_64bit: + include: &_matrix_linux_gnustd_nowarn_arm_64bit + - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" + os: linux + arch: arm64 + sudo: false + services: + - docker + compiler: gcc + addons: + apt: + packages: + - *deps_driverlibs + - gcc-multilib + - g++-multilib + + - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 + os: linux + arch: arm64 + dist: xenial + sudo: false + services: + - docker + compiler: clang + addons: + apt: + sources: + - llvm-toolchain-xenial-8 + packages: + - clang-8 + - clang-format-8 + - *deps_driverlibs + - gcc-multilib + - g++-multilib + # At this time, anything with strict C standard fails on Linux, even "nowarn" cases: _matrix_linux_cstd_nowarn: include: &_matrix_linux_cstd_nowarn @@ -855,6 +926,8 @@ _matrix_required_linux: - *_matrix_required_linux_pass3_large - *_matrix_linux_gnustd_nowarn - *_matrix_linux_gnustd_warn_viable + - *_matrix_linux_gnustd_nowarn_arm_32bit + - *_matrix_linux_gnustd_nowarn_arm_64bit _matrix_linux_gnustd_warn: include: &_matrix_linux_gnustd_warn @@ -867,6 +940,11 @@ _matrix_allowfail_linux: - *_matrix_linux_gnustd_warn_fatal - *_matrix_linux_cstd_warn +_matrix_linux_arm: + include: &_matrix_linux_arm + - *_matrix_linux_gnustd_nowarn_arm_32bit + - *_matrix_linux_gnustd_nowarn_arm_64bit + _matrix_linux: include: &_matrix_linux - *_matrix_required_linux @@ -935,6 +1013,8 @@ _matrix_gnustd_nowarn: - *_matrix_linux_gnustd_nowarn - *_matrix_freebsd_gnustd_nowarn # -*_matrix_windows_gnustd_nowarn + - *_matrix_linux_gnustd_nowarn_arm_32bit + - *_matrix_linux_gnustd_nowarn_arm_64bit _matrix_warn: include: &_matrix_warn @@ -1020,6 +1100,13 @@ jobs: #OK# - env: NUT_MATRIX_TAG="gnu89-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu89" CXXFLAGS="-std=gnu++89" - env: NUT_MATRIX_TAG="c89-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c89" CXXFLAGS="-Wall -Wextra -Werror -std=c++89" - env: NUT_MATRIX_TAG="gnu89-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu89" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++89" + +### Linux on ARM + - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-32bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99 -m32" CXXFLAGS="-std=gnu++99 -m32" CPPFLAGS="-m32" + - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-32bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17 -m32" CXXFLAGS="-std=gnu++17 -m32" CPPFLAGS="-m32" CC=clang-8 CXX=clang++-8 + - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" + - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 + ### FreeBSD #OK# - env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=gcc CXX=g++ #OK# - env: NUT_MATRIX_TAG="gnu99-clang-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang CXX=clang++ From 8a5f77590b081472ebaa8e7a95c1fe6ece90a250 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 23 Nov 2020 03:36:25 +0100 Subject: [PATCH 09/16] .travis.yml: drop arm-32bit builds, seems a no-go on Travis quickly --- .travis.yml | 40 ---------------------------------------- 1 file changed, 40 deletions(-) diff --git a/.travis.yml b/.travis.yml index 82314e9731..5d553a36c4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -342,41 +342,6 @@ _matrix_linux_gnustd_nowarn: - *deps_driverlibs # Try ARM builds to check for issues with non-x86 CPUs -_matrix_linux_gnustd_nowarn_arm_32bit: - include: &_matrix_linux_gnustd_nowarn_arm_32bit - - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-32bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99 -m32" CXXFLAGS="-std=gnu++99 -m32" CPPFLAGS="-m32" - os: linux - arch: arm32 - sudo: false - services: - - docker - compiler: gcc - addons: - apt: - packages: - - *deps_driverlibs - - gcc-multilib - - g++-multilib - - - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-32bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17 -m32" CXXFLAGS="-std=gnu++17 -m32" CPPFLAGS="-m32" CC=clang-8 CXX=clang++-8 - os: linux - arch: arm32 - dist: xenial - sudo: false - services: - - docker - compiler: clang - addons: - apt: - sources: - - llvm-toolchain-xenial-8 - packages: - - clang-8 - - clang-format-8 - - *deps_driverlibs - - gcc-multilib - - g++-multilib - _matrix_linux_gnustd_nowarn_arm_64bit: include: &_matrix_linux_gnustd_nowarn_arm_64bit - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" @@ -926,7 +891,6 @@ _matrix_required_linux: - *_matrix_required_linux_pass3_large - *_matrix_linux_gnustd_nowarn - *_matrix_linux_gnustd_warn_viable - - *_matrix_linux_gnustd_nowarn_arm_32bit - *_matrix_linux_gnustd_nowarn_arm_64bit _matrix_linux_gnustd_warn: @@ -942,7 +906,6 @@ _matrix_allowfail_linux: _matrix_linux_arm: include: &_matrix_linux_arm - - *_matrix_linux_gnustd_nowarn_arm_32bit - *_matrix_linux_gnustd_nowarn_arm_64bit _matrix_linux: @@ -1013,7 +976,6 @@ _matrix_gnustd_nowarn: - *_matrix_linux_gnustd_nowarn - *_matrix_freebsd_gnustd_nowarn # -*_matrix_windows_gnustd_nowarn - - *_matrix_linux_gnustd_nowarn_arm_32bit - *_matrix_linux_gnustd_nowarn_arm_64bit _matrix_warn: @@ -1102,8 +1064,6 @@ jobs: - env: NUT_MATRIX_TAG="gnu89-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu89" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++89" ### Linux on ARM - - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-32bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99 -m32" CXXFLAGS="-std=gnu++99 -m32" CPPFLAGS="-m32" - - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-32bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17 -m32" CXXFLAGS="-std=gnu++17 -m32" CPPFLAGS="-m32" CC=clang-8 CXX=clang++-8 - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 From 2a377f4f9672a53f47f67077689ec949202ae18c Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 23 Nov 2020 03:36:57 +0100 Subject: [PATCH 10/16] .travis.yml: drop gcc-multilib in ARM builds, seems missing in Debian --- .travis.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5d553a36c4..5aea70841f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -355,8 +355,6 @@ _matrix_linux_gnustd_nowarn_arm_64bit: apt: packages: - *deps_driverlibs - - gcc-multilib - - g++-multilib - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 os: linux @@ -374,8 +372,6 @@ _matrix_linux_gnustd_nowarn_arm_64bit: - clang-8 - clang-format-8 - *deps_driverlibs - - gcc-multilib - - g++-multilib # At this time, anything with strict C standard fails on Linux, even "nowarn" cases: _matrix_linux_cstd_nowarn: From cabaa26740fa148ddc34fc894de797f02d714723 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 23 Nov 2020 12:58:43 +0100 Subject: [PATCH 11/16] .travis.yml: introduce NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" test case --- .travis.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.travis.yml b/.travis.yml index 5aea70841f..2cfa8af02f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -356,6 +356,22 @@ _matrix_linux_gnustd_nowarn_arm_64bit: packages: - *deps_driverlibs + - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9 + os: linux + arch: arm64 + sudo: false + services: + - docker + compiler: gcc + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-9 + - gcc-9 + - *deps_driverlibs + - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 os: linux arch: arm64 @@ -1061,6 +1077,7 @@ jobs: ### Linux on ARM - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" + - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9 - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 ### FreeBSD From 46d000c730a96555c44423a45f17498340e81577 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 23 Nov 2020 15:52:00 +0100 Subject: [PATCH 12/16] .travis.yml: separate ARM64 test case matrices into ..._viable and ..._fatal subsets --- .travis.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2cfa8af02f..8c320f3d2f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -342,8 +342,8 @@ _matrix_linux_gnustd_nowarn: - *deps_driverlibs # Try ARM builds to check for issues with non-x86 CPUs -_matrix_linux_gnustd_nowarn_arm_64bit: - include: &_matrix_linux_gnustd_nowarn_arm_64bit +_matrix_linux_gnustd_nowarn_arm_64bit_viable: + include: &_matrix_linux_gnustd_nowarn_arm_64bit_viable - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" os: linux arch: arm64 @@ -372,6 +372,8 @@ _matrix_linux_gnustd_nowarn_arm_64bit: - gcc-9 - *deps_driverlibs +_matrix_linux_gnustd_nowarn_arm_64bit_fatal: + include: &_matrix_linux_gnustd_nowarn_arm_64bit_fatal - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 os: linux arch: arm64 @@ -903,7 +905,7 @@ _matrix_required_linux: - *_matrix_required_linux_pass3_large - *_matrix_linux_gnustd_nowarn - *_matrix_linux_gnustd_warn_viable - - *_matrix_linux_gnustd_nowarn_arm_64bit + - *_matrix_linux_gnustd_nowarn_arm_64bit_viable _matrix_linux_gnustd_warn: include: &_matrix_linux_gnustd_warn @@ -915,6 +917,12 @@ _matrix_allowfail_linux: - *_matrix_linux_cstd_nowarn - *_matrix_linux_gnustd_warn_fatal - *_matrix_linux_cstd_warn + - *_matrix_linux_gnustd_nowarn_arm_64bit_fatal + +_matrix_linux_gnustd_nowarn_arm_64bit: + include: &_matrix_linux_gnustd_nowarn_arm_64bit + - *_matrix_linux_gnustd_nowarn_arm_64bit_viable + - *_matrix_linux_gnustd_nowarn_arm_64bit_fatal _matrix_linux_arm: include: &_matrix_linux_arm @@ -988,7 +996,8 @@ _matrix_gnustd_nowarn: - *_matrix_linux_gnustd_nowarn - *_matrix_freebsd_gnustd_nowarn # -*_matrix_windows_gnustd_nowarn - - *_matrix_linux_gnustd_nowarn_arm_64bit + - *_matrix_linux_gnustd_nowarn_arm_64bit_viable + - *_matrix_linux_gnustd_nowarn_arm_64bit_fatal _matrix_warn: include: &_matrix_warn From 396a952b26265ef464f3576e394e6fe1265651c5 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 23 Nov 2020 15:53:07 +0100 Subject: [PATCH 13/16] .travis.yml: mark gnuXX-gcc-*-arm64 test cases as evergreen --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8c320f3d2f..e6451d0819 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1085,8 +1085,8 @@ jobs: - env: NUT_MATRIX_TAG="gnu89-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu89" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++89" ### Linux on ARM - - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" - - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9 +#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" +#OK# - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9 - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 ### FreeBSD From e3d3ee5665ff999e167e61527e10c2d538b4d8c3 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Tue, 24 Nov 2020 18:24:24 +0100 Subject: [PATCH 14/16] .travis.yml: point all GCC -std=*++99 to *-98 I thought it was an older GCC quirk, but even new ones complain: g++: error: unrecognized command-line option '-std=gnu++99'; did you mean '-std=gnu++98'? g++ (FreeBSD Ports Collection) 10.0.0 20191222 (experimental) Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --- .travis.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index e6451d0819..36bd8305c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -240,7 +240,7 @@ _matrix_required_linux_pass3_large: _matrix_linux_gnustd_nowarn: include: &_matrix_linux_gnustd_nowarn - - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" + - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" os: linux sudo: false services: @@ -344,7 +344,7 @@ _matrix_linux_gnustd_nowarn: # Try ARM builds to check for issues with non-x86 CPUs _matrix_linux_gnustd_nowarn_arm_64bit_viable: include: &_matrix_linux_gnustd_nowarn_arm_64bit_viable - - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" + - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" os: linux arch: arm64 sudo: false @@ -477,7 +477,7 @@ _matrix_linux_gnustd_warn_viable: packages: - *deps_driverlibs - - env: NUT_MATRIX_TAG="gnu99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++99" + - env: NUT_MATRIX_TAG="gnu99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98" os: linux sudo: false services: @@ -552,7 +552,7 @@ _matrix_linux_gnustd_warn_fatal: # The hardest of two worlds: both strict C standards on Linux and fatal warnings: _matrix_linux_cstd_warn: include: &_matrix_linux_cstd_warn - - env: NUT_MATRIX_TAG="c99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -std=c++99" + - env: NUT_MATRIX_TAG="c99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -std=c++98" os: linux sudo: false services: @@ -641,7 +641,7 @@ _matrix_linux_cstd_warn: _matrix_freebsd_gnustd_nowarn: include: &_matrix_freebsd_gnustd_nowarn - - env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=gcc CXX=g++ + - env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" CC=gcc CXX=g++ os: freebsd sudo: true compiler: gcc @@ -675,7 +675,7 @@ _matrix_freebsd_gnustd_nowarn: _matrix_freebsd_gnustd_warn_viable: include: &_matrix_freebsd_gnustd_warn_viable - - env: NUT_MATRIX_TAG="gnu99-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++99" CC=gcc CXX=g++ + - env: NUT_MATRIX_TAG="gnu99-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98" CC=gcc CXX=g++ os: freebsd sudo: true compiler: gcc @@ -1060,7 +1060,7 @@ jobs: ################################################################################### # Note: "env" lines below must exactly describe a matrix option defined above allow_failures: -#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" +#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" #OK# - env: NUT_MATRIX_TAG="gnu99-gcc-7-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" CC=gcc-7 CXX=g++-7 #OK# - env: NUT_MATRIX_TAG="gnu11-gcc-7-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu11" CXXFLAGS="-std=gnu++11" CC=gcc-7 CXX=g++-7 #OK# - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9 @@ -1073,8 +1073,8 @@ jobs: - env: NUT_MATRIX_TAG="c17-clang-8-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=c17" CXXFLAGS="-std=c++17" CC=clang-8 CXX=clang++-8 - env: NUT_MATRIX_TAG="c17-clang-8-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c17" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++17" CC=clang-8 CXX=clang++-8 #OK# - env: NUT_MATRIX_TAG="cDefault-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic" CXXFLAGS="-Wall -Wextra -Werror" -#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++99" - - env: NUT_MATRIX_TAG="c99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -std=c++99" +#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98" + - env: NUT_MATRIX_TAG="c99-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -std=c++98" #OK# - env: NUT_MATRIX_TAG="gnu99-gcc-7-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98" CC=gcc-7 CXX=g++-7 - env: NUT_MATRIX_TAG="c99-clang-5.0-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++99" CC=clang-5.0 CXX=clang++-5.0 - env: NUT_MATRIX_TAG="c11-clang-5.0-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c11" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++11" CC=clang-5.0 CXX=clang++-5.0 @@ -1085,16 +1085,16 @@ jobs: - env: NUT_MATRIX_TAG="gnu89-gcc-default-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu89" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++89" ### Linux on ARM -#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" +#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" #OK# - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9 - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 ### FreeBSD -#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=gcc CXX=g++ +#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" CC=gcc CXX=g++ #OK# - env: NUT_MATRIX_TAG="gnu99-clang-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang CXX=clang++ #OK# - env: NUT_MATRIX_TAG="gnu17-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++17" CC=gcc CXX=g++ #OK# - env: NUT_MATRIX_TAG="gnu17-clang-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++17" CC=clang CXX=clang++ -#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++99" CC=gcc CXX=g++ +#OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++98" CC=gcc CXX=g++ #OK# - env: NUT_MATRIX_TAG="gnu17-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu17" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++17" CC=gcc CXX=g++ - env: NUT_MATRIX_TAG="gnu99-clang-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=gnu++99" CC=clang CXX=clang++ - env: NUT_MATRIX_TAG="gnu17-clang-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=gnu17" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=gnu++17" CC=clang CXX=clang++ From 8ae056b012c1a8ec2a267639ab1530e7eab8600e Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Tue, 24 Nov 2020 18:28:26 +0100 Subject: [PATCH 15/16] .travis.yml: annotate clearer the different allowed_failure OS build sections --- .travis.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 36bd8305c6..e7a86828a6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1060,6 +1060,8 @@ jobs: ################################################################################### # Note: "env" lines below must exactly describe a matrix option defined above allow_failures: + +### Linux on x86_64 #OK# - env: NUT_MATRIX_TAG="gnu99-gcc-default-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" #OK# - env: NUT_MATRIX_TAG="gnu99-gcc-7-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" CC=gcc-7 CXX=g++-7 #OK# - env: NUT_MATRIX_TAG="gnu11-gcc-7-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu11" CXXFLAGS="-std=gnu++11" CC=gcc-7 CXX=g++-7 @@ -1089,7 +1091,7 @@ jobs: #OK# - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9 - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn-ARM-64bit" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 -### FreeBSD +### FreeBSD on x86_64 #OK# - env: NUT_MATRIX_TAG="gnu99-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++98" CC=gcc CXX=g++ #OK# - env: NUT_MATRIX_TAG="gnu99-clang-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang CXX=clang++ #OK# - env: NUT_MATRIX_TAG="gnu17-gcc-freebsd-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++17" CC=gcc CXX=g++ @@ -1098,6 +1100,7 @@ jobs: #OK# - env: NUT_MATRIX_TAG="gnu17-gcc-default-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu17" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++17" CC=gcc CXX=g++ - env: NUT_MATRIX_TAG="gnu99-clang-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=gnu99" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=gnu++99" CC=clang CXX=clang++ - env: NUT_MATRIX_TAG="gnu17-clang-freebsd-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=gnu17" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=gnu++17" CC=clang CXX=clang++ + ### macosx #OK# - env: NUT_MATRIX_TAG="gnu99-clang-xcode10.2-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang CXX=clang++ #OK# - env: NUT_MATRIX_TAG="gnu17-clang-xcode10.2-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang CXX=clang++ @@ -1109,7 +1112,8 @@ jobs: - env: NUT_MATRIX_TAG="c17-clang-xcode10.2-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=c17" CXXFLAGS="-std=c++17" CC=clang CXX=clang++ - env: NUT_MATRIX_TAG="c17-clang-xcode10.2-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c17" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++17" CC=clang CXX=clang++ - env: NUT_MATRIX_TAG="c11-clang-xcode7.3-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c11" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++11" CC=clang CXX=clang++ -### windows + +### windows on x86_64 - env: NUT_MATRIX_TAG="gnu99-clang-win-nowarn" BUILD_TYPE=default-all-errors CPPFLAGS="-fms-extensions" CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang CXX=clang++ - env: NUT_MATRIX_TAG="gnu99-clang-win-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -pedantic -std=c99" CXXFLAGS="-Wall -Wextra -Werror -Weverything -Wno-unused-macros -Wno-reserved-id-macro -Wno-padded -std=c++99" CC=clang CXX=clang++ - env: NUT_MATRIX_TAG="c99-clang-win-nowarn" BUILD_TYPE=default-all-errors CPPFLAGS="-fms-extensions" CFLAGS="-std=c99" CXXFLAGS="-std=c++99" CC=clang CXX=clang++ From 9dd202b3c1005533d7eef49502298e8489a0318c Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Tue, 24 Nov 2020 19:42:05 +0100 Subject: [PATCH 16/16] .travis.yml: run gnu17-clang-8-nowarn-ARM-64bit case in fightwarn branches --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index e7a86828a6..b06bc447bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -382,6 +382,7 @@ _matrix_linux_gnustd_nowarn_arm_64bit_fatal: services: - docker compiler: clang + if: branch =~ fightwarn addons: apt: sources: