Skip to content

xbps Operations

Manage XBPS packages and repositories. Note that XBPS package names are case-sensitive.

Facts used in these operations: xbps.XbpsPackages, xbps.XbpsSelfUpdate.

xbps.packages

Install/remove/update XBPS packages.

xbps.packages(packages: 'str | list[str] | None' = None, present=True, update=False, upgrade=False,
         **kwargs,
    )
  • packages: list of packages to ensure
  • present: whether the packages should be installed
  • update: run xbps-install -S before installing packages
  • upgrade: run xbps-install -y -u before installing packages

If xbps itself has an update available it is updated before installing packages, as XBPS refuses to install anything else until it has.

Example:

from pyinfra.operations import xbps
xbps.packages(
    name="Install Vim and Vim Pager",
    packages=["vimpager", "vim"],
)

Global arguments

This operation also inherits all global arguments.

xbps.update

Stateless operation

This operation will always execute commands and is not idempotent.

Update XBPS repositories.

xbps.update(**kwargs)

Global arguments

This operation also inherits all global arguments.

xbps.upgrade

Stateless operation

This operation will always execute commands and is not idempotent.

Upgrades all XBPS packages, updating xbps itself first.

xbps.upgrade(**kwargs)

Global arguments

This operation also inherits all global arguments.