# Mock configuration file to build against the local system's dnf repository # configuration. # https://mattmccutchen.net/utils/#rpm # # This file contains some settings tuned for building in Qubes OS template-based # VMs, but you can easily change them for other environments. config_opts['root'] = 'host' # TODO: Can we detect this automatically? config_opts['target_arch'] = 'x86_64' # Try without root cache? config_opts['plugin_conf']['root_cache_enable'] = False # For now, we are sharing the host yum cache. If we want a separate one, we # can enable this plugin. config_opts['plugin_conf']['yum_cache_enable'] = False # We do not need the "bootstrap" feature since the host's RPM stack is the same # as the target's. config_opts['use_bootstrap'] = False config_opts['dnf_common_opts'] = [ # Share the host dnf configuration. '--config=/etc/dnf/dnf.conf', '--setopt=reposdir=/etc/yum.repos.d', # And the releasever. '--releasever=/', # And the cache. Binding this with the bind_mount plugin does not work since # it is considered a "user mount" and doesn't get mounted in time. '--setopt=cachedir=/var/cache/dnf', # qubes-hooks signals Qubes OS about changes to the real VM. We don't want to # run it for changes to a mock environment. '--disableplugin=qubes-hooks', # If we build the same package several times in a row on the same run of a VM # (a common case if there is a problem on the first try), avoid downloading # the build dependencies multiple times. I think a real VM transaction could # lose the packages, but that should be uncommon and not worth worrying about # now. VM restart provides a reasonable lifespan for us to clear the cache. '--setopt=keepcache=1', # Looks like we need this. Fedora's mock configs put it in the generated # dnf.conf. '--assumeyes', ] # /var/cache/mock shouldn't be used for anything important right now, but if we # want to make it persistent, the plan is to make it a symlink to /home/mock-cache . # mock raises an error if this is not set. config_opts['dnf.conf'] = 'THIS IS A SYNTAX ERROR; THIS FILE SHOULD NOT BE USED'