A thin (and sane) wrapper around pacman
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
3.3 KiB

#!/bin/bash
#############################################################################
##
## A thin wrapper that translates humanly understandable "apt-like" commands
## to the enigma-esque syntax that is used by 'pacman'.
##
#############################################################################
if ! command -v pacman &> /dev/null
then
echo "ERROR: 'pacman' could not be found."
echo "Make sure it is installed and in your PATH!"
exit 1
fi
cmd="$1" # catch first arguments with $1
shift # drop the first argument from "$@"
case "$cmd" in
update)
# Update local package repo/cache
echo "Updating package index ..."
pacman -Sy
;;
upgrade)
# Perform package upgrade
echo "Installing package upgrades ..."
pacman -Syu
;;
upgradeable)
# Show which pacakges have an upgrade available
echo "Listing up upgradeable packages ..."
pacman -Qu
;;
install|reinstall)
# (re)Install a package and its dependencies
echo "Installing '$@' ..."
pacman -S "$@"
;;
remove)
# Remove package - keep dependencies
echo "Removing '$@' ..."
pacman -R "$@"
echo ""
echo "If you want to remove unused dependencies, run 'aptman autoremove'"
echo "or consider 'aptman purge [PKG]' next time."
;;
autoremove)
# Remove orphaned packages
echo "Removing orphaned packages ..."
pacman -Qdtq | pacman -Rs -
;;
purge)
# Remove package, dependencies and all of the config files
echo "Removing '$@', configurations and dependencies ..."
pacman -Rns "$@"
;;
check)
# Check & potentially fix broken dependencies
echo "Checking & (potentially fixing) broken dependencies ..."
pacman -Dk
;;
search)
# Search for available packages
echo "Searching packages for '$@' ..."
pacman -Ss "$@"
;;
show)
# Show info for a package
echo "Showing info for '$@' ..."
pacman -Si "$@"
;;
clean)
# Clean up pacman cache
# --> All the cached packages that are not installed, and unused sync database
echo "Cleaning up pacman cache ..."
pacman -Sc
;;
cleaner)
# Clean up pacman caches HARDER
# --> To remove ALL files from the cache directory
echo "Cleaning up pacman cache REALLY HARD ..."
pacman -Scc
;;
*)
# else
echo "Usage: aptman [...]"
echo "---------------------------------------"
echo "update - Update packages"
echo "upgrade - Install upgrades"
echo "upgradeable - List upgradeable packages"
echo "install | reinstall - (re)Install packages"
echo "remove - Uninstall package"
echo "autoremove - Uninstalling orphaned packages"
echo "purge - Uninstall package, dependencies and clean config"
echo "check - Check for broken dependencies"
echo "search - Search package"
echo "show - Show package info"
echo "clean | cleaner - Clean up pacman cache"
;;
esac