1FEDRQ(5)                      File Formats Manual                     FEDRQ(5)
2
3
4

NAME

6       fedrq - Simplified repository querying
7

SYNTAX

9       fedrq uses the TOML syntax for its configuration files.
10

DIRECTORIES

12       PYTHON_SITELIB/fedrq/data/*.toml Builtin configuration files. These
13       should not be modified directly but may be overridden or used as exam‐
14       ples.
15
16       /etc/fedrq/*.toml System wide configuration files. Has precedence over
17       builtin configuration files.
18
19       ~/.config/fedrq/*.toml User configuration files. Highest precedence
20
21       Top level options and releases in the [releases] table can be redefined
22       by creating a configuration file with higher precedence.
23

OPTIONS

25       default_branch <str> (default: rawhide)
26           What branch to query by default when -b/--branch is not specified.
27       smartcache <bool|Literal["always"]> (default: true)
28           Different releases have different releasevers. Switching the relea‐
29           sever (i.e. passing a different value to --branch) clears the dnf
30           cache. When smartcache is true, fedrq sets base.conf.cachedir to
31           $XDG_CACHE_DIR/fedrq/BRANCH when changing the releasever. Unless
32           smartcache is set to always, the system cache is used if the re‐
33           quested branch's releasever is the same as the system's releasever.
34       releases <dict[str, ReleaseConfig]>
35           Keys are a friendly name for the distribution. RELEASE specifies
36           the format for the values.
37       filelists <always|never|auto> (default: auto)
38           See --filelists in fedrq(1)
39       backend <dnf|libdnf5>
40           See --backend in fedrq(1)
41
42   RELEASE
43       defs <dict[str, list[str]]>
44           Keys are repo types to pass to -r/--repo. Each repo type takes a
45           list of repo ids to query. All releases MUST have a base def.
46                defs.base = ["rawhide", "rawhide-source"]
47                # These are defined in rawhide-buildroot.repo which
48                # is referenced in `releases.rawhide.defpaths`.
49                defs.buildroot = ["fedrq-koji-rawhide", "fedrq-koji-rawhide-source"]
50       matcher <regex>
51           Python regex to match -b/--branch names against. Regexes must have
52           one capture group to use as the branch's releasever.
53                (example: matcher = "^(rawhide)$" or matcher = "^f(\d{2})$")
54       defpaths <list of paths> (default: [])
55           List of .repo files to load. All repo(s) MUST have enabled=0. fedrq
56           will enable the appropriate repos that are specified in defs for
57           the user's requested repo type. Paths can be relative or absolute.
58           Relative paths are searched for in the following directories:
59           •   PYTHON_SITELIB/fedrq/data/repos/
60           •   /etc/fedrq/repos/
61           •   ~/.config/fedrq/repos/
62
63
64       copr_chroot_fmt <str> (e.g. fedora-{version} or epel-{version} or fe‐
65       dora-rawhide)
66           Name of the Copr chroot that corresponds to this release. {version}
67           will be replaced with the releasever.
68       system_repos <bool> (default: true)
69           Whether to load the system repository configuration. If all of the
70           repository definitions are specified in defpaths, then it's a good
71           idea to turn this off to avoid conflicts (if e.g. the system con‐
72           figuration defines the same repository IDs) and save time.
73
74   EXAMPLES
75       Here are some example configuration snippets.
76
77       Configuring RPMFusion:
78
79       1. Install the applicable rpmfusion release packages.
80           $ sudo dnf install
81                rpmfusion-free-release rpmfusion-free-release-rawhide
82                rpmfusion-nonfree-release rpmfusion-nonfree-release-rawhide
83
84       2. Create a configuration
85           # ~/.config/fedrq/rpmfusion.toml
86
87           # `releases.rawhide` exists in the default configuration.
88           # fedrq will merge the extras keys in the `defs` table with the default config.
89           [releases.rawhide]
90           # Note that the corresponding -source repositories are enabled.
91           # All fedrq release defs must have these to ensure all functionality works
92           # properly (notably subpkgs and whatrequires-src).
93
94           # `fedrq CMD -b rawhide -r fusion-free` will enable the following two
95           # repositories and nothing more.
96           #
97           # Use `fedrq CMD -b rawhide -e fusion-free` to enable these repositories
98           # *in addition* to the default rawhide repositories.
99           defs.fusion-free = [
100               "rpmfusion-free-rawhide", "rpmfusion-free-rawhide-source",
101           ]
102           defs.fusion-nonfree-only = [
103               "rpmfusion-nonfree-rawhide", "rpmfusion-nonfree-rawhide-source"
104           ]
105           # Enable everything
106           defs.rpmfusion = [
107               # Include all repositories in defs.rpmfusion-free above
108               "@fusion-free",
109               # Include all repositories in defs.rpmfusion-nonfree-only above.
110               "@fusion-nonfree-only",
111           ]
112           # Make sure that fedrq loads repositories from the system configuration.
113           # This is the default but better to explicitly specify.
114           system_repos = true
115
116           [releases.branched]
117           defs.fusion-free = [
118               "rpmfusion-free", "rpmfusion-free-source",
119               "rpmfusion-free-updates", "rpmfusion-free-updates-source"
120           ]
121           defs.fusion-nonfree-only = [
122               "rpmfusion-nonfree", "rpmfusion-nonfree-source",
123               "rpmfusion-nonfree-updates", "rpmfusion-nonfree-updates-source"
124           ]
125           defs.rpmfusion = [
126               "@fusion-free",
127               "@fusion-nonfree-only",
128           ]
129
130           system_repos = true
131

AUTHOR

133       fedrq is maintained by Maxwell G <maxwell@gtmx.me>. See https://fe
134       drq.gtmx.me/ for more information about fedrq.
135

SEE ALSO

137       fedrq(1)
138
139
140
141                                  2023-08-31                          FEDRQ(5)
Impressum