From ac6243709997243fe8d254fdb9c49f7add90e450 Mon Sep 17 00:00:00 2001 From: "Sergey V. Lobanov" Date: Sat, 5 Feb 2022 01:18:27 +0300 Subject: [PATCH] ipvsadm: fix build on macos ipvsadm build fails on macos due to libipvs Makefiles uses system `ar` that is not compatible with the objectes generated by OpenWrt GCC Toolchain. This commit adds patch to allow ar redefining This commit modifes an old patch (removing CC=gcc is not required due to it is redefinable) Signed-off-by: Sergey V. Lobanov --- net/ipvsadm/Makefile | 2 +- net/ipvsadm/patches/001-Makefile.patch | 4 +- .../100_allow_to_redefine_ar_libipvs.patch | 43 +++++++++++++++++++ 3 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 net/ipvsadm/patches/100_allow_to_redefine_ar_libipvs.patch diff --git a/net/ipvsadm/Makefile b/net/ipvsadm/Makefile index df064669fa..7780dd3039 100644 --- a/net/ipvsadm/Makefile +++ b/net/ipvsadm/Makefile @@ -13,7 +13,7 @@ PKG_VERSION:=1.31 PKG_MAINTAINER:=Mauro Mozzarelli , \ Florian Eckert PKG_LICENSE:=GPL-2.0-or-later -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/ipvsadm/ diff --git a/net/ipvsadm/patches/001-Makefile.patch b/net/ipvsadm/patches/001-Makefile.patch index e552cfcb31..d5cf182865 100644 --- a/net/ipvsadm/patches/001-Makefile.patch +++ b/net/ipvsadm/patches/001-Makefile.patch @@ -43,10 +43,10 @@ --- a/libipvs/Makefile +++ b/libipvs/Makefile -@@ -1,7 +1,6 @@ +@@ -1,7 +1,7 @@ # Makefile for libipvs --CC = gcc + CC = gcc -CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -fPIC +CFLAGS += -Wall -Wunused -Wstrict-prototypes -g -fPIC ifneq (0,$(HAVE_NL)) diff --git a/net/ipvsadm/patches/100_allow_to_redefine_ar_libipvs.patch b/net/ipvsadm/patches/100_allow_to_redefine_ar_libipvs.patch new file mode 100644 index 0000000000..440193a2e4 --- /dev/null +++ b/net/ipvsadm/patches/100_allow_to_redefine_ar_libipvs.patch @@ -0,0 +1,43 @@ +From: http://archive.linuxvirtualserver.org/html/lvs-devel/2022-02/msg00000.html + +From: "Sergey V. Lobanov" +To: lvs-devel@vger.kernel.org +Cc: "Sergey V. Lobanov" +Subject: [PATCH] ipvsadm: allow to redefine AR (libipvs) +Date: Sat, 5 Feb 2022 00:52:15 +0300 +Message-Id: <20220204215215.94422-1-sergey@lobanov.in> +X-Mailer: git-send-email 2.32.0 (Apple Git-132) +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Return-Path: sergey@lobanov.in + +libipvs Makefile uses `ar` to build archive. On cross-compile +cross-platfrom build it fails due system ar might be incompatible +with the objects generated by $(CC). It happens if build ipvsadm +on macos using GCC Toolchain (Linux target) + +This patch allows to redefine `ar` using AR var in libipvs Makefile + +Signed-off-by: Sergey V. Lobanov +--- + libipvs/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/libipvs/Makefile ++++ b/libipvs/Makefile +@@ -1,5 +1,6 @@ + # Makefile for libipvs + ++AR = ar + CC = gcc + CFLAGS += -Wall -Wunused -Wstrict-prototypes -g -fPIC + ifneq (0,$(HAVE_NL)) +@@ -30,7 +31,7 @@ SHARED_LIB = libipvs.so + all: $(STATIC_LIB) $(SHARED_LIB) + + $(STATIC_LIB): libipvs.o ip_vs_nl_policy.o +- ar rv $@ $^ ++ $(AR) rv $@ $^ + + $(SHARED_LIB): libipvs.o ip_vs_nl_policy.o + $(CC) -shared -Wl,-soname,$@ -o $@ $^