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",