A module to wrap pacman calls, since Arch is the best (https://wiki.archlinux.org/index.php/Arch_is_the_best)
Return the latest version of the named package available for upgrade or installation. If more than one package name is specified, a dict of name/version pairs is returned.
If the latest version of a given package is already installed, an empty string will be returned for that package.
CLI Example:
salt '*' pkg.available_version <package name>
salt '*' pkg.available_version <package1> <package2> <package3> ...
Compare two version strings. Return -1 if version1 < version2, 0 if version1 == version2, and 1 if version1 > version2. Return None if there was a problem making the comparison.
CLI Example:
salt '*' pkg.compare '0.2.4-0' '0.2.4.1-0'
Install the passed package, add refresh=True to install with an -Sy.
The name of the package to be installed. Note that this parameter is ignored if either "pkgs" or "sources" is passed. Additionally, please note that this option can only be used to install packages from a software repository. To install a package file manually, use the "sources" option.
Multiple Package Installation Options:
A list of packages to install from a software repository. Must be passed as a python list.
A list of packages to install. Must be passed as a list of dicts, with the keys being package names, and the values being the source URI or local path to the package.
Returns a dict containing the new package names and versions:
{'<package>': {'old': '<old-version>',
'new': '<new-version>'}}
List the packages currently installed as a dict:
{'<package_name>': '<version>'}
CLI Example:
salt '*' pkg.list_pkgs
List all available package upgrades on this system
CLI Example:
salt '*' pkg.list_upgrades
Recursively remove a package and all dependencies which were installed with it, this will call a pacman -Rsc
Return a list containing the removed packages.
CLI Example:
salt '*' pkg.purge <package name>
Just run a pacman -Sy, return a dict:
{'<database name>': Bool}
CLI Example:
salt '*' pkg.refresh_db
Remove a single package with pacman -R
Return a list containing the removed packages.
CLI Example:
salt '*' pkg.remove <package name>
Run a full system upgrade, a pacman -Syu
Return a dict containing the new package names and versions:
{'<package>': {'old': '<old-version>',
'new': '<new-version>'}}
CLI Example:
salt '*' pkg.upgrade
Check whether or not an upgrade is available for a given package
CLI Example:
salt '*' pkg.upgrade_available <package name>
Returns a string representing the package version or an empty string if not installed. If more than one package name is specified, a dict of name/version pairs is returned.
CLI Example:
salt '*' pkg.version <package name>
salt '*' pkg.version <package1> <package2> <package3> ...