File: load_repo.cpp

package info (click to toggle)
dnf5 5.4.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,960 kB
  • sloc: cpp: 94,312; python: 3,370; xml: 1,073; ruby: 600; sql: 250; ansic: 232; sh: 104; perl: 62; makefile: 30
file content (24 lines) | stat: -rw-r--r-- 836 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
auto repo_sack = base.get_repo_sack();

// Create a new repo with the given id.
//
// The repo is a weak pointer to an object owned by the repo sack.
auto repo = repo_sack->create_repo("my_new_repo_id");

// Configure the repo.
//
// Setting at least one of the baseurl, mirrorlist or metalink options is
// mandatory.
//
// baseurl examples:
// * /absolute/path/
// * file:///absolute/path/url/
// * https://example.com/url/
repo->get_config().get_baseurl_option().set(baseurl);

// If out of date, downloads fresh metadata of all available repositories and
// loads the repositories into memory.
//
// `libdnf5.repo.Repo.Type_AVAILABLE` as first argument says to load only the available
// repositories (repository SYSTEM, that contains installed pacakges, is not loaded).
repo_sack->load_repos(libdnf5::repo::Repo::Type::AVAILABLE);