From a0312747a6aa655fe20ec0b11a91ca519336535f Mon Sep 17 00:00:00 2001 From: alanw Date: Tue, 20 Jun 2023 14:14:35 -0700 Subject: [PATCH] v1.6.3 - added check-packages() function --- functions | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) diff --git a/functions b/functions index 0dec246..de41b4b 100644 --- a/functions +++ b/functions @@ -2,9 +2,11 @@ # pyr0ball script functions library # Initial Vars +functionsrev=1.6.3 functionsrev=1.6.2 functionsrev=1.6.0 functionsrev=1.6.2 +functionsrev=1.6.3 #scriptname="${BASH_SOURCE[0]##*/}" #rundir="${BASH_SOURCE[0]%/*}" #rundir_absolute=$(cd $rundir && pwd) @@ -1208,4 +1210,118 @@ identify-system() { esac } +check-packages(){ + declare -a packages=() + declare -a offline_packages=() + for arg in "$@"; do + if [[ -f $arg ]]; then + offline_packages+=("$arg") + else + packages+=("$arg") + fi + done + identify-system + case $ID in + amzn | centos | fedora | rhel) + [ "${#packages[@]}" -gt 0 ] && run sudo yum list installed "${packages[@]}" + [ "${#offline_packages[@]}" -gt 0 ] && run sudo rpm -q "${packages[@]}" + ;; + arch | Arch | manjaro) + if [ "${#packages[@]}" -gt 0 ]; then + run sudo pacman -Qs "${packages[@]}" + fi + [ "${#offline_packages[@]}" -gt 0 ] && run sudo pacman -Q "${offline_packages[@]}" + ;; + debian | ubuntu | Ubuntu) + if [ "${#packages[@]}" -gt 0 ]; then + run sudo dpkg -s "${packages[@]}" + fi + [ "${#offline_packages[@]}" -gt 0 ] && run sudo dpkg -s "${offline_packages[@]}" + ;; + opensuse | sles) + if [ "${#packages[@]}" -gt 0 ]; then + run sudo zypper se "${packages[@]}" + fi + [ "${#offline_packages[@]}" -gt 0 ] && run sudo rpm -q "${offline_packages[@]}" + ;; + slackware) + if [ "${#packages[@]}" -gt 0 ]; then + for package in "${packages[@]}"; do + run sudo slackpkg search "$package" + done + fi + if [ "${#offline_packages[@]}" -gt 0 ]; then + for package_file in "${offline_packages[@]}"; do + run sudo slackpkg search "$package_file" + done + fi + ;; + brew) + [ "${#packages[@]}" -gt 0 ] && run brew list "${packages[@]}" + if [ "${#offline_packages[@]}" -gt 0 ]; then + for package_file in "${offline_packages[@]}"; do + run brew list "$package_file" + done + fi + ;; + esac +} + +check-packages(){ + declare -a packages=() + declare -a offline_packages=() + for arg in "$@"; do + if [[ -f $arg ]]; then + offline_packages+=("$arg") + else + packages+=("$arg") + fi + done + identify-system + case $ID in + amzn | centos | fedora | rhel) + [ "${#packages[@]}" -gt 0 ] && run sudo yum list installed "${packages[@]}" + [ "${#offline_packages[@]}" -gt 0 ] && run sudo rpm -q "${packages[@]}" + ;; + arch | Arch | manjaro) + if [ "${#packages[@]}" -gt 0 ]; then + run sudo pacman -Qs "${packages[@]}" + fi + [ "${#offline_packages[@]}" -gt 0 ] && run sudo pacman -Q "${offline_packages[@]}" + ;; + debian | ubuntu | Ubuntu) + if [ "${#packages[@]}" -gt 0 ]; then + run sudo dpkg -s "${packages[@]}" + fi + [ "${#offline_packages[@]}" -gt 0 ] && run sudo dpkg -s "${offline_packages[@]}" + ;; + opensuse | sles) + if [ "${#packages[@]}" -gt 0 ]; then + run sudo zypper se "${packages[@]}" + fi + [ "${#offline_packages[@]}" -gt 0 ] && run sudo rpm -q "${offline_packages[@]}" + ;; + slackware) + if [ "${#packages[@]}" -gt 0 ]; then + for package in "${packages[@]}"; do + run sudo slackpkg search "$package" + done + fi + if [ "${#offline_packages[@]}" -gt 0 ]; then + for package_file in "${offline_packages[@]}"; do + run sudo slackpkg search "$package_file" + done + fi + ;; + brew) + [ "${#packages[@]}" -gt 0 ] && run brew list "${packages[@]}" + if [ "${#offline_packages[@]}" -gt 0 ]; then + for package_file in "${offline_packages[@]}"; do + run brew list "$package_file" + done + fi + ;; + esac +} + set-boxtype \ No newline at end of file