mirror of
https://github.com/flatpak/flatpak.git
synced 2026-01-30 02:21:17 -05:00
Currently a FlatpakTransaction object only operates on one installation, but uses others (by default the system installations) for dependencies such as runtimes. In addition to checking those dependency installations for runtimes we check their configured remotes when deciding whether to add a new remote as an origin for a flatpakref or as a runtime remote for a flatpakref. This commit changes the behavior so that we only check the installation being operated on to find out if a remote already exists. This is the correct behavior in both cases: the origin remote and the runtime remote. Otherwise the installation can error out when it fails to find the runtime, or it can fail to respect the SuggestRemoteName key which is supposed to dictate the name for the origin remote. One side effect of this is that a remote might be duplicated in the user installation which already exists in the system installation, even if the runtime it provides is already installed. But if you don't want remotes in multiple installations you can just stick to using one installation consistently. Also, add a unit test for this in testlibrary.c (which required a bit of refactoring). Fixes https://github.com/flatpak/flatpak/issues/2758 Closes: #2761 Approved by: alexlarsson