#!/bin/bash usage() { echo "$0 " echo echo "Detect if a given package version is already in repos" echo "Assuming you want greater or equal" echo echo "Example usage: is_built 'pcre' '20'" } while getopts 'h' arg; do case $arg in h) usage; exit 0 ;; *) usage; exit 1 ;; esac done ver=${2} pkg=${1} pver=$(LC_ALL=C pacman -Sddp --print-format "%v" "${pkg}" 2>/dev/null) # if pacman fails or returns nothing r=$? [ "${pver}" = " there is nothing to do" ] && r=1 result=$(vercmp "${pver}" "${ver}") # if vercmp > 1 means our version is bigger if [ ${result} -ge 0 -a ${r} -eq 0 ]; then exit 0 else exit 1 fi # just in case exit 1