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 2019-10-20 22:12:03 +08:00 committed by Hauke Mehrtens
parent b2fdfe0727
commit 2d00cf7515
3 changed files with 4 additions and 211 deletions

View File

@ -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

View File

@ -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 */

View File

@ -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) \