From 0f0ba26f8ecd080e4006c37be6f59dbd8e9faa57 Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Thu, 20 Mar 2014 18:21:22 -0300 Subject: [PATCH] Move each package operation into a file. This change will accomodate better new package managers --- kickstart/recipes/kickstart/package.sh | 39 ++----------------- .../recipes/kickstart/package/install.sh | 20 ++++++++++ .../recipes/kickstart/package/installed.sh | 19 +++++++++ kickstart/recipes/kickstart/package/update.sh | 5 +++ .../recipes/kickstart/package/upgrade.sh | 3 ++ 5 files changed, 50 insertions(+), 36 deletions(-) create mode 100644 kickstart/recipes/kickstart/package/install.sh create mode 100644 kickstart/recipes/kickstart/package/installed.sh create mode 100644 kickstart/recipes/kickstart/package/update.sh create mode 100644 kickstart/recipes/kickstart/package/upgrade.sh diff --git a/kickstart/recipes/kickstart/package.sh b/kickstart/recipes/kickstart/package.sh index 1691940..a3db67a 100644 --- a/kickstart/recipes/kickstart/package.sh +++ b/kickstart/recipes/kickstart/package.sh @@ -5,39 +5,6 @@ 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() { - kickstart.package.installed.`kickstart.package.manager` "$@" -} - -kickstart.package.install() { - if kickstart.package.installed "$@"; then - kickstart.info "$@ already installed" - else - kickstart.info "No packages found matching $@. Installing..." - kickstart.mute `kickstart.package.manager` install -y "$@" - fi -} - -kickstart.package.update() { - kickstart.mute `kickstart.package.manager` update -y -} - -kickstart.package.upgrade() { - kickstart.mute `kickstart.package.manager` upgrade -y -} +for recipe in recipes/kickstart/package/*.sh; do + source $recipe +done diff --git a/kickstart/recipes/kickstart/package/install.sh b/kickstart/recipes/kickstart/package/install.sh new file mode 100644 index 0000000..34f9d9f --- /dev/null +++ b/kickstart/recipes/kickstart/package/install.sh @@ -0,0 +1,20 @@ +kickstart.package.install() { + if kickstart.package.installed "$@"; then + kickstart.info "$@ already installed" + else + kickstart.info "No packages found matching $@. Installing..." + kickstart.package.install.`kickstart.package.manager` "$@" + fi +} + +kickstart.package.install.apt-get() { + kickstart.mute apt-get install -y "$@" +} + +kickstart.package.install.brew() { + kickstart.mute brew install -y "$@" +} + +kickstart.package.install.yum() { + kickstart.mute yum install -y "$@" +} diff --git a/kickstart/recipes/kickstart/package/installed.sh b/kickstart/recipes/kickstart/package/installed.sh new file mode 100644 index 0000000..13e8111 --- /dev/null +++ b/kickstart/recipes/kickstart/package/installed.sh @@ -0,0 +1,19 @@ +kickstart.package.installed() { + kickstart.package.installed.`kickstart.package.manager` "$@" +} + +kickstart.package.installed.apt-get() { + kickstart.mute dpkg -s "$@" +} + +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 +} diff --git a/kickstart/recipes/kickstart/package/update.sh b/kickstart/recipes/kickstart/package/update.sh new file mode 100644 index 0000000..6588ced --- /dev/null +++ b/kickstart/recipes/kickstart/package/update.sh @@ -0,0 +1,5 @@ + +kickstart.package.update() { + kickstart.mute `kickstart.package.manager` update -y +} + diff --git a/kickstart/recipes/kickstart/package/upgrade.sh b/kickstart/recipes/kickstart/package/upgrade.sh new file mode 100644 index 0000000..2f58682 --- /dev/null +++ b/kickstart/recipes/kickstart/package/upgrade.sh @@ -0,0 +1,3 @@ +kickstart.package.upgrade() { + kickstart.mute `kickstart.package.manager` upgrade -y +}