From: Bryan Larsen Date: Mon, 11 Jul 2005 10:14:49 GMT Subject: [PATCH 2/6] config-sh: find and verify utils Message-ID: <20050711101443.10318.71126.sendpatchset@bryan-larsens-ibook-g4.local> In-Reply-To: <20050711101417.10318.64006.sendpatchset@bryan-larsens-ibook-g4.local> Add config.sh which searches for gnu versions of 'cp' 'stat' 'date' and 'xargs'. Signed-off-by: Bryan Larsen --- config.sh | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 65 insertions(+), 0 deletions(-) diff --git a/config.sh b/config.sh new file mode 100755 --- /dev/null +++ b/config.sh @@ -0,0 +1,65 @@ +#!/bin/sh +# +# Search for gnu utils. +# Copyright (c) Bryan Larsen, 2005 +# +# cogito and git-*-script rely on gnu versions of +# cp, date, xargs and stat. Look for them and +# ensure they're gnu. +# + +set -e + +if which gdate > /dev/null ; then + DATE=gdate ; +else + DATE=date ; +fi ; + +# you don't actually have to have gnu date, it just works better. + +if which gcp > /dev/null ; then + CP=gcp ; +else + CP=cp ; +fi ; + +if $CP -a config.sh cp-test-dummy ; then + rm cp-test-dummy ; +else + echo 'You must have gnu cp installed'; + exit 1; +fi ; + +if which gnuxargs > /dev/null ; then + XARGS=gnuxargs ; +else + XARGS=xargs ; +fi ; + +if ! ( echo | $XARGS -r ) ; then + echo 'You must have gnu xargs installed'; + exit 1; +fi ; + +if which gstat > /dev/null ; then + STAT=gstat ; +else + STAT=stat ; +fi ; + +if ! ($STAT -c '%s' config.sh > /dev/null ) ; then + if which awk > /dev/null ; then + STAT=dont_have_stat ; + else + echo 'You must have awk or gnu stat installed.'; + exit 1; + fi +fi ; + +echo CP=$CP > config +echo XARGS=$XARGS >> config +echo DATE=$DATE >> config +echo STAT=$STAT >> config + +set +e