From: Felix Fietkau Date: Fri, 22 Jul 2016 10:10:17 +0000 (+0200) Subject: build: rework opkg command invocation X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=5d30bf83039aa1089e70d8c80b6ad03ba92bfc2a build: rework opkg command invocation Drop included $(XARGS), add support for passing target dir via parameter Signed-off-by: Felix Fietkau --- diff --git a/include/rootfs.mk b/include/rootfs.mk index 4b4482c213..90ee312619 100644 --- a/include/rootfs.mk +++ b/include/rootfs.mk @@ -34,11 +34,11 @@ ifdef CONFIG_USE_MKLIBS endif # where to build (and put) .ipk packages -OPKG:= \ +opkg = \ IPKG_NO_SCRIPT=1 \ - IPKG_INSTROOT=$(TARGET_DIR) \ - $(XARGS) $(STAGING_DIR_HOST)/bin/opkg \ - --offline-root $(TARGET_DIR) \ + IPKG_INSTROOT=$(1) \ + $(STAGING_DIR_HOST)/bin/opkg \ + --offline-root $(1) \ --force-depends \ --force-overwrite \ --force-postinstall \ diff --git a/package/Makefile b/package/Makefile index 857c2ebe38..87dfe68e06 100644 --- a/package/Makefile +++ b/package/Makefile @@ -48,11 +48,16 @@ $(curdir)/install: $(TMP_DIR)/.build $(curdir)/system/opkg/host/install - find $(STAGING_DIR_ROOT) -type d | $(XARGS) chmod 0755 rm -rf $(TARGET_DIR) [ -d $(TARGET_DIR)/tmp ] || mkdir -p $(TARGET_DIR)/tmp - @echo $(wildcard $(foreach dir,$(PACKAGE_SUBDIRS),$(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(dir)/$(pkg)_*.ipk))) | $(OPKG) install + $(call opkg,$(TARGET_DIR)) install \ + $(wildcard \ + $(foreach dir,$(PACKAGE_SUBDIRS), \ + $(foreach pkg, \ + $(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null), \ + $(dir)/$(pkg)_*.ipk))) @for file in $(PACKAGE_INSTALL_FILES); do \ [ -s $$file.flags ] || continue; \ for flag in `cat $$file.flags`; do \ - $(OPKG) flag $$flag < $$file; \ + $(call opkg,$(TARGET_DIR)) flag $$flag `cat $$file`; \ done; \ done || true @-$(MAKE) package/preconfig