From 1bff5ccfa265c69a9f698388e67d2b601ca604b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= Date: Wed, 3 Oct 2018 13:19:38 +0200 Subject: [PATCH] fus: List lookaside repos first MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This works around a bug where fus prioritizes first repo and thus could include packages even if they were in lookaside. Signed-off-by: Lubomír Sedlář --- pungi/wrappers/fus.py | 6 ++++-- tests/test_fus_wrapper.py | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pungi/wrappers/fus.py b/pungi/wrappers/fus.py index 3711d192..f1f448ec 100644 --- a/pungi/wrappers/fus.py +++ b/pungi/wrappers/fus.py @@ -36,10 +36,12 @@ def get_cmd( ): cmd = ["fus", "--verbose", "--arch", arch] - for idx, repo in enumerate(repos): - cmd.append("--repo=repo-%s,repo,%s" % (idx, _prep_path(repo))) + # Lookaside repos should be first. If the same package is present in + # multiple repos, libsolv gives priority to the first repo. for idx, repo in enumerate(lookasides): cmd.append("--repo=lookaside-%s,lookaside,%s" % (idx, _prep_path(repo))) + for idx, repo in enumerate(repos): + cmd.append("--repo=repo-%s,repo,%s" % (idx, _prep_path(repo))) if platform: cmd.append("--platform=%s" % platform) diff --git a/tests/test_fus_wrapper.py b/tests/test_fus_wrapper.py index c62c6478..9f3da1fc 100644 --- a/tests/test_fus_wrapper.py +++ b/tests/test_fus_wrapper.py @@ -37,10 +37,10 @@ class TestGetCmd(unittest.TestCase): "--verbose", "--arch", "x86_64", - "--repo=repo-0,repo,/tmp/first", - "--repo=repo-1,repo,/tmp/second", "--repo=lookaside-0,lookaside,/tmp/fst", "--repo=lookaside-1,lookaside,/tmp/snd", + "--repo=repo-0,repo,/tmp/first", + "--repo=repo-1,repo,/tmp/second", "--platform=f29", "module(mod:1.0)", "pkg",