Dbus API bindings for dnfdaemon

Synopsis

Dbus methods and arguments. Generated from dbus XMLs.

Description

Note: While most of the following methods can be invoked successfully by a regular user, authentication by an administrative user is required for some of them (e.g. Goal.do_transaction(), Repo.confirm_key(), Repo.enable(), Repo.disable()). This authentication is managed by calling CheckAuthorization() method of the org.freedesktop.PolicyKit1.Authority Polkit D-Bus interface. The AllowUserInteraction flag is set for this call, indicating that if an authentication agent is available, the call is blocked while the user is prompted to authenticate. A hardcoded timeout of 2 minutes is set for the user interaction.

Interfaces

org.rpm.dnf.v0.Goal interface

interface org.rpm.dnf.v0.Goal
method resolve(a{sv} options) (a(sssa{sv}a{sv}) transaction_items, u result)
Arguments:
  • options (a{sv}) – an array of key/value pairs to modify dependency resolving

Returns:
  • transaction_items (a(sssa{sv}a{sv})) – array of (object_type, action, reason, {transaction_item_attributes}, {object}) tuples. object_type is one of libdnf5::transaction::TransactionItemType, action is one of libdnf5::transaction::TransactionItemAction, reason is one of libdnf5::transaction::TransactionItemReason enums. Each of these enums are represented as strings using corresponding libdnf5::transaction::*_to_string() methods. transaction_item_attributes is a map {attribute: value}. Currently “reason_change_group_id” attribute is used for target group id in case the action is ReasonChange and the reason Group, and “replaces” containing a vector of packages ids being replaced by this item. Finally the object is a map {attribute: value} and represents (according to object_type) package, group, environment, or module. These package attributes are returned: “name”, “epoch”, “version”, “release”, “arch”, “repo_id”, “from_repo_id”, “package_size”, “install_size”, “evr”, and “reason”. For groups the object contains “groupid” and “name” attributes.

  • result (u) – problems detected during transaction resolving. Possible values are 0 - no problem, 1 - no problem, but some info / warnings are present or 2 - resolving failed.

Resolve the transaction.

Following @options are supported:
  • allow_erasing: boolean, default false

    Whether removal of installed package is allowed to resolve the transaction.

Unknown options are ignored.

method get_transaction_problems_string() (as problems)
Returns:
  • problems (as) – array of strings containing all problems found during the transaction resolution.

Return all problems found during the transaction resolution as human readable messages.

method get_transaction_problems() (aa{sv} problems)
Returns:
  • problems (aa{sv}) – array of {key: value} maps

Return all problems found during the transaction resolution as structures. This is the list of problem keys: always present: action - see include/libdnf5/base/goal_elements.hpp: GoalAction problem - see include/libdnf5/base/goal_elements.hpp: GoalProblem optional: goal_job_settings - {string: variant}, settings used to resolve the goal spec - string, usually nevra of affected package additional_data - array of strings, more details on the problem solver_problems - problems reported by underlying libsolv

method do_transaction(a{sv} options) ()
Arguments:
  • options (a{sv}) – an array of key/value pairs to modify transaction running

Perform the resolved transaction.

Following @options are supported:
  • comment: string

    Adds a comment to a transaction.

Unknown options are ignored.

org.rpm.dnf.v0.SessionManager interface

interface org.rpm.dnf.v0.SessionManager
method open_session(a{sv} options) (o session_object_path)
Arguments:
  • options (a{sv}) – session configuration - an array of key/value pairs

Returns:
  • session_object_path (o) – object path to created Session object

Opens a new session.

Following configuration options are supported:

  • load_system_repo: bool, default true

    If true information about currently installed packages is loaded.

  • load_available_repos: bool, default true

    If true information about packages available in enabled repositories is loaded.

  • config: map {string: string}

    Override configuration options.

  • releasever: string

    Override releasever variable used for substitutions in repository configurations.

  • locale: string

    Override server locale for this session. Affects language used in various error messages.

Unknown options are ignored.

method close_session(o session_object_path) (b success)
Arguments:
  • session_object_path (o) – object path of session to close

Returns:
  • success (b) – bool whether the requested session was successfully closed

Close session on given object path.

org.rpm.dnf.v0.rpm.Repo interface

interface org.rpm.dnf.v0.rpm.Repo
method list(a{sv} options) (aa{sv} repositories)
Arguments:
  • options (a{sv}) – an array of key/value pairs

Returns:
  • repositories (aa{sv}) – array of returned repositories with requested attributes

Get list of repositories that match to given filters.

Following options are supported:

  • patterns: list of strings

    any repository with id matching to any of patterns is returned

  • repo_attrs: list of strings

    list of repository attributes that are returned

  • enable_disable: string (default “enabled”)

    When set to “enabled” or “disabled”, only enabled / disabled repositories are listed. Any other value means all repositories are returned.

Unknown options are ignored.

method confirm_key(s key_id, b confirmed) ()
Arguments:
  • key_id (s) – id of the key in question

  • confirmed (b) – whether the key import is confirmed by user

Confirm repository PGP key import.

method enable(as repo_ids) ()
Arguments:
  • repo_ids (as) – array of strings containing all repo ids to be enabled

Enable repositories based on the list of given ids.

method disable(as repo_ids) ()
Arguments:
  • repo_ids (as) – array of strings containing all repo ids to be disabled

Disable repositories based on the list of given ids.

org.rpm.dnf.v0.rpm.Rpm interface

interface org.rpm.dnf.v0.rpm.Rpm
method list(a{sv} options) (aa{sv} packages)
Arguments:
  • options (a{sv}) – an array of key/value pairs

Returns:
  • packages (aa{sv}) – array of returned packages with requested attributes

Get list of packages that match to given filters. Since the method returns packages directly in the D-Bus method reply message, which has a limited size, there is a possibility that the requested package set size would exceed this limit. If you request a large number of packages and/or a great number of package attributes, please consider using the list_fd() method.

Following options and filters are supported:

  • package_attrs: list of strings

    list of package attributes that are returned. Supported attributes are name, epoch, version, release, arch, repo_id, from_repo_id, is_installed, install_size, download_size, sourcerpm, summary, url, license, description, files, changelogs, provides, requires, requires_pre, conflicts, obsoletes, recommends, suggests, enhances, supplements, evr, nevra, full_nevra, reason, vendor, group.

  • with_nevra: bool (default true)

    match patterns against available packages NEVRAs

  • with_provides: bool (default true)

    match patterns against available packages provides

  • with_filenames: bool (default true)

    match patterns against names of the files in available packages

  • with_binaries: bool (default true)

    match patterns against names of the binaries in /usr/(s)bin in available packages

  • with_src: bool (default true)

    include source rpms into the results

  • icase: bool (default true)

    ignore case while matching patterns

  • patterns: list of strings

    any package matching to any of patterns is returned

  • scope: string (default “all”)

    limit packages to one of “all”, “installed”, “available”, “upgrades”, “upgradable”

  • arch: list of strings

    limit the resulting set only to packages of given architectures

  • repo: list of strings

    limit the resulting set only to packages from given repositories

  • latest-limit: int

    limit the resulting set to only <limit> of latest packages for every name and architecture

  • whatprovides: list of strings

    limit the resulting set only to packages that provide any of given capabilities

  • whatdepends: list of strings

    limit the resulting set only to packages that require, enhance, recommend, suggest or supplement any of given capabilities

  • whatrequires: list of strings

    limit the resulting set only to packages that require any of given capabilities

  • whatrecommends: list of strings

    limit the resulting set only to packages that recommend any of given capabilities

  • whatenhances: list of strings

    limit the resulting set only to packages that enhance any of given capabilities

  • whatsuggests: list of strings

    limit the resulting set only to packages that suggest any of given capabilities

  • whatsupplements: list of strings

    limit the resulting set only to packages that supplement any of given capabilities

  • whatobsoletes: list of strings

    limit the resulting set only to packages that obsolete any of given capabilities

  • whatconflicts: list of strings

    limit the resulting set only to packages that conflict with any of given capabilities

Unknown options are ignored.

method list(a{sv} options, h file_descriptor, s transfer_id) ()
Arguments:
  • options (a{sv})

  • file_descriptor (h)

  • transfer_id (s)

method install(as pkg_specs, a{sv} options) ()
Arguments:
  • pkg_specs (as) – an array of package specifications to be installed on the system

  • options (a{sv}) – an array of key/value pairs to modify install behavior

Mark packages specified by @pkg_specs for installation.

Following @options are supported:

  • repo_ids: list of strings

    Identifiers of the repos from which the packages could be installed.

  • skip_broken: boolean, default false

    Whether solver can skip packages with broken dependencies to resolve transaction

  • skip_unavailable: boolean, default false

    Whether nonexisting packages can be skipped.

Unknown options are ignored.

method upgrade(as pkg_specs, a{sv} options) ()
Arguments:
  • pkg_specs (as) – an array of package specifications to be upgraded on the system

  • options (a{sv}) – an array of key/value pairs to modify upgrade behavior

Mark packages specified by @pkg_specs for upgrade.

Following @options are supported:

  • repo_ids: list of strings

    Identifiers of the repos from which the packages could be upgraded.

Unknown options are ignored.

method remove(as pkg_specs, a{sv} options) ()
Arguments:
  • pkg_specs (as) – an array of package specifications to be removed on the system

  • options (a{sv}) – an array of key/value pairs to modify remove behavior

Mark packages specified by @pkg_specs for removal.

Unknown options are ignored.

method distro_sync(as pkg_specs, a{sv} options) ()
Arguments:
  • pkg_specs (as) – array of package specifications to synchronize to the latest available versions

  • options (a{sv}) – an array of key/value pairs to modify distro_sync behavior

Following @options are supported:

Unknown options are ignored.

method downgrade(as pkg_specs, a{sv} options) ()
Arguments:
  • pkg_specs (as) – an array of package specifications to be downgraded on the system

  • options (a{sv}) – an array of key/value pairs to modify downgrade behavior

Mark packages specified by @pkg_specs for downgrade.

Following @options are supported:

Unknown options are ignored.

method reinstall(as pkg_specs, a{sv} options) ()
Arguments:
  • pkg_specs (as) – an array of package specifications to be reinstalled on the system

  • options (a{sv}) – an array of key/value pairs to modify reinstall behavior

Mark packages specified by @pkg_specs for reinstall.

Following @options are supported:

Unknown options are ignored.

signal transaction_elem_progress(o session_object_path, s nevra, t processed, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • nevra (s) – full NEVRA of the package

  • processed (t) – amount already processed

  • total (t) – total to process

Overall progress in transaction item processing. Called right before an item is processed.

signal transaction_before_begin(o session_object_path, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • total (t) – number of elements in the rpm transaction

Send right before the rpm transaction is run.

signal transaction_after_complete(o session_object_path, b success)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • success (b) – true if the rpm transaction was completed successfully

Send right after the rpm transaction run finished.

signal transaction_action_start(o session_object_path, s nevra, u action, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • nevra (s) – full NEVRA of the package

  • action (u) – one of the dnfdaemon::RpmTransactionItem::Actions enum

  • total (t) – total to process

Processing (installation or removal) of the package has started.

signal transaction_action_progress(o session_object_path, s nevra, t processed, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • nevra (s) – full NEVRA of the package

  • processed (t) – amount already processed

  • total (t) – total to process

Progress in processing of the package.

signal transaction_action_stop(o session_object_path, s nevra, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • nevra (s) – full NEVRA of the package

  • total (t) – total processed

Processing of the package has finished.

signal transaction_script_start(o session_object_path, s nevra, u scriptlet_type)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • nevra (s) – full NEVRA of the package script belongs to

  • scriptlet_type (u) – scriptlet type that started (pre, post,…)

The scriptlet has started.

signal transaction_script_stop(o session_object_path, s nevra, u scriptlet_type, t return_code)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • nevra (s) – full NEVRA of the package script belongs to

  • scriptlet_type (u) – scriptlet type that started (pre, post,…)

  • return_code (t) – return value of the script

The scriptlet has successfully finished.

signal transaction_script_error(o session_object_path, s nevra, u scriptlet_type, t return_code)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • nevra (s) – full NEVRA of the package script belongs to

  • scriptlet_type (u) – scriptlet type that started (pre, post,…)

  • return_code (t) – return value of the script

The scriptlet has finished with an error.

signal transaction_verify_start(o session_object_path, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • total (t) – total to process

Package files verification has started.

signal transaction_verify_progress(o session_object_path, t processed, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • processed (t) – amount already processed

  • total (t) – total to process

Progress in processing of the package.

signal transaction_verify_stop(o session_object_path, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • total (t) – total to process

Package files verification has finished.

signal transaction_transaction_start(o session_object_path, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • total (t) – total to process

Preparation of transaction packages has started.

signal transaction_transaction_progress(o session_object_path, t processed, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • processed (t) – amount already processed

  • total (t) – total to process

Progress in preparation of transaction packages.

signal transaction_transaction_stop(o session_object_path, t total)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • total (t) – total to process

Preparation of transaction packages has finished.

signal transaction_unpack_error(o session_object_path, s nevra)
Arguments:
  • session_object_path (o) – object path of the dnf5daemon session

  • nevra (s) – full NEVRA of the package

Error while unpacking the package.

signal write_to_fd_finished(b success, s transfer_id, s error_msg)
Arguments:
  • success (b) – true if the tranfer finished successfully

  • transfer_id (s) – id of the tranfer was finished and its file descriptor closed

  • error_msg (s) – error message if the transfer was not successful.

Processing of the item has started.

org.rpm.dnf.v0.comps.Group interface

interface org.rpm.dnf.v0.comps.Group
method list(a{sv} options) (aa{sv} groups)
Arguments:
  • options (a{sv}) – an array of key/value pairs

Returns:
  • groups (aa{sv}) – array of returned groups with requested attributes

Get list of groups that match to given filters.

Following options and filters are supported:

  • attributes: list of strings

    list of group attributes that are returned

  • match_group_id: bool (default true)

    match patterns against ids of the groups

  • match_group_name: bool (default false)

    match patterns against names of the groups

  • scope: string (default “all”)

    limit groups to one of “all”, “installed”, “available”

  • with_hidden: bool (default false)

    include hidden groups into the result

  • patterns: list of strings

    any group matching to any of patterns is returned

  • contains_pkgs: list of strings

    include only groups containing given packages

Unknown options are ignored.

org.rpm.dnf.v0.Advisory interface

interface org.rpm.dnf.v0.Advisory
method list(a{sv} options) (aa{sv} advisories)
Arguments:
  • options (a{sv}) – an array of key/value pairs

Returns:
  • advisories (aa{sv}) – array of returned advisories with requested attributes

Get list of security advisories that match to given filters.

Following options and filters are supported:

  • advisory_attrs: list of strings

    List of advisory attributes that are returned in advisories array. Supported attributes are “advisoryid”, “name”, “title”, “type”, “severity”, “status”, “vendor”, “description”, “buildtime”, “message”, “rights”, “collections”, and “references”.

  • availability: string, default “available”

    Limit returned advisories based on their relation to installed packages. Accepted values are

    • “available” to return only advisories containing newer versions of installed packages

    • “all” - to return all advisories

    • “installed” - to return only advisories containing equal or older versions of installed packages

    • “updates” - to return only advisories containing newer versions of installed packages for which an update is available

  • names: list of strings

    Consider only advisories with one of given names.

  • types: list of strings

    Consider only advisories of given types. Possible types are “security”, “bugfix”, “enhancement”, and “newpackage”.

  • contains_pkgs: list of strings

    Consider only advisories containing one of given packages.

  • severities: list of strings

    Consider only advisories of given severity. Possible values are “critical”, “important”, “moderate”, “low”, and “none”.

  • reference_bzs: list of strings

    Consider only advisories referencing given Bugzilla ticket ID. Expected values are numeric IDs, e.g. 123456.

  • reference_cves: list of strings

    Consider only advisoried referencing given CVE ID. Expected values are strings IDs in CVE format, e.g. CVE-2201-0123.

  • with_bz: boolean, default False

    Consider only advisories referencing a Bugzilla ticket.

  • with_cve: boolean, default False

    Consider only advisories referencing a CVE ticket.

Unknown options are ignored.