[arch] improvement: always listing repository packages as primary options when multiple providers for a given dependency are available

This commit is contained in:
Vinicius Moreira
2022-01-28 12:31:18 -03:00
parent ca9b3d0e51
commit 39dd0f1ac8
2 changed files with 16 additions and 8 deletions

View File

@@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Arch
- not rechecking sub-dependencies of an AUR dependency to be installed
- allowing AUR packages to be installed as dependencies of a repository package
- always listing repository packages as primary options when multiple providers for a given dependency are available
### Fixes
- General

View File

@@ -79,13 +79,20 @@ def request_providers(providers_map: Dict[str, Set[str]], repo_map: Dict[str, st
for dep, providers in providers_map.items():
opts = []
providers_list = [*providers]
providers_list.sort()
repo_providers, aur_providers = {}, {}
for p in providers_list:
for p in providers:
repo = repo_map.get(p, 'aur')
opts.append(InputOption(label=p,
value=p,
if repo == 'aur':
aur_providers[p] = repo
else:
repo_providers[p] = repo
for current_providers in (repo_providers, aur_providers):
for pname, repo in sorted(current_providers.items()):
opts.append(InputOption(label=pname,
value=pname,
icon_path=aur_icon_path if repo == 'aur' else repo_icon_path,
tooltip='{}: {}'.format(i18n['repository'].capitalize(), repo)))