salt.modules.rpm_lowpkg

Support for rpm

salt.modules.rpm_lowpkg.bin_pkg_info(path, saltenv='base')

New in version 2015.8.0.

Parses RPM metadata and returns a dictionary of information about the package (name, version, etc.).

path

Path to the file. Can either be an absolute path to a file on the minion, or a salt fileserver URL (e.g. salt://path/to/file.rpm). If a salt fileserver URL is passed, the file will be cached to the minion so that it can be examined.

saltenvbase

Salt fileserver environment from which to retrieve the package. Ignored if path is a local file path on the minion.

CLI Example:

salt '*' lowpkg.bin_pkg_info /root/salt-2015.5.1-2.el7.noarch.rpm
salt '*' lowpkg.bin_pkg_info salt://salt-2015.5.1-2.el7.noarch.rpm
salt.modules.rpm_lowpkg.checksum(*paths, **kwargs)

Return if the signature of a RPM file is valid.

root

use root as top level directory (default: "/")

CLI Example:

salt '*' lowpkg.checksum /path/to/package1.rpm
salt '*' lowpkg.checksum /path/to/package1.rpm /path/to/package2.rpm
salt.modules.rpm_lowpkg.diff(package_path, path)

Return a formatted diff between current file and original in a package. NOTE: this function includes all files (configuration and not), but does not work on binary content.

Parameters:
  • package -- Full pack of the RPM file

  • path -- Full path to the installed file

Returns:

Difference or empty string. For binary files only a notification.

CLI Example:

salt '*' lowpkg.diff /path/to/apache2.rpm /etc/apache2/httpd.conf
salt.modules.rpm_lowpkg.file_dict(*packages, **kwargs)

List the files that belong to a package, sorted by group. Not specifying any packages will return a list of _every_ file on the system's rpm database (not generally recommended).

root

use root as top level directory (default: "/")

CLI Examples:

salt '*' lowpkg.file_dict httpd
salt '*' lowpkg.file_dict httpd postfix
salt '*' lowpkg.file_dict
salt.modules.rpm_lowpkg.file_list(*packages, **kwargs)

List the files that belong to a package. Not specifying any packages will return a list of _every_ file on the system's rpm database (not generally recommended).

root

use root as top level directory (default: "/")

CLI Examples:

salt '*' lowpkg.file_list httpd
salt '*' lowpkg.file_list httpd postfix
salt '*' lowpkg.file_list
salt.modules.rpm_lowpkg.info(*packages, **kwargs)

Return a detailed package(s) summary information. If no packages specified, all packages will be returned.

Parameters:
  • packages --

  • attr --

    Comma-separated package attributes. If no 'attr' is specified, all available attributes returned.

    Valid attributes are:

    version, vendor, release, build_date, build_date_time_t, install_date, install_date_time_t, build_host, group, source_rpm, arch, epoch, size, license, signature, packager, url, summary, description.

  • all_versions -- Return information for all installed versions of the packages

  • root -- use root as top level directory (default: "/")

Returns:

CLI Example:

salt '*' lowpkg.info apache2 bash
salt '*' lowpkg.info apache2 bash attr=version
salt '*' lowpkg.info apache2 bash attr=version,build_date_iso,size
salt '*' lowpkg.info apache2 bash attr=version,build_date_iso,size all_versions=True
salt.modules.rpm_lowpkg.list_pkgs(*packages, **kwargs)

List the packages currently installed in a dict:

{'<package_name>': '<version>'}
root

use root as top level directory (default: "/")

CLI Example:

salt '*' lowpkg.list_pkgs
salt.modules.rpm_lowpkg.modified(*packages, **flags)

List the modified files that belong to a package. Not specifying any packages will return a list of _all_ modified files on the system's RPM database.

New in version 2015.5.0.

root

use root as top level directory (default: "/")

CLI Examples:

salt '*' lowpkg.modified httpd
salt '*' lowpkg.modified httpd postfix
salt '*' lowpkg.modified
salt.modules.rpm_lowpkg.owner(*paths, **kwargs)

Return the name of the package that owns the file. Multiple file paths can be passed. If a single path is passed, a string will be returned, and if multiple paths are passed, a dictionary of file/package name pairs will be returned.

If the file is not owned by a package, or is not present on the minion, then an empty string will be returned for that path.

root

use root as top level directory (default: "/")

CLI Examples:

salt '*' lowpkg.owner /usr/bin/apachectl
salt '*' lowpkg.owner /usr/bin/apachectl /etc/httpd/conf/httpd.conf
salt.modules.rpm_lowpkg.verify(*packages, **kwargs)

Runs an rpm -Va on a system, and returns the results in a dict

root

use root as top level directory (default: "/")

Files with an attribute of config, doc, ghost, license or readme in the package header can be ignored using the ignore_types keyword argument

CLI Example:

salt '*' lowpkg.verify
salt '*' lowpkg.verify httpd
salt '*' lowpkg.verify httpd postfix
salt '*' lowpkg.verify httpd postfix ignore_types=['config','doc']
salt.modules.rpm_lowpkg.version_cmp(ver1, ver2, ignore_epoch=False)

New in version 2015.8.9.

Do a cmp-style comparison on two packages. Return -1 if ver1 < ver2, 0 if ver1 == ver2, and 1 if ver1 > ver2. Return None if there was a problem making the comparison.

ignore_epochFalse

Set to True to ignore the epoch when comparing versions

New in version 2015.8.10,2016.3.2.

CLI Example:

salt '*' pkg.version_cmp '0.2-001' '0.2.0.1-002'