mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-08 09:44:15 +02:00
[fix][arch] not detecting some installed 'not-signed' repository packages
This commit is contained in:
@@ -375,8 +375,10 @@ class ArchManager(SoftwareManager):
|
||||
return SearchResult([], [], 0)
|
||||
|
||||
installed = {}
|
||||
repo_map = pacman.map_repositories()
|
||||
read_installed = Thread(target=lambda: installed.update(pacman.map_installed(repositories=arch_config['repositories'],
|
||||
aur=arch_config['aur'])), daemon=True)
|
||||
aur=arch_config['aur'],
|
||||
repo_map=repo_map)), daemon=True)
|
||||
read_installed.start()
|
||||
|
||||
res = SearchResult([], [], 0)
|
||||
@@ -441,14 +443,12 @@ class ArchManager(SoftwareManager):
|
||||
def _fill_repo_updates(self, updates: dict):
|
||||
updates.update(pacman.list_repository_updates())
|
||||
|
||||
def _fill_repo_pkgs(self, signed: dict, pkgs: list, disk_loader: DiskCacheLoader):
|
||||
def _fill_repo_pkgs(self, signed: dict, pkgs: list, repo_map: Dict[str, str], disk_loader: DiskCacheLoader):
|
||||
updates = {}
|
||||
|
||||
thread_updates = Thread(target=self._fill_repo_updates, args=(updates,), daemon=True)
|
||||
thread_updates.start()
|
||||
|
||||
repo_map = pacman.map_repositories(list(signed.keys()))
|
||||
|
||||
if len(repo_map) != len(signed):
|
||||
self.logger.warning("Not mapped all signed packages repositories. Mapped: {}. Total: {}".format(len(repo_map), len(signed)))
|
||||
|
||||
@@ -482,7 +482,8 @@ class ArchManager(SoftwareManager):
|
||||
def read_installed(self, disk_loader: DiskCacheLoader, limit: int = -1, only_apps: bool = False, pkg_types: Set[Type[SoftwarePackage]] = None, internet_available: bool = None) -> SearchResult:
|
||||
self.aur_client.clean_caches()
|
||||
arch_config = read_config()
|
||||
installed = pacman.map_installed(repositories=arch_config['repositories'], aur=arch_config['aur'])
|
||||
repo_map = pacman.map_repositories()
|
||||
installed = pacman.map_installed(repo_map=repo_map, repositories=arch_config['repositories'], aur=arch_config['aur'])
|
||||
|
||||
pkgs = []
|
||||
if installed and (installed['not_signed'] or installed['signed']):
|
||||
@@ -494,7 +495,7 @@ class ArchManager(SoftwareManager):
|
||||
map_threads.append(t)
|
||||
|
||||
if installed['signed']:
|
||||
t = Thread(target=self._fill_repo_pkgs, args=(installed['signed'], pkgs, disk_loader), daemon=True)
|
||||
t = Thread(target=self._fill_repo_pkgs, args=(installed['signed'], pkgs, repo_map, disk_loader), daemon=True)
|
||||
t.start()
|
||||
map_threads.append(t)
|
||||
|
||||
@@ -2082,7 +2083,8 @@ class ArchManager(SoftwareManager):
|
||||
p.size = new_size - p.size
|
||||
|
||||
def upgrade_system(self, root_password: str, watcher: ProcessWatcher) -> bool:
|
||||
installed = pacman.map_installed(repositories=True, aur=False)
|
||||
repo_map = pacman.map_repositories()
|
||||
installed = pacman.map_installed(repo_map=repo_map, repositories=True, aur=False)
|
||||
|
||||
if not installed or not installed['signed']:
|
||||
watcher.show_message(title=self.i18n['arch.custom_action.upgrade_system'],
|
||||
|
||||
Reference in New Issue
Block a user