mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-08 01:34:15 +02:00
[arch] fix -> search: not able to find installed packages that were renamed on the repositories
This commit is contained in:
@@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||||||
## [0.9.9]
|
## [0.9.9]
|
||||||
### Fixes
|
### Fixes
|
||||||
- Arch:
|
- Arch:
|
||||||
|
- search: not able to find installed packages that were renamed on the repositories (e.g: xapps -> xapp)
|
||||||
- AUR: not able to find some repository dependencies when their names are not an exact match (e.g: sc-controller [0.4.7-1] relies on "pylibacl". This dependency now is called "python-pylibacl")
|
- AUR: not able to find some repository dependencies when their names are not an exact match (e.g: sc-controller [0.4.7-1] relies on "pylibacl". This dependency now is called "python-pylibacl")
|
||||||
|
|
||||||
## [0.9.8] 2020-10-02
|
## [0.9.8] 2020-10-02
|
||||||
|
|||||||
@@ -346,15 +346,15 @@ class ArchManager(SoftwareManager):
|
|||||||
|
|
||||||
def _search_in_repos_and_fill(self, words: str, disk_loader: DiskCacheLoader, read_installed: Thread, installed: List[ArchPackage], res: SearchResult):
|
def _search_in_repos_and_fill(self, words: str, disk_loader: DiskCacheLoader, read_installed: Thread, installed: List[ArchPackage], res: SearchResult):
|
||||||
repo_search = pacman.search(words)
|
repo_search = pacman.search(words)
|
||||||
|
pkgname = words.split(' ')[0].strip()
|
||||||
|
|
||||||
if not repo_search: # the package may not be mapped on the databases anymore
|
if not repo_search or pkgname not in repo_search:
|
||||||
pkgname = words.split(' ')[0].strip()
|
|
||||||
pkg_found = pacman.get_info_dict(pkgname, remote=False)
|
pkg_found = pacman.get_info_dict(pkgname, remote=False)
|
||||||
|
|
||||||
if pkg_found and pkg_found['validated by']:
|
if pkg_found and pkg_found['validated by'] and pkg_found['name'] not in repo_search:
|
||||||
repo_search = {pkgname: {'version': pkg_found.get('version'),
|
repo_search[pkgname] = {'version': pkg_found.get('version'),
|
||||||
'repository': 'unknown',
|
'repository': 'unknown',
|
||||||
'description': pkg_found.get('description')}}
|
'description': pkg_found.get('description')}
|
||||||
|
|
||||||
if repo_search:
|
if repo_search:
|
||||||
repo_pkgs = []
|
repo_pkgs = []
|
||||||
|
|||||||
@@ -429,8 +429,9 @@ def get_build_date(pkgname: str) -> str:
|
|||||||
def search(words: str) -> Dict[str, dict]:
|
def search(words: str) -> Dict[str, dict]:
|
||||||
output = run_cmd('pacman -Ss ' + words, print_error=False)
|
output = run_cmd('pacman -Ss ' + words, print_error=False)
|
||||||
|
|
||||||
|
found = {}
|
||||||
if output:
|
if output:
|
||||||
found, current = {}, {}
|
current = {}
|
||||||
for l in output.split('\n'):
|
for l in output.split('\n'):
|
||||||
if l:
|
if l:
|
||||||
if l.startswith(' '):
|
if l.startswith(' '):
|
||||||
@@ -450,7 +451,7 @@ def search(words: str) -> Dict[str, dict]:
|
|||||||
|
|
||||||
version = data_split[1].split(':')
|
version = data_split[1].split(':')
|
||||||
current['version'] = version[0] if len(version) == 1 else version[1]
|
current['version'] = version[0] if len(version) == 1 else version[1]
|
||||||
return found
|
return found
|
||||||
|
|
||||||
|
|
||||||
def get_databases() -> Set[str]:
|
def get_databases() -> Set[str]:
|
||||||
|
|||||||
Reference in New Issue
Block a user