From 8216d790fac941bf216ec5b9b889267e28aab943 Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 3 Mar 2014 11:00:39 -0300 Subject: [PATCH] Make kickstart.package.installed return the status Using `&&` was making the command only return when all the packages were installed. --- kickstart/recipes/kickstart/package.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/kickstart/recipes/kickstart/package.sh b/kickstart/recipes/kickstart/package.sh index 5581f69..9993131 100644 --- a/kickstart/recipes/kickstart/package.sh +++ b/kickstart/recipes/kickstart/package.sh @@ -7,8 +7,17 @@ kickstart.package.manager() { kickstart.package.installed() { local pkg_manager=`kickstart.package.manager` - [ $pkg_manager = 'apt-get' ] && dpkg -s "$@" >/dev/null 2>&1 && return $? - [ $pkg_manager = 'brew' ] && ! $(brew info "$@" | kickstart.stream.contains "Not installed") && return $? + + if [ $pkg_manager = 'apt-get' ]; then + dpkg -s "$@" >/dev/null 2>&1 + return $? + fi + + if [ $pkg_manager = 'brew' ]; then + ! $(brew info "$@" | kickstart.stream.contains "Not installed") + return $? + fi + if [ $pkg_manager = 'yum' ]; then local yum_packages="`yum list installed`" for package in "$@"; do