3.2. Loading repositories
These tutorials are follow-ups to Creating and configuring a session, you can prepend it directly for a functional piece of code.
3.2.1. Load repositories from system configuration files
1repo_sack = base.get_repo_sack()
2
3# Create repositories from system configuration files.
4repo_sack.create_repos_from_system_configuration()
5
6# If out of date, downloads fresh repositories' metadata and loads the
7# repositories into memory.
8#
9# load_repos() without any arguments says to load both the @System
10# repository (the packages installed on the system, loaded from the rpmdb)
11# and the available repositories.
12repo_sack.load_repos()
3.2.2. Load a custom repository
1repo_sack = base.get_repo_sack()
2
3# Create a new repo with the given id.
4#
5# The repo is a weak pointer to an object owned by the repo sack.
6repo = repo_sack.create_repo("rpm-repo1")
7
8# Configure the repo.
9#
10# Setting at least one of the baseurl, mirrorlist or metalink options is
11# mandatory.
12#
13# baseurl examples:
14# * /absolute/path/
15# * file:///absolute/path/url/
16# * https://example.com/url/
17repo.get_config().baseurl = baseurl
18
19# If out of date, downloads fresh metadata of all available repositories and
20# loads the repositories into memory.
21#
22# `libdnf5.repo.Repo.Type_AVAILABLE` as first argument says to load only the available
23# repositories (repository SYSTEM, that contains installed pacakges, is not loaded).
24repo_sack.load_repos(libdnf5.repo.Repo.Type_AVAILABLE)