From 0c0580a570adec5d3df71a57004ac099e210abd1 Mon Sep 17 00:00:00 2001 From: Simon de Vlieger Date: Mon, 16 Dec 2024 12:57:51 +0100 Subject: [PATCH] solve/modularity: path + data Return path and data separately so we have less logic in `images`. Signed-off-by: Simon de Vlieger --- osbuild/solver/dnf.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/osbuild/solver/dnf.py b/osbuild/solver/dnf.py index 22865383..cece7921 100755 --- a/osbuild/solver/dnf.py +++ b/osbuild/solver/dnf.py @@ -94,7 +94,6 @@ class DNF(SolverBase): # enable module resolving self.base_module = dnf.module.module_base.ModuleBase(self.base) - @staticmethod def _dnfrepo(desc, parent_conf=None): """Makes a dnf.repo.Repo out of a JSON repository description""" @@ -402,14 +401,20 @@ class DNF(SolverBase): profiles = ",".join(profiles) if profiles else "" response["modules"][module.getName()] = { - "module-file": textwrap.dedent(f"""\ - [{module.getName()}] - name={module.getName()} - stream={module.getStream()} - profiles={profiles} - state=enabled - """), - "failsafe-file": module.getYaml(), + "module-file": { + "data": textwrap.dedent(f"""\ + [{module.getName()}] + name={module.getName()} + stream={module.getStream()} + profiles={profiles} + state=enabled + """), + "path": f"/etc/dnf/modules.d/{module.getName()}.conf", + }, + "failsafe-file": { + "data": module.getYaml(), + "path": f"/var/lib/dnf/modulefailsafe/{module.getName()}:{module.getStream()}", + }, } return response