diff options
| author | Khem Raj <raj.khem@gmail.com> | 2024-05-19 17:15:33 -0700 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2024-05-23 08:44:43 -0700 |
| commit | 805aaefe7778edd510112d96f3cd6634748ea576 (patch) | |
| tree | e2184dda884b50b88ef7539640a09e0ad0d4fc8d /meta-oe/recipes-support | |
| parent | ca6bb4de1fbc961cb81377e7dc8e147cb7d045cd (diff) | |
| download | meta-openembedded-805aaefe7778edd510112d96f3cd6634748ea576.tar.gz | |
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>
Diffstat (limited to 'meta-oe/recipes-support')
| -rw-r--r-- | meta-oe/recipes-support/gsoap/gsoap/0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch | 85 | ||||
| -rw-r--r-- | meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch | 96 | ||||
| -rw-r--r-- | meta-oe/recipes-support/gsoap/gsoap_2.8.134.bb (renamed from meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb) | 6 |
3 files changed, 88 insertions, 99 deletions
diff --git a/meta-oe/recipes-support/gsoap/gsoap/0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch b/meta-oe/recipes-support/gsoap/gsoap/0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch new file mode 100644 index 0000000000..df27a59ee7 --- /dev/null +++ b/meta-oe/recipes-support/gsoap/gsoap/0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch | |||
| @@ -0,0 +1,85 @@ | |||
| 1 | From 2b7a51556185539a0f9baef0f109e0814933d6b3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sun, 19 May 2024 17:11:20 -0700 | ||
| 4 | Subject: [PATCH] Provide strtod_l signature on non-glibc linux ( musl ) | ||
| 5 | systems | ||
| 6 | |||
| 7 | Upstream-Status: Pending | ||
| 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 9 | --- | ||
| 10 | gsoap/stdsoap2.c | 5 +++++ | ||
| 11 | 1 file changed, 5 insertions(+) | ||
| 12 | |||
| 13 | --- a/gsoap/stdsoap2.cpp | ||
| 14 | +++ b/gsoap/stdsoap2.cpp | ||
| 15 | @@ -74,6 +74,11 @@ A commercial use license is available fr | ||
| 16 | |||
| 17 | #include "stdsoap2.h" | ||
| 18 | |||
| 19 | +#if defined(__linux__) && !defined(__GLIBC__) | ||
| 20 | +struct __locale_struct; | ||
| 21 | +double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *); | ||
| 22 | +#endif | ||
| 23 | + | ||
| 24 | #if GSOAP_VERSION != GSOAP_LIB_VERSION | ||
| 25 | # error "GSOAP VERSION MISMATCH IN LIBRARY: PLEASE REINSTALL PACKAGE" | ||
| 26 | #endif | ||
| 27 | @@ -5457,7 +5462,7 @@ tcp_gethostbyname(struct soap *soap, con | ||
| 28 | { | ||
| 29 | #if (defined(_AIX43) || defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R) | ||
| 30 | struct hostent_data ht_data; | ||
| 31 | -#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) | ||
| 32 | +#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) | ||
| 33 | int r; | ||
| 34 | char *tmpbuf = soap->tmpbuf; | ||
| 35 | size_t tmplen = sizeof(soap->tmpbuf); | ||
| 36 | @@ -5490,7 +5495,7 @@ tcp_gethostbyname(struct soap *soap, con | ||
| 37 | hostent = NULL; | ||
| 38 | soap->errnum = h_errno; | ||
| 39 | } | ||
| 40 | -#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) | ||
| 41 | +#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) | ||
| 42 | while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0) | ||
| 43 | { | ||
| 44 | if (tmpbuf != soap->tmpbuf) | ||
| 45 | @@ -23192,7 +23197,7 @@ soap_strerror(struct soap *soap) | ||
| 46 | { | ||
| 47 | #ifndef WIN32 | ||
| 48 | # ifdef HAVE_STRERROR_R | ||
| 49 | -# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))) | ||
| 50 | +# if !defined(__GLIBC__) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))) | ||
| 51 | err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */ | ||
| 52 | if (err != 0) | ||
| 53 | soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error"); | ||
| 54 | --- a/gsoap/stdsoap2.c | ||
| 55 | +++ b/gsoap/stdsoap2.c | ||
| 56 | @@ -74,6 +74,11 @@ A commercial use license is available fr | ||
| 57 | |||
| 58 | #include "stdsoap2.h" | ||
| 59 | |||
| 60 | +#if defined(__linux__) && !defined(__GLIBC__) | ||
| 61 | +struct __locale_struct; | ||
| 62 | +double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *); | ||
| 63 | +#endif | ||
| 64 | + | ||
| 65 | #if GSOAP_VERSION != GSOAP_LIB_VERSION | ||
| 66 | # error "GSOAP VERSION MISMATCH IN LIBRARY: PLEASE REINSTALL PACKAGE" | ||
| 67 | #endif | ||
| 68 | @@ -5490,7 +5495,7 @@ tcp_gethostbyname(struct soap *soap, con | ||
| 69 | hostent = NULL; | ||
| 70 | soap->errnum = h_errno; | ||
| 71 | } | ||
| 72 | -#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) | ||
| 73 | +#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) | ||
| 74 | while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0) | ||
| 75 | { | ||
| 76 | if (tmpbuf != soap->tmpbuf) | ||
| 77 | @@ -23192,7 +23197,7 @@ soap_strerror(struct soap *soap) | ||
| 78 | { | ||
| 79 | #ifndef WIN32 | ||
| 80 | # ifdef HAVE_STRERROR_R | ||
| 81 | -# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))) | ||
| 82 | +# if !defined(__GLIBC__) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))) | ||
| 83 | err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */ | ||
| 84 | if (err != 0) | ||
| 85 | soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error"); | ||
diff --git a/meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch b/meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch deleted file mode 100644 index 6ae02deb24..0000000000 --- a/meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch +++ /dev/null | |||
| @@ -1,96 +0,0 @@ | |||
| 1 | From fa923a50790c907725c822b2fc7d63b2da62b4ad Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sun, 12 Mar 2023 13:34:55 -0700 | ||
| 4 | Subject: [PATCH] Simplify check for gethostbyname_r() | ||
| 5 | |||
| 6 | This helps build fix with musl. | ||
| 7 | |||
| 8 | Imported from Alpine: https://git.alpinelinux.org/aports/tree/community/gsoap/musl-fixes.patch | ||
| 9 | |||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | --- | ||
| 12 | Upstream-Status: Pending | ||
| 13 | |||
| 14 | gsoap/stdsoap2.c | 6 ++---- | ||
| 15 | gsoap/stdsoap2.cpp | 10 ++-------- | ||
| 16 | 2 files changed, 4 insertions(+), 12 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/gsoap/stdsoap2.c b/gsoap/stdsoap2.c | ||
| 19 | index 654a1e1..fa31d02 100644 | ||
| 20 | --- a/gsoap/stdsoap2.c | ||
| 21 | +++ b/gsoap/stdsoap2.c | ||
| 22 | @@ -5463,7 +5463,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent, | ||
| 23 | hostent = NULL; | ||
| 24 | soap->errnum = h_errno; | ||
| 25 | } | ||
| 26 | -#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) | ||
| 27 | +#elif defined(HAVE_GETHOSTBYNAME_R) | ||
| 28 | while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0) | ||
| 29 | { | ||
| 30 | if (tmpbuf != soap->tmpbuf) | ||
| 31 | @@ -5478,8 +5478,6 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent, | ||
| 32 | if (!tmpbuf) | ||
| 33 | break; | ||
| 34 | } | ||
| 35 | -#elif defined(HAVE_GETHOSTBYNAME_R) | ||
| 36 | - hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum); | ||
| 37 | #elif defined(VXWORKS) | ||
| 38 | /* vxWorks compatible */ | ||
| 39 | /* If the DNS resolver library resolvLib has been configured in the vxWorks | ||
| 40 | @@ -23112,7 +23110,7 @@ soap_strerror(struct soap *soap) | ||
| 41 | { | ||
| 42 | #ifndef WIN32 | ||
| 43 | # ifdef HAVE_STRERROR_R | ||
| 44 | -# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))) | ||
| 45 | +# if 1 | ||
| 46 | err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */ | ||
| 47 | if (err != 0) | ||
| 48 | soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error"); | ||
| 49 | diff --git a/gsoap/stdsoap2.cpp b/gsoap/stdsoap2.cpp | ||
| 50 | index 654a1e1..5fd5fd6 100644 | ||
| 51 | --- a/gsoap/stdsoap2.cpp | ||
| 52 | +++ b/gsoap/stdsoap2.cpp | ||
| 53 | @@ -5430,7 +5430,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent, | ||
| 54 | { | ||
| 55 | #if (defined(_AIX43) || defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R) | ||
| 56 | struct hostent_data ht_data; | ||
| 57 | -#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) | ||
| 58 | +#elif defined(HAVE_GETHOSTBYNAME_R) | ||
| 59 | int r; | ||
| 60 | char *tmpbuf = soap->tmpbuf; | ||
| 61 | size_t tmplen = sizeof(soap->tmpbuf); | ||
| 62 | @@ -5463,7 +5463,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent, | ||
| 63 | hostent = NULL; | ||
| 64 | soap->errnum = h_errno; | ||
| 65 | } | ||
| 66 | -#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) | ||
| 67 | +#elif defined(HAVE_GETHOSTBYNAME_R) | ||
| 68 | while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0) | ||
| 69 | { | ||
| 70 | if (tmpbuf != soap->tmpbuf) | ||
| 71 | @@ -5478,8 +5478,6 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent, | ||
| 72 | if (!tmpbuf) | ||
| 73 | break; | ||
| 74 | } | ||
| 75 | -#elif defined(HAVE_GETHOSTBYNAME_R) | ||
| 76 | - hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum); | ||
| 77 | #elif defined(VXWORKS) | ||
| 78 | /* vxWorks compatible */ | ||
| 79 | /* If the DNS resolver library resolvLib has been configured in the vxWorks | ||
| 80 | @@ -23112,13 +23110,9 @@ soap_strerror(struct soap *soap) | ||
| 81 | { | ||
| 82 | #ifndef WIN32 | ||
| 83 | # ifdef HAVE_STRERROR_R | ||
| 84 | -# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))) | ||
| 85 | err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */ | ||
| 86 | if (err != 0) | ||
| 87 | soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error"); | ||
| 88 | -# else | ||
| 89 | - return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */ | ||
| 90 | -# endif | ||
| 91 | # else | ||
| 92 | return strerror(err); | ||
| 93 | # endif | ||
| 94 | -- | ||
| 95 | 2.39.2 | ||
| 96 | |||
diff --git a/meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb b/meta-oe/recipes-support/gsoap/gsoap_2.8.134.bb index 6d8b53d308..5528e87e6c 100644 --- a/meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb +++ b/meta-oe/recipes-support/gsoap/gsoap_2.8.134.bb | |||
| @@ -5,9 +5,9 @@ LICENSE = "GPL-2.0-with-OpenSSL-exception" | |||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \ | 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \ |
| 6 | file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b" | 6 | file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b" |
| 7 | 7 | ||
| 8 | SRC_URI = "https://prdownloads.sourceforge.net/${BPN}2/${BPN}_${PV}.zip" | 8 | SRC_URI = "https://prdownloads.sourceforge.net/${BPN}2/${BPN}_${PV}.zip \ |
| 9 | SRC_URI:append:libc-musl = " file://0001-Simplify-check-for-gethostbyname_r.patch" | 9 | file://0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch" |
| 10 | SRC_URI[sha256sum] = "b65190ebf8c2517d6fafbdc2000bc7bc650d921a02f4aa53eb1e3df267592c4a" | 10 | SRC_URI[sha256sum] = "63478e555c0ccde0164f055ff605b02805db0abc6712a04bcb14cb617b047218" |
| 11 | 11 | ||
| 12 | inherit autotools | 12 | inherit autotools |
| 13 | 13 | ||
