mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-16 04:17:25 +00:00
gsoap: Upgrade to 2.8.134
Redo musl support patch such that it can always be applied Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+85
@@ -0,0 +1,85 @@
|
|||||||
|
From 2b7a51556185539a0f9baef0f109e0814933d6b3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Sun, 19 May 2024 17:11:20 -0700
|
||||||
|
Subject: [PATCH] Provide strtod_l signature on non-glibc linux ( musl )
|
||||||
|
systems
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
gsoap/stdsoap2.c | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
--- a/gsoap/stdsoap2.cpp
|
||||||
|
+++ b/gsoap/stdsoap2.cpp
|
||||||
|
@@ -74,6 +74,11 @@ A commercial use license is available fr
|
||||||
|
|
||||||
|
#include "stdsoap2.h"
|
||||||
|
|
||||||
|
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||||
|
+struct __locale_struct;
|
||||||
|
+double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *);
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#if GSOAP_VERSION != GSOAP_LIB_VERSION
|
||||||
|
# error "GSOAP VERSION MISMATCH IN LIBRARY: PLEASE REINSTALL PACKAGE"
|
||||||
|
#endif
|
||||||
|
@@ -5457,7 +5462,7 @@ tcp_gethostbyname(struct soap *soap, con
|
||||||
|
{
|
||||||
|
#if (defined(_AIX43) || defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R)
|
||||||
|
struct hostent_data ht_data;
|
||||||
|
-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && !defined(__QNX__) && !defined(QNX) && defined(HAVE_GETHOSTBYNAME_R)
|
||||||
|
+#elif (!defined(__GLIBC__) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && !defined(__QNX__) && !defined(QNX) && defined(HAVE_GETHOSTBYNAME_R)
|
||||||
|
int r;
|
||||||
|
char *tmpbuf = soap->tmpbuf;
|
||||||
|
size_t tmplen = sizeof(soap->tmpbuf);
|
||||||
|
@@ -5490,7 +5495,7 @@ tcp_gethostbyname(struct soap *soap, con
|
||||||
|
hostent = NULL;
|
||||||
|
soap->errnum = h_errno;
|
||||||
|
}
|
||||||
|
-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && !defined(__QNX__) && !defined(QNX) && defined(HAVE_GETHOSTBYNAME_R)
|
||||||
|
+#elif (!defined(__GLIBC__) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && !defined(__QNX__) && !defined(QNX) && defined(HAVE_GETHOSTBYNAME_R)
|
||||||
|
while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0)
|
||||||
|
{
|
||||||
|
if (tmpbuf != soap->tmpbuf)
|
||||||
|
@@ -23192,7 +23197,7 @@ soap_strerror(struct soap *soap)
|
||||||
|
{
|
||||||
|
#ifndef WIN32
|
||||||
|
# ifdef HAVE_STRERROR_R
|
||||||
|
-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
|
||||||
|
+# if !defined(__GLIBC__) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
|
||||||
|
err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
|
||||||
|
if (err != 0)
|
||||||
|
soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
|
||||||
|
--- a/gsoap/stdsoap2.c
|
||||||
|
+++ b/gsoap/stdsoap2.c
|
||||||
|
@@ -74,6 +74,11 @@ A commercial use license is available fr
|
||||||
|
|
||||||
|
#include "stdsoap2.h"
|
||||||
|
|
||||||
|
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||||
|
+struct __locale_struct;
|
||||||
|
+double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *);
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#if GSOAP_VERSION != GSOAP_LIB_VERSION
|
||||||
|
# error "GSOAP VERSION MISMATCH IN LIBRARY: PLEASE REINSTALL PACKAGE"
|
||||||
|
#endif
|
||||||
|
@@ -5490,7 +5495,7 @@ tcp_gethostbyname(struct soap *soap, con
|
||||||
|
hostent = NULL;
|
||||||
|
soap->errnum = h_errno;
|
||||||
|
}
|
||||||
|
-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && !defined(__QNX__) && !defined(QNX) && defined(HAVE_GETHOSTBYNAME_R)
|
||||||
|
+#elif (!defined(__GLIBC__) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && !defined(__QNX__) && !defined(QNX) && defined(HAVE_GETHOSTBYNAME_R)
|
||||||
|
while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0)
|
||||||
|
{
|
||||||
|
if (tmpbuf != soap->tmpbuf)
|
||||||
|
@@ -23192,7 +23197,7 @@ soap_strerror(struct soap *soap)
|
||||||
|
{
|
||||||
|
#ifndef WIN32
|
||||||
|
# ifdef HAVE_STRERROR_R
|
||||||
|
-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
|
||||||
|
+# if !defined(__GLIBC__) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
|
||||||
|
err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
|
||||||
|
if (err != 0)
|
||||||
|
soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
From fa923a50790c907725c822b2fc7d63b2da62b4ad Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Sun, 12 Mar 2023 13:34:55 -0700
|
|
||||||
Subject: [PATCH] Simplify check for gethostbyname_r()
|
|
||||||
|
|
||||||
This helps build fix with musl.
|
|
||||||
|
|
||||||
Imported from Alpine: https://git.alpinelinux.org/aports/tree/community/gsoap/musl-fixes.patch
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
Upstream-Status: Pending
|
|
||||||
|
|
||||||
gsoap/stdsoap2.c | 6 ++----
|
|
||||||
gsoap/stdsoap2.cpp | 10 ++--------
|
|
||||||
2 files changed, 4 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gsoap/stdsoap2.c b/gsoap/stdsoap2.c
|
|
||||||
index 654a1e1..fa31d02 100644
|
|
||||||
--- a/gsoap/stdsoap2.c
|
|
||||||
+++ b/gsoap/stdsoap2.c
|
|
||||||
@@ -5463,7 +5463,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
|
||||||
hostent = NULL;
|
|
||||||
soap->errnum = h_errno;
|
|
||||||
}
|
|
||||||
-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && defined(HAVE_GETHOSTBYNAME_R)
|
|
||||||
+#elif defined(HAVE_GETHOSTBYNAME_R)
|
|
||||||
while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0)
|
|
||||||
{
|
|
||||||
if (tmpbuf != soap->tmpbuf)
|
|
||||||
@@ -5478,8 +5478,6 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
|
||||||
if (!tmpbuf)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
-#elif defined(HAVE_GETHOSTBYNAME_R)
|
|
||||||
- hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum);
|
|
||||||
#elif defined(VXWORKS)
|
|
||||||
/* vxWorks compatible */
|
|
||||||
/* If the DNS resolver library resolvLib has been configured in the vxWorks
|
|
||||||
@@ -23112,7 +23110,7 @@ soap_strerror(struct soap *soap)
|
|
||||||
{
|
|
||||||
#ifndef WIN32
|
|
||||||
# ifdef HAVE_STRERROR_R
|
|
||||||
-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
|
|
||||||
+# if 1
|
|
||||||
err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
|
|
||||||
if (err != 0)
|
|
||||||
soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
|
|
||||||
diff --git a/gsoap/stdsoap2.cpp b/gsoap/stdsoap2.cpp
|
|
||||||
index 654a1e1..5fd5fd6 100644
|
|
||||||
--- a/gsoap/stdsoap2.cpp
|
|
||||||
+++ b/gsoap/stdsoap2.cpp
|
|
||||||
@@ -5430,7 +5430,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
|
||||||
{
|
|
||||||
#if (defined(_AIX43) || defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R)
|
|
||||||
struct hostent_data ht_data;
|
|
||||||
-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && defined(HAVE_GETHOSTBYNAME_R)
|
|
||||||
+#elif defined(HAVE_GETHOSTBYNAME_R)
|
|
||||||
int r;
|
|
||||||
char *tmpbuf = soap->tmpbuf;
|
|
||||||
size_t tmplen = sizeof(soap->tmpbuf);
|
|
||||||
@@ -5463,7 +5463,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
|
||||||
hostent = NULL;
|
|
||||||
soap->errnum = h_errno;
|
|
||||||
}
|
|
||||||
-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && defined(HAVE_GETHOSTBYNAME_R)
|
|
||||||
+#elif defined(HAVE_GETHOSTBYNAME_R)
|
|
||||||
while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0)
|
|
||||||
{
|
|
||||||
if (tmpbuf != soap->tmpbuf)
|
|
||||||
@@ -5478,8 +5478,6 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
|
||||||
if (!tmpbuf)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
-#elif defined(HAVE_GETHOSTBYNAME_R)
|
|
||||||
- hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum);
|
|
||||||
#elif defined(VXWORKS)
|
|
||||||
/* vxWorks compatible */
|
|
||||||
/* If the DNS resolver library resolvLib has been configured in the vxWorks
|
|
||||||
@@ -23112,13 +23110,9 @@ soap_strerror(struct soap *soap)
|
|
||||||
{
|
|
||||||
#ifndef WIN32
|
|
||||||
# ifdef HAVE_STRERROR_R
|
|
||||||
-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
|
|
||||||
err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
|
|
||||||
if (err != 0)
|
|
||||||
soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
|
|
||||||
-# else
|
|
||||||
- return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
|
|
||||||
-# endif
|
|
||||||
# else
|
|
||||||
return strerror(err);
|
|
||||||
# endif
|
|
||||||
--
|
|
||||||
2.39.2
|
|
||||||
|
|
||||||
+3
-3
@@ -5,9 +5,9 @@ LICENSE = "GPL-2.0-with-OpenSSL-exception"
|
|||||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \
|
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \
|
||||||
file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b"
|
file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b"
|
||||||
|
|
||||||
SRC_URI = "https://prdownloads.sourceforge.net/${BPN}2/${BPN}_${PV}.zip"
|
SRC_URI = "https://prdownloads.sourceforge.net/${BPN}2/${BPN}_${PV}.zip \
|
||||||
SRC_URI:append:libc-musl = " file://0001-Simplify-check-for-gethostbyname_r.patch"
|
file://0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch"
|
||||||
SRC_URI[sha256sum] = "b65190ebf8c2517d6fafbdc2000bc7bc650d921a02f4aa53eb1e3df267592c4a"
|
SRC_URI[sha256sum] = "63478e555c0ccde0164f055ff605b02805db0abc6712a04bcb14cb617b047218"
|
||||||
|
|
||||||
inherit autotools
|
inherit autotools
|
||||||
|
|
||||||
Reference in New Issue
Block a user