diff --git a/openwrt/include/host.mk b/openwrt/include/host.mk index abcf045d01e05327408dcb6e9bc8310b695ee74d..3a5fd9683e3592f4750a80964a321075e388cde7 100644 --- a/openwrt/include/host.mk +++ b/openwrt/include/host.mk @@ -7,6 +7,8 @@ include $(TOPDIR)/.host.mk +export TAR + $(TOPDIR)/.host.mk: $(INCLUDE_DIR)/host.mk @( \ HOST_OS=`uname`; \ @@ -23,5 +25,7 @@ $(TOPDIR)/.host.mk: $(INCLUDE_DIR)/host.mk if tar --version 2>&1 | grep 'GNU' >/dev/null; then \ echo "TAR_WILDCARDS:=--wildcards" >> $@; \ fi; \ + TAR=`which gtar tar | head -n 1`; \ + echo "TAR:=$$TAR" >> $@; \ ) diff --git a/openwrt/include/prereq-build.mk b/openwrt/include/prereq-build.mk index a2e5469fa633b62f074f2863797a0056738305ba..d6396af8e2885c063c297c3dfd133494b87905e3 100644 --- a/openwrt/include/prereq-build.mk +++ b/openwrt/include/prereq-build.mk @@ -8,6 +8,7 @@ include $(TOPDIR)/rules.mk TMP_DIR:=$(TOPDIR)/tmp include $(INCLUDE_DIR)/prereq.mk +include $(INCLUDE_DIR)/host.mk define Require/non-root [ "$$(shell whoami)" != "root" ] @@ -94,3 +95,11 @@ $(eval $(call RequireCommand,patch, \ $(eval $(call RequireCommand,perl, \ Please install perl. \ )) + +define Require/gnutar + $(TAR) --version 2>&1 | grep GNU > /dev/null +endef + +$(eval $(call Require,gnutar, \ + Please install GNU tar. \ +)) diff --git a/openwrt/rules.mk b/openwrt/rules.mk index b9859dbd3f66e9b653e56331a9ed05319d8fc341..73611029a3c835d933922100339ec6dce842c37b 100644 --- a/openwrt/rules.mk +++ b/openwrt/rules.mk @@ -6,6 +6,7 @@ # -include $(TOPDIR)/.config +include $(TOPDIR)/include/host.mk include $(TOPDIR)/include/verbose.mk export SHELL=/usr/bin/env bash -c '. $(TOPDIR)/include/shell.sh; eval "$$2"' -- diff --git a/openwrt/scripts/make-ipkg-dir.sh b/openwrt/scripts/make-ipkg-dir.sh index 236cb6feb4b01f8428e893fe1b35992d63e96ed2..902a4b526b00a2d81139dc530bc187c28ce9c66b 100755 --- a/openwrt/scripts/make-ipkg-dir.sh +++ b/openwrt/scripts/make-ipkg-dir.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh BASE=http://svn.openwrt.org/openwrt/trunk/openwrt TARGET=$1 CONTROL=$2