1FEDRQ(5) File Formats Manual FEDRQ(5)
2
3
4
6 fedrq - Simplified repository querying
7
9 fedrq uses the TOML syntax for its configuration files.
10
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
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
133 fedrq is maintained by Maxwell G <maxwell@gtmx.me>. See https://fe‐
134 drq.gtmx.me/ for more information about fedrq.
135
137 fedrq(1)
138
139
140
141 2023-08-31 FEDRQ(5)