Skip to content
Snippets Groups Projects
discover_package_manager 1.13 KiB
Newer Older
Pietro Incardona's avatar
Pietro Incardona committed
#! /bin/bash

function discover_package_manager() {
  if [ x"$1" = x"osx" ]; then
    command -v brew >/dev/null
    if [ $? -eq 0 ]; then
      discover_package_manager_ret="brew"
      if [ ! -w /usr/local ]; then
        echo -e "\033[93;5mWARNING: \033[0m  /usr/local is not writtable, brew require that /usr/local is writtable and /usr/local/bin is in your PATH, otherwise the solutions with brew will fail"
      fi
      return
    fi
    command -v port >/dev/null
    if [ command -v port >/dev/null 2>&1 ]; then
      discover_package_manager_ret="sudo port"
      return
    else
Incardona Pietro's avatar
Incardona Pietro committed
      discover_package_manager_ret=""
Pietro Incardona's avatar
Pietro Incardona committed
      return
    fi
  elif [ x"$1" = x"linux"  ]; then
    command -v yum >/dev/null
    if [ $? -eq 0 ]; then
      discover_package_manager_ret="yum"
      return
    fi
    command -v apt-get >/dev/null
    if [ $? -eq 0 ]; then
      discover_package_manager_ret="apt-get"
      return
    fi
    command -v zypper >/dev/null
Yaser Afshar's avatar
Yaser Afshar committed
    if [ $? -eq 0 ]; then
Pietro Incardona's avatar
Pietro Incardona committed
      discover_package_manager_ret="zypper"
      return
    else
Incardona Pietro's avatar
Incardona Pietro committed
      discover_package_manager_ret=""
Pietro Incardona's avatar
Pietro Incardona committed
      return
    fi
  fi
}

echo "$discover_package_manager_ret"