#!/usr/bin/env miaou-bash

# FIXME: deprecated, to be removed in a few months!

function usage {
  local BASECMD
  BASECMD=$(basename "$0")
  echo "usage: $BASECMD <packages...>"
  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
}

[ "$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

  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)
  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
  ;;
esac
