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/gsoap | |
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/gsoap')
-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 000000000..df27a59ee --- /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 6ae02deb2..000000000 --- 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 6d8b53d30..5528e87e6 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 | ||