From: Felix Fietkau Date: Thu, 27 Jan 2022 12:25:39 +0000 (+0100) Subject: tools: build bash on macOS and use it for ipkg-build X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3869ccbcc891a7185550a2a422e2db01fd994b7d;p=openwrt%2Fstaging%2Frobimarko.git tools: build bash on macOS and use it for ipkg-build On macOS, system binaries silently drop the environment variables for injecting extra shared libraries (used by fakeroot). This is done for security reasons. Work around this by building bash from source, so that it gets an ad-hoc signature and does not have these restrictions Signed-off-by: Felix Fietkau --- diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk index 362a0e2a8b..3063a86a28 100644 --- a/include/package-ipkg.mk +++ b/include/package-ipkg.mk @@ -264,7 +264,7 @@ $(_endef) endif $(INSTALL_DIR) $$(PDIR_$(1)) - $(FAKEROOT) $(SCRIPT_DIR)/ipkg-build -m "$(FILE_MODES)" $$(IDIR_$(1)) $$(PDIR_$(1)) + $(FAKEROOT) $(STAGING_DIR_HOST)/bin/bash $(SCRIPT_DIR)/ipkg-build -m "$(FILE_MODES)" $$(IDIR_$(1)) $$(PDIR_$(1)) @[ -f $$(IPKG_$(1)) ] $(1)-clean: diff --git a/tools/Makefile b/tools/Makefile index 686d5294d3..681344a014 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -80,6 +80,9 @@ ifneq ($(HOST_OS),Linux) $(curdir)/squashfskit4/compile += $(curdir)/coreutils/compile tools-y += coreutils endif +ifeq ($(HOST_OS),Darwin) + tools-y += bash +endif ifneq ($(CONFIG_CCACHE)$(CONFIG_SDK),) $(foreach tool, $(filter-out xz zstd pkgconf patch ninja meson libressl cmake,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/compile)) diff --git a/tools/bash/Makefile b/tools/bash/Makefile new file mode 100644 index 0000000000..7c25b83327 --- /dev/null +++ b/tools/bash/Makefile @@ -0,0 +1,21 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=bash +PKG_CPE_ID:=cpe:/a:gnu:bash +PKG_VERSION:=5.1.16 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=@GNU/bash +PKG_HASH:=5bac17218d3911834520dad13cd1f85ab944e1c09ae1aba55906be1f8192f558 + +HOST_BUILD_PARALLEL := 1 + +include $(INCLUDE_DIR)/host-build.mk + +$(eval $(call HostBuild))