2
1
Эх сурвалжийг харах

package/openswan: allow uClibc build

uClibc-ng 1.0.41 added ns_t_tkey, but since external toolchains may
have a version older than 1.0.41, we introduce a compatibility patch
that avoids the use of ns_t_tkey. This compatibility patch can be
dropped in the future when uClibc-ng 1.0.41 is sufficiently deployed.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Waldemar Brodkorb 3 жил өмнө
parent
commit
fa4dba4aa2

+ 29 - 0
package/openswan/0001-lib-libopenswan-constants.c-workaround-missing-ns_t_.patch

@@ -0,0 +1,29 @@
+From 66f8abe037970dda50fbc460edb2a2fa9f391d8a Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+Date: Wed, 3 Aug 2022 19:14:25 +0200
+Subject: [PATCH] lib/libopenswan/constants.c: workaround missing ns_t_tkey
+ definition in uClibc < 1.0.41
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ lib/libopenswan/constants.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/lib/libopenswan/constants.c b/lib/libopenswan/constants.c
+index 90c973b5f..04e68da42 100644
+--- a/lib/libopenswan/constants.c
++++ b/lib/libopenswan/constants.c
+@@ -1411,7 +1411,9 @@ static const char *const rr_qtype_name[] = {
+ 	NULL
+     };
+ 
+-enum_names rr_qtype_names = { ns_t_tkey, ns_t_any
++/* ns_t_tkey is 249, but its definition is missing from uClibc <
++ * 1.0.41, so let's hardcode it */
++enum_names rr_qtype_names = { 249 /* ns_t_tkey */, ns_t_any
+ 			      , rr_qtype_name, &rr_type_names };
+ 
+ static const char *const rr_class_name[] = {
+-- 
+2.37.1
+

+ 2 - 4
package/openswan/Config.in

@@ -2,7 +2,6 @@ config BR2_PACKAGE_OPENSWAN
 	bool "openswan"
 	depends on BR2_USE_MMU # iproute2
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # iproute2
-	depends on !BR2_TOOLCHAIN_USES_UCLIBC # ns_t_tkey
 	select BR2_PACKAGE_GMP
 	select BR2_PACKAGE_IPROUTE2
 	help
@@ -10,7 +9,6 @@ config BR2_PACKAGE_OPENSWAN
 
 	  http://www.openswan.org
 
-comment "openswan needs a glibc or musl toolchain w/ headers >= 3.4"
+comment "openswan needs a toolchain w/ headers >= 3.4"
 	depends on BR2_USE_MMU
-	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || \
-		BR2_TOOLCHAIN_USES_UCLIBC
+	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4