Commit | Line | Data |
---|---|---|
8c415094 MM |
1 | # Mock configuration file to build against the local system's dnf repository |
2 | # configuration. | |
3 | # https://mattmccutchen.net/utils/#rpm | |
4 | # | |
5 | # This file contains some settings tuned for building in Qubes OS template-based | |
6 | # VMs, but you can easily change them for other environments. | |
7 | ||
8 | config_opts['root'] = 'host' | |
9 | # TODO: Can we detect this automatically? | |
10 | config_opts['target_arch'] = 'x86_64' | |
11 | ||
12 | # Try without root cache? | |
13 | config_opts['plugin_conf']['root_cache_enable'] = False | |
14 | ||
15 | # For now, we are sharing the host yum cache. If we want a separate one, we | |
16 | # can enable this plugin. | |
17 | config_opts['plugin_conf']['yum_cache_enable'] = False | |
18 | ||
19 | # We do not need the "bootstrap" feature since the host's RPM stack is the same | |
20 | # as the target's. | |
21 | config_opts['use_bootstrap'] = False | |
22 | ||
23 | config_opts['dnf_common_opts'] = [ | |
24 | ||
25 | # Share the host dnf configuration. | |
26 | '--config=/etc/dnf/dnf.conf', | |
27 | '--setopt=reposdir=/etc/yum.repos.d', | |
28 | ||
29 | # And the releasever. | |
30 | '--releasever=/', | |
31 | ||
32 | # And the cache. Binding this with the bind_mount plugin does not work since | |
33 | # it is considered a "user mount" and doesn't get mounted in time. | |
34 | '--setopt=cachedir=/var/cache/dnf', | |
35 | ||
36 | # qubes-hooks signals Qubes OS about changes to the real VM. We don't want to | |
37 | # run it for changes to a mock environment. | |
38 | '--disableplugin=qubes-hooks', | |
39 | ||
40 | # If we build the same package several times in a row on the same run of a VM | |
41 | # (a common case if there is a problem on the first try), avoid downloading | |
42 | # the build dependencies multiple times. I think a real VM transaction could | |
43 | # lose the packages, but that should be uncommon and not worth worrying about | |
44 | # now. VM restart provides a reasonable lifespan for us to clear the cache. | |
45 | '--setopt=keepcache=1', | |
46 | ||
47 | # Looks like we need this. Fedora's mock configs put it in the generated | |
48 | # dnf.conf. | |
49 | '--assumeyes', | |
50 | ] | |
51 | ||
52 | # /var/cache/mock shouldn't be used for anything important right now, but if we | |
53 | # want to make it persistent, the plan is to make it a symlink to /home/mock-cache . | |
54 | ||
55 | # mock raises an error if this is not set. | |
56 | config_opts['dnf.conf'] = 'THIS IS A SYNTAX ERROR; THIS FILE SHOULD NOT BE USED' |