libnl: update to 3.5.0
Update libnl to 3.5.0 Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
This commit is contained in:
		 DENG Qingfang
					DENG Qingfang
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							b2fdfe0727
						
					
				
				
					commit
					2d00cf7515
				
			| @@ -8,12 +8,12 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=libnl | ||||
| PKG_VERSION:=3.4.0 | ||||
| PKG_RELEASE:=2 | ||||
| PKG_VERSION:=3.5.0 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | ||||
| PKG_SOURCE_URL:=https://github.com/thom311/libnl/releases/download/libnl3_4_0 | ||||
| PKG_HASH:=b7287637ae71c6db6f89e1422c995f0407ff2fe50cecd61a312b6a9b0921f5bf | ||||
| PKG_SOURCE_URL:=https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(PKG_VERSION)) | ||||
| PKG_HASH:=352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa | ||||
| PKG_LICENSE:=LGPL-2.1 | ||||
|  | ||||
| PKG_INSTALL:=1 | ||||
|   | ||||
| @@ -1,101 +0,0 @@ | ||||
| --- a/include/linux-private/linux/if_ether.h | ||||
| +++ b/include/linux-private/linux/if_ether.h | ||||
| @@ -22,6 +22,7 @@ | ||||
|  #define _LINUX_IF_ETHER_H | ||||
|   | ||||
|  #include <linux/types.h> | ||||
| +#include <linux/libc-compat.h> | ||||
|   | ||||
|  /* | ||||
|   *	IEEE 802.3 Ethernet magic constants.  The frame sizes omit the preamble | ||||
| @@ -117,10 +118,12 @@ | ||||
|   *	This is an Ethernet frame header. | ||||
|   */ | ||||
|   | ||||
| +#if __UAPI_DEF_ETHHDR | ||||
|  struct ethhdr { | ||||
|  	unsigned char	h_dest[ETH_ALEN];	/* destination eth addr	*/ | ||||
|  	unsigned char	h_source[ETH_ALEN];	/* source ether addr	*/ | ||||
|  	__be16		h_proto;		/* packet type ID field	*/ | ||||
|  } __attribute__((packed)); | ||||
| +#endif | ||||
|   | ||||
|  #endif	/* _LINUX_IF_ETHER_H */ | ||||
| --- a/include/linux-private/linux/libc-compat.h | ||||
| +++ b/include/linux-private/linux/libc-compat.h | ||||
| @@ -48,10 +48,18 @@ | ||||
|  #ifndef _LIBC_COMPAT_H | ||||
|  #define _LIBC_COMPAT_H | ||||
|   | ||||
| -/* We have included glibc headers... */ | ||||
| -#if defined(__GLIBC__) | ||||
| +/* We're used from userspace... */ | ||||
| +#if !defined(__KERNEL__) | ||||
|   | ||||
| -/* Coordinate with glibc netinet/in.h header. */ | ||||
| +/* Coordinate with libc netinet/if_ether.h */ | ||||
| +#ifdef _NETINET_IF_ETHER_H /* musl */ | ||||
| +#define __UAPI_DEF_ETHHDR 0 | ||||
| +#else | ||||
| +/* glibc uses __NETINET_IF_ETHER_H, and uses the uapi header. */ | ||||
| +#define __UAPI_DEF_ETHHDR 1 | ||||
| +#endif | ||||
| + | ||||
| +/* Coordinate with libc netinet/in.h header. */ | ||||
|  #if defined(_NETINET_IN_H) | ||||
|   | ||||
|  /* GLIBC headers included first so don't define anything | ||||
| @@ -64,15 +72,7 @@ | ||||
|  #define __UAPI_DEF_IN_CLASS		0 | ||||
|   | ||||
|  #define __UAPI_DEF_IN6_ADDR		0 | ||||
| -/* The exception is the in6_addr macros which must be defined | ||||
| - * if the glibc code didn't define them. This guard matches | ||||
| - * the guard in glibc/inet/netinet/in.h which defines the | ||||
| - * additional in6_addr macros e.g. s6_addr16, and s6_addr32. */ | ||||
| -#if defined(__USE_MISC) || defined (__USE_GNU) | ||||
|  #define __UAPI_DEF_IN6_ADDR_ALT		0 | ||||
| -#else | ||||
| -#define __UAPI_DEF_IN6_ADDR_ALT		1 | ||||
| -#endif | ||||
|  #define __UAPI_DEF_SOCKADDR_IN6		0 | ||||
|  #define __UAPI_DEF_IPV6_MREQ		0 | ||||
|  #define __UAPI_DEF_IPPROTO_V6		0 | ||||
| @@ -83,7 +83,7 @@ | ||||
|  #else | ||||
|   | ||||
|  /* Linux headers included first, and we must define everything | ||||
| - * we need. The expectation is that glibc will check the | ||||
| + * we need. The expectation is that libc will check the | ||||
|   * __UAPI_DEF_* defines and adjust appropriately. */ | ||||
|  #define __UAPI_DEF_IN_ADDR		1 | ||||
|  #define __UAPI_DEF_IN_IPPROTO		1 | ||||
| @@ -93,7 +93,7 @@ | ||||
|  #define __UAPI_DEF_IN_CLASS		1 | ||||
|   | ||||
|  #define __UAPI_DEF_IN6_ADDR		1 | ||||
| -/* We unconditionally define the in6_addr macros and glibc must | ||||
| +/* We unconditionally define the in6_addr macros and libc must | ||||
|   * coordinate. */ | ||||
|  #define __UAPI_DEF_IN6_ADDR_ALT		1 | ||||
|  #define __UAPI_DEF_SOCKADDR_IN6		1 | ||||
| @@ -115,7 +115,10 @@ | ||||
|  /* If we did not see any headers from any supported C libraries, | ||||
|   * or we are being included in the kernel, then define everything | ||||
|   * that we need. */ | ||||
| -#else /* !defined(__GLIBC__) */ | ||||
| +#else /* defined(__KERNEL__) */ | ||||
| + | ||||
| +/* Definitions for if/ether.h */ | ||||
| +#define  __UAPI_DEF_ETHHDR		1 | ||||
|   | ||||
|  /* Definitions for in.h */ | ||||
|  #define __UAPI_DEF_IN_ADDR		1 | ||||
| @@ -138,6 +141,6 @@ | ||||
|  /* Definitions for xattr.h */ | ||||
|  #define __UAPI_DEF_XATTR		1 | ||||
|   | ||||
| -#endif /* __GLIBC__ */ | ||||
| +#endif /* defined(__KERNEL__) */ | ||||
|   | ||||
|  #endif /* _LIBC_COMPAT_H */ | ||||
| @@ -1,106 +0,0 @@ | ||||
| From 68f8393bd356a3d0598cf77e1044b7e8b98aa4d8 Mon Sep 17 00:00:00 2001 | ||||
| Message-Id: <68f8393bd356a3d0598cf77e1044b7e8b98aa4d8.1493920165.git.baruch@tkos.co.il> | ||||
| From: Baruch Siach <baruch@tkos.co.il> | ||||
| Date: Thu, 4 May 2017 15:56:14 +0300 | ||||
| Subject: [PATCH] Revert "build: enable building cli during tests" | ||||
|  | ||||
| This reverts commit 3cb28534d34392ceec4adead0cfa97039796ccb7. | ||||
|  | ||||
| Contrary to what 3cb28534d commit log claims, the cli programs depend on | ||||
| dynamic libraries support of the toolchain. Enabling cli programs | ||||
| unconditionally breaks static build as follows: | ||||
|  | ||||
| In file included from lib/cli/cls/basic.c:12:0: | ||||
| ./include/netlink/cli/utils.h:25:19: fatal error: dlfcn.h: No such file or directory | ||||
| compilation terminated. | ||||
| Makefile:3666: recipe for target 'lib/cli/cls/lib_cli_cls_basic_la-basic.lo' failed | ||||
| make[1]: *** [lib/cli/cls/lib_cli_cls_basic_la-basic.lo] Error 1 | ||||
|  | ||||
| Revert that commit to restore the ability of static only build of libnl, and | ||||
| its dependencies. | ||||
|  | ||||
| Signed-off-by: Baruch Siach <baruch@tkos.co.il> | ||||
| --- | ||||
| Upstream status: https://github.com/thom311/libnl/pull/141 | ||||
|  | ||||
|  Makefile.am | 21 ++++++--------------- | ||||
|  1 file changed, 6 insertions(+), 15 deletions(-) | ||||
|  | ||||
| --- a/Makefile.am | ||||
| +++ b/Makefile.am | ||||
| @@ -3,8 +3,6 @@ | ||||
|  ACLOCAL_AMFLAGS = -I m4 | ||||
|   | ||||
|  lib_LTLIBRARIES = | ||||
| -noinst_LTLIBRARIES = | ||||
| -check_LTLIBRARIES = | ||||
|   | ||||
|  check_PROGRAMS = | ||||
|  check_programs = | ||||
| @@ -511,6 +509,8 @@ EXTRA_lib_libnl_xfrm_3_la_DEPENDENCIES = | ||||
|  lib_libnl_xfrm_3_la_LIBADD = \ | ||||
|  	lib/libnl-3.la | ||||
|   | ||||
| +if ENABLE_CLI | ||||
| + | ||||
|  lib_cli_ltlibraries_cls = \ | ||||
|  	lib/cli/cls/basic.la \ | ||||
|  	lib/cli/cls/cgroup.la | ||||
| @@ -524,15 +524,11 @@ lib_cli_ltlibraries_qdisc = \ | ||||
|  	lib/cli/qdisc/pfifo.la \ | ||||
|  	lib/cli/qdisc/plug.la | ||||
|   | ||||
| -if ENABLE_CLI | ||||
|  pkglib_clsdir = $(pkglibdir)/cli/cls | ||||
|  pkglib_qdiscdir = $(pkglibdir)/cli/qdisc | ||||
|  pkglib_cls_LTLIBRARIES = $(lib_cli_ltlibraries_cls) | ||||
|  pkglib_qdisc_LTLIBRARIES = $(lib_cli_ltlibraries_qdisc) | ||||
| -else | ||||
| -check_LTLIBRARIES += \ | ||||
| -	$(lib_cli_ltlibraries_cls) \ | ||||
| -	$(lib_cli_ltlibraries_qdisc) | ||||
| + | ||||
|  endif | ||||
|   | ||||
|  lib_cli_ldflags = \ | ||||
| @@ -565,9 +561,6 @@ src_lib_ldflags = | ||||
|   | ||||
|  if ENABLE_CLI | ||||
|  lib_LTLIBRARIES += src/lib/libnl-cli-3.la | ||||
| -src_lib_ldflags += -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) | ||||
| -else | ||||
| -check_LTLIBRARIES += src/lib/libnl-cli-3.la | ||||
|  endif | ||||
|   | ||||
|  src_lib_libnl_cli_3_la_SOURCES = \ | ||||
| @@ -594,7 +587,7 @@ src_lib_libnl_cli_3_la_CPPFLAGS = \ | ||||
|  	-I$(srcdir)/include \ | ||||
|  	-I$(builddir)/include | ||||
|  src_lib_libnl_cli_3_la_LDFLAGS = \ | ||||
| -	$(src_lib_ldflags) \ | ||||
| +	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ | ||||
|  	-Wl,--version-script=$(srcdir)/libnl-cli-3.sym | ||||
|  src_lib_libnl_cli_3_la_LIBADD = \ | ||||
|  	lib/libnl-3.la \ | ||||
| @@ -679,8 +672,6 @@ else | ||||
|  noinst_PROGRAMS += $(cli_programs) | ||||
|  endif | ||||
|  endif | ||||
| -else | ||||
| -check_PROGRAMS += $(cli_programs) | ||||
|  endif | ||||
|   | ||||
|  src_genl_ctrl_list_CPPFLAGS =       $(src_cppflags) | ||||
| @@ -858,10 +849,12 @@ tests_test_complex_HTB_with_hash_filters | ||||
|  tests_test_u32_filter_with_actions_CPPFLAGS       = $(tests_cppflags) | ||||
|  tests_test_u32_filter_with_actions_LDADD          = $(tests_ldadd) | ||||
|   | ||||
| +if ENABLE_CLI | ||||
|  check_PROGRAMS += \ | ||||
|  	tests/test-cache-mngr \ | ||||
|  	tests/test-genl \ | ||||
|  	tests/test-nf-cache-mngr | ||||
| +endif | ||||
|   | ||||
|  tests_cli_ldadd = \ | ||||
|  	$(tests_ldadd) \ | ||||
		Reference in New Issue
	
	Block a user