From 3dcf8b9e33a39bb791904fcf6b2a4ff6ccbcfa7a Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 10 Oct 2006 21:06:45 +0000 Subject: [PATCH] more portability fixes and a prereq check for gnu tar git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@5037 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- include/host.mk | 4 ++++ include/prereq-build.mk | 9 +++++++++ rules.mk | 1 + scripts/make-ipkg-dir.sh | 2 +- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/include/host.mk b/include/host.mk index abcf045d0..3a5fd9683 100644 --- a/include/host.mk +++ b/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/include/prereq-build.mk b/include/prereq-build.mk index a2e5469fa..d6396af8e 100644 --- a/include/prereq-build.mk +++ b/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/rules.mk b/rules.mk index b9859dbd3..73611029a 100644 --- a/rules.mk +++ b/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/scripts/make-ipkg-dir.sh b/scripts/make-ipkg-dir.sh index 236cb6feb..902a4b526 100755 --- a/scripts/make-ipkg-dir.sh +++ b/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