Patchwork [20/22] dependencies: test all programs before bailing out

login
register
mail settings
Submitter Thomas Petazzoni
Date March 24, 2013, 8:26 a.m.
Message ID <1364113606-20836-21-git-send-email-thomas.petazzoni@free-electrons.com>
Download mbox | patch
Permalink /patch/230402/
State Accepted
Commit 11f4c694e97f9610148b043f1c4119af047dba6a
Headers show

Comments

Thomas Petazzoni - March 24, 2013, 8:26 a.m.
The current dependencies code abort as soon as one program is
missing. It is quite annoying when multiple programs are
missing. Instead, bail out if needed after testing all programs.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 support/dependencies/dependencies.sh |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
Peter Korsgaard - March 24, 2013, 12:57 p.m.
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> The current dependencies code abort as soon as one program is
 Thomas> missing. It is quite annoying when multiple programs are
 Thomas> missing. Instead, bail out if needed after testing all programs.

Committed, thanks.

Patch

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index ab7f4a4..c11d362 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -131,9 +131,11 @@  if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then
 fi;
 
 # Check that a few mandatory programs are installed
+missing_progs="no"
 for prog in patch perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do
     if ! which $prog > /dev/null ; then
 	/bin/echo -e "You must install '$prog' on your build machine";
+	missing_progs="yes"
 	if test $prog = "svn" ; then
 	    /bin/echo -e "  svn is usually part of the subversion package in your distribution"
 	elif test $prog = "hg" ; then
@@ -143,10 +145,13 @@  for prog in patch perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do
 	elif test $prog = "bzcat" ; then
             /bin/echo -e "  bzcat is usually part of the bzip2 package in your distribution"
 	fi
-	exit 1;
     fi
 done
 
+if test "${missing_progs}" = "yes" ; then
+    exit 1
+fi
+
 if grep ^BR2_TOOLCHAIN_BUILDROOT=y $BUILDROOT_CONFIG > /dev/null && \
    grep ^BR2_ENABLE_LOCALE=y       $BUILDROOT_CONFIG > /dev/null ; then
    if ! which locale > /dev/null ; then