From cafc7b1d93e83661dca1f7cb96de9ba752316591 Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 3 Mar 2014 19:18:26 -0300 Subject: [PATCH] Extract kickstart.package.installed functions for each package manager --- kickstart/recipes/kickstart/package.sh | 36 ++++++++++++-------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/kickstart/recipes/kickstart/package.sh b/kickstart/recipes/kickstart/package.sh index 9993131..1691940 100644 --- a/kickstart/recipes/kickstart/package.sh +++ b/kickstart/recipes/kickstart/package.sh @@ -5,26 +5,24 @@ kickstart.package.manager() { kickstart.info "kickstart supports apt-get, yum or brew" && exit 1 } +kickstart.package.installed.apt-get() { + dpkg -s "$@" >/dev/null 2>&1 +} + +kickstart.package.installed.brew() { + ! $(brew info "$@" | kickstart.stream.contains "Not installed") +} + +kickstart.package.installed.yum() { + local yum_packages="`yum list installed`" + for package in "$@"; do + kickstart.stream.contains $package <<<$yum_packages || return 1 + done + return 0 +} + kickstart.package.installed() { - local pkg_manager=`kickstart.package.manager` - - 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 - kickstart.stream.contains $package <<<$yum_packages || return 1 - done - return 0 - fi + kickstart.package.installed.`kickstart.package.manager` "$@" } kickstart.package.install() {