diff options
author | Sergey V. Lobanov <sergey@lobanov.in> | 2022-02-02 03:32:38 +0300 |
---|---|---|
committer | Rosen Penev <rosenp@gmail.com> | 2022-02-23 17:13:16 -0800 |
commit | 6f1e8ab67c6772132ac6e489cb353ce8719a6b4c (patch) | |
tree | 6a986d5febb4078286f9c22ee7cd518b77afc8c9 /net/shorewall-core/Makefile | |
parent | d865f898b6335fc5e741d6d7f0503f30f51e770d (diff) |
shorewall-core: fix build on macos
shorewall-core macos build fails due to:
1. MacOS bash is too old (3.x), but shorewall-core requires bash>4
This patch uses OpenWrt tools/bash built for macos (bash 5.x)
2. install.sh detects Darwin using uname and changes install logic,
but it fails in case of cross-platform build
This patch uses fakeuname/host tool to avoid Darwin detection
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
Diffstat (limited to 'net/shorewall-core/Makefile')
-rw-r--r-- | net/shorewall-core/Makefile | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/net/shorewall-core/Makefile b/net/shorewall-core/Makefile index 72352fe2c..fcf4ff0ca 100644 --- a/net/shorewall-core/Makefile +++ b/net/shorewall-core/Makefile @@ -14,7 +14,7 @@ PKG_BUGFIX_MAJOR_VERSION:=8 PKG_BUGFIX_MINOR_VERSION:= PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION) PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION) -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_URL:=http://shorewall.org/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \ http://slovakia.shorewall.net/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \ @@ -23,11 +23,16 @@ PKG_SOURCE_URL:=http://shorewall.org/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/sh PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_HASH:=39996b9697a2017947049ad3f03cb278e8f939ff924b2bb4bf2a0bc17c59988e +PKG_BUILD_DEPENDS:=HOST_OS_MACOS:fakeuname/host + PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl> PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING include $(INCLUDE_DIR)/package.mk +ifeq ($(CONFIG_HOST_OS_MACOS),y) + include ../../utils/fakeuname/fakeuname.mk +endif define Package/shorewall-core SECTION:=net @@ -50,8 +55,19 @@ endef CONFIGURE_ARGS += \ vendor=openwrt +# MacOS bash is too old for shorewall-core, use OpenWrt host tools/bash built for macos hosts +# use fakeuname to avoid 'if `uname` is Darwin' checks +MACOS_ENV := \ + PATH=$(FAKEUNAME_PATH):$(TARGET_PATH_PKG) \ + $(BASH) + +CONFIGURE_VARS += \ + $(if $(CONFIG_HOST_OS_MACOS),$(MACOS_ENV)) + define Build/Compile - DESTDIR=$(PKG_INSTALL_DIR) $(PKG_BUILD_DIR)/install.sh + DESTDIR=$(PKG_INSTALL_DIR) \ + $(if $(CONFIG_HOST_OS_MACOS),$(MACOS_ENV)) \ + $(PKG_BUILD_DIR)/install.sh endef define Package/shorewall-core/install |