# salt.modules.xbpspkg

Package support for XBPS package manager (used by VoidLinux)

New in version 2016.11.0.

salt.modules.xbpspkg.add_repo(repo, conffile='/usr/share/xbps.d/15-saltstack.conf')

  Add an XBPS repository to the system.

  repo

    url of repo to add (persistent).

  conffile

    path to xbps conf file to add this repo default: /usr/share/xbps.d/15-saltstack.conf

  CLI Examples:

      salt '*' pkg.add_repo <repo url> [conffile=/path/to/xbps/repo.conf]

salt.modules.xbpspkg.available_version(*names, **kwargs)

  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.latest_version <package name>
      salt '*' pkg.latest_version <package1> <package2> <package3> ...

salt.modules.xbpspkg.del_repo(repo, **kwargs)

  Remove an XBPS repository from the system.

  repo

    url of repo to remove (persistent).

  CLI Examples:

      salt '*' pkg.del_repo <repo url>

salt.modules.xbpspkg.get_repo(repo, **kwargs)

  Display information about the repo.

  CLI Examples:

      salt '*' pkg.get_repo 'repo-url'

salt.modules.xbpspkg.install(name=None, refresh=False, fromrepo=None, pkgs=None, sources=None, **kwargs)

  Install the passed package

  name

    The name of the package to be installed.

  refresh

    Whether or not to refresh the package database before installing.

  fromrepo

    Specify a package repository (url) to install from.

  Multiple Package Installation Options:

  pkgs

    A list of packages to install from a software repository. Must be passed as a python list.

    CLI Example:

        salt '*' pkg.install pkgs='["foo","bar"]'

  sources

    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.

    CLI Example:

        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'

  Return a dict containing the new package names and versions:

      {'<package>': {'old': '<old-version>',
                     'new': '<new-version>'}}

  CLI Example:

      salt '*' pkg.install <package name>

salt.modules.xbpspkg.latest_version(*names, **kwargs)

  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.latest_version <package name>
      salt '*' pkg.latest_version <package1> <package2> <package3> ...

salt.modules.xbpspkg.list_pkgs(versions_as_list=False, **kwargs)

  List the packages currently installed as a dict:

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

  CLI Example:

      salt '*' pkg.list_pkgs

salt.modules.xbpspkg.list_repos(**kwargs)

  List all repos known by XBPS

  CLI Example:

      salt '*' pkg.list_repos

salt.modules.xbpspkg.list_upgrades(refresh=True, **kwargs)

  Check whether or not an upgrade is available for all packages

  CLI Example:

      salt '*' pkg.list_upgrades

salt.modules.xbpspkg.refresh_db(**kwargs)

  Update list of available packages from installed repos

  CLI Example:

      salt '*' pkg.refresh_db

salt.modules.xbpspkg.remove(name=None, pkgs=None, recursive=True, **kwargs)
  name

    The name of the package to be deleted.

  recursive

    Also remove dependent packages (not required elsewhere). Default mode: enabled.

  Multiple Package Options:

  pkgs

    A list of packages to delete. Must be passed as a python list. The `name` parameter will be ignored if this option is passed.

  Returns a list containing the removed packages.

  CLI Example:

      salt '*' pkg.remove <package name> [recursive=False]
      salt '*' pkg.remove <package1>,<package2>,<package3> [recursive=False]
      salt '*' pkg.remove pkgs='["foo", "bar"]' [recursive=False]

salt.modules.xbpspkg.upgrade(refresh=True, **kwargs)

  Run a full system upgrade

  refresh

    Whether or not to refresh the package database before installing. Default is True.

  Returns a dictionary containing the changes:

      {'<package>':  {'old': '<old-version>',
                      'new': '<new-version>'}}

  CLI Example:

      salt '*' pkg.upgrade

salt.modules.xbpspkg.upgrade_available(name, **kwargs)

  Check whether or not an upgrade is available for a given package

  CLI Example:

      salt '*' pkg.upgrade_available <package name>

salt.modules.xbpspkg.version(*names, **kwargs)

  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> ...