readsb: update to 3.9.0

Remove upstreamed patches.

Use autorelease to avoid bumping the release manually.

Fix bad linker variable on glibc.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2021-02-20 19:57:48 -08:00
parent 937a733854
commit 44fe2bdf5f
No known key found for this signature in database
GPG Key ID: 36D31CFA845F0E3B
3 changed files with 4 additions and 139 deletions

View File

@ -6,12 +6,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=readsb
PKG_VERSION:=3.8.3
PKG_RELEASE:=2
PKG_VERSION:=3.9.0
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/Mictronics/readsb/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=bf59b8ecd0ff66945b210c55a5b824aa63ff8cbb1704249528d30a4902e716b2
PKG_HASH:=234e2f5f45d69d8be376272e9a08be54bdc48ed5ad7ebad2c4374bbd754d9426
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING LICENSE
@ -50,7 +50,7 @@ MAKE_FLAGS += \
TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
TARGET_LDFLAGS += \
$(if $(CONFIG_LIBC_USE_GLIBC),,-largp) \
$(if $(CONFIG_USE_GLIBC),,-largp) \
-Wl,--gc-sections,--as-needed
define Package/readsb/conffiles

View File

@ -1,80 +0,0 @@
From 82014a5fa9930b0875e57869265acf011772277c Mon Sep 17 00:00:00 2001
From: Stijn Tintel <stijn@linux-ipv6.be>
Date: Sun, 3 May 2020 20:56:58 +0300
Subject: [PATCH] network: avoid segfault in freeaddrinfo
Calling freeaddrinfo(NULL) when using musl libc causes a segfault.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
---
anet.c | 15 ++++++++++++---
net_io.c | 5 ++++-
viewadsb.c | 5 ++++-
3 files changed, 20 insertions(+), 5 deletions(-)
--- a/anet.c
+++ b/anet.c
@@ -212,7 +212,10 @@ static int anetTcpGenericConnect(char *e
if (ss) {
memcpy(ss, p->ai_addr, sizeof(*ss));
}
- freeaddrinfo(gai_result);
+ if (gai_result) {
+ freeaddrinfo(gai_result);
+ gai_result = NULL;
+ }
return s;
}
@@ -220,7 +223,10 @@ static int anetTcpGenericConnect(char *e
anetCloseSocket(s);
}
- freeaddrinfo(gai_result);
+ if (gai_result) {
+ freeaddrinfo(gai_result);
+ gai_result = NULL;
+ }
return ANET_ERR;
}
@@ -368,7 +374,10 @@ int anetTcpServer(char *err, char *servi
fds[i++] = s;
}
- freeaddrinfo(gai_result);
+ if (gai_result) {
+ freeaddrinfo(gai_result);
+ gai_result = NULL;
+ }
return (i > 0 ? i : ANET_ERR);
}
--- a/net_io.c
+++ b/net_io.c
@@ -3285,7 +3285,10 @@ void cleanupNetwork(void) {
for (int i = 0; i < Modes.net_connectors_count; i++) {
struct net_connector *con = Modes.net_connectors[i];
free(con->address);
- freeaddrinfo(con->addr_info);
+ if (con->addr_info) {
+ freeaddrinfo(con->addr_info);
+ con->addr_info = NULL;
+ }
if (con->mutex) {
pthread_mutex_unlock(con->mutex);
pthread_mutex_destroy(con->mutex);
--- a/viewadsb.c
+++ b/viewadsb.c
@@ -308,7 +308,10 @@ int main(int argc, char **argv) {
}
// Free local service and client
if (s) free(s);
- freeaddrinfo(con->addr_info);
+ if (con->addr_info) {
+ freeaddrinfo(con->addr_info);
+ con->addr_info = NULL;
+ }
pthread_mutex_unlock(con->mutex);
pthread_mutex_destroy(con->mutex);
free(con->mutex);

View File

@ -1,55 +0,0 @@
From 5119c21ae56f1c7fd0b10250d1beca9634bf74af Mon Sep 17 00:00:00 2001
From: Mictronics <github@mictronics.de>
Date: Sun, 14 Jun 2020 18:06:22 +0200
Subject: [PATCH] Clean up linkage of struct Modes.
---
readsb.c | 2 ++
readsb.h | 6 ++++--
viewadsb.c | 2 ++
3 files changed, 8 insertions(+), 2 deletions(-)
--- a/readsb.c
+++ b/readsb.c
@@ -57,6 +57,8 @@
#include <stdarg.h>
+struct _Modes Modes;
+
//
// ============================= Program options help ==========================
//
--- a/readsb.h
+++ b/readsb.h
@@ -312,7 +312,7 @@ struct mag_buf
// Program global state
-struct
+struct _Modes
{ // Internal state
pthread_cond_t data_cond; // Conditional variable associated
pthread_t reader_thread;
@@ -412,7 +412,9 @@ struct
struct stats stats_15min;
struct timespec reader_cpu_accumulator; // CPU time used by the reader thread, copied out and reset by the main thread under the mutex
struct mag_buf mag_buffers[MODES_MAG_BUFFERS]; // Converted magnitude buffers from RTL or file input
-} Modes;
+};
+
+extern struct _Modes Modes;
// The struct we use to store information about a decoded message.
--- a/viewadsb.c
+++ b/viewadsb.c
@@ -54,6 +54,8 @@
#include "readsb.h"
#include "help.h"
+struct _Modes Modes;
+
#define _stringize(x) x
#define verstring(x) _stringize(x)