diff --git a/tools/idem_apt_install b/tools/idem_apt_install index 651a6d5..c2e211d 100755 --- a/tools/idem_apt_install +++ b/tools/idem_apt_install @@ -1,53 +1,52 @@ -#!/bin/bash +#!/usr/bin/env miaou-bash function usage { - local BASECMD - BASECMD=$(basename "$0") - echo "usage: $BASECMD " - case $(os-release) in - debian) - echo 'idempotent debian package installation : update if necessary, install only if not yet done' - ;; - arch) - echo 'idempotent archlinux package installation : update if necessary, install only if not yet done' - ;; - esac + local BASECMD + BASECMD=$(basename "$0") + echo "usage: $BASECMD " + case $(os-release) in + debian) + echo 'idempotent debian package installation : update if necessary, install only if not yet done' + ;; + arch) + echo 'idempotent archlinux package installation : update if necessary, install only if not yet done' + ;; + esac - exit 1 + exit 1 } -BASEDIR=$(dirname "$0") -source "$BASEDIR"/../lib/functions.bash - -[ "$(id -u)" -ne 0 ] && echo 'root privilege required' && exit 2 +[ "$UID" -ne 0 ] && echo 'root privilege required' && exit 2 [[ $# -lt 1 ]] && usage +source "$MIAOU_BASH_DIR"/lib/functions.bash + case $(os-release) in debian | ubuntu | linuxmint) - if [ "$(date --date='-12 hours' +%s)" -gt "$(date -d "$(stat -c %y /var/lib/apt/lists/partial)" +%s)" ]; then - echo "updating repositoring..." - apt-get update - fi + if [ "$(date --date='-12 hours' +%s)" -gt "$(date -d "$(stat -c %y /var/lib/apt/lists/partial)" +%s)" ]; then + echo "updating repositoring..." + apt-get update + fi - for i in "$@"; do - if ! dpkg -l "$i" 2>/dev/null | grep -q ^ii; then - sudo apt-get install -y "$i" - elif [ -n "${VERBOSE+x}" ] && $VERBOSE; then - echo "apt package <$i> already installed!" - fi - done - ;; + for i in "$@"; do + if ! dpkg -l "$i" 2>/dev/null | grep -q ^ii; then + apt-get install -y "$i" + elif [ -n "${VERBOSE+x}" ] && $VERBOSE; then + echo "apt package <$i> already installed!" + fi + done + ;; arch) - sudo pacman -Syyu --noconfirm - for i in "$@"; do - if ! pacman -Ql "$i" &>/dev/null; then - sudo pacman -S --noconfirm "$i" - elif [ -n "${VERBOSE+x}" ] && $VERBOSE; then - echo "pacman package <$i> already installed!" - fi - done - ;; + pacman -Syyu --noconfirm + for i in "$@"; do + if ! pacman -Ql "$i" &>/dev/null; then + pacman -S --noconfirm "$i" + elif [ -n "${VERBOSE+x}" ] && $VERBOSE; then + echo "pacman package <$i> already installed!" + fi + done + ;; *) - echo "unknown os release <$(os-release)>!" && exit 2 - ;; + echo "unknown os release <$(os-release)>!" && exit 2 + ;; esac