Browse Source

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 <sergey@lobanov.in>
lilik-openwrt-22.03
Sergey V. Lobanov 3 years ago
committed by Rosen Penev
parent
commit
ac62437099
3 changed files with 46 additions and 3 deletions
  1. +1
    -1
      net/ipvsadm/Makefile
  2. +2
    -2
      net/ipvsadm/patches/001-Makefile.patch
  3. +43
    -0
      net/ipvsadm/patches/100_allow_to_redefine_ar_libipvs.patch

+ 1
- 1
net/ipvsadm/Makefile View File

@ -13,7 +13,7 @@ PKG_VERSION:=1.31
PKG_MAINTAINER:=Mauro Mozzarelli <mauro@ezplanet.org>, \
Florian Eckert <fe@dev.tdt.de>
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/


+ 2
- 2
net/ipvsadm/patches/001-Makefile.patch View File

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


+ 43
- 0
net/ipvsadm/patches/100_allow_to_redefine_ar_libipvs.patch View File

@ -0,0 +1,43 @@
From: http://archive.linuxvirtualserver.org/html/lvs-devel/2022-02/msg00000.html
From: "Sergey V. Lobanov" <sergey@lobanov.in>
To: lvs-devel@vger.kernel.org
Cc: "Sergey V. Lobanov" <sergey@lobanov.in>
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 <sergey@lobanov.in>
---
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 $@ $^

Loading…
Cancel
Save