mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-06 22:54:16 +02:00
[improvement] changing the way versions are compared in Arch and AppImage gems
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import re
|
||||
from distutils.version import LooseVersion
|
||||
import traceback
|
||||
from threading import Thread
|
||||
from typing import Set, List, Tuple, Dict, Iterable
|
||||
|
||||
from pkg_resources import parse_version
|
||||
|
||||
from bauh.api.abstract.handler import ProcessWatcher
|
||||
from bauh.gems.arch import pacman, message, sorting, confirmation
|
||||
from bauh.gems.arch.aur import AURClient
|
||||
@@ -203,23 +205,26 @@ class DependenciesAnalyser:
|
||||
|
||||
matched_providers = set()
|
||||
split_informed_dep = self.re_dep_operator.split(dep_exp)
|
||||
version_informed = LooseVersion(split_informed_dep[2])
|
||||
exp_op = split_informed_dep[1] if split_informed_dep[1] != '=' else '=='
|
||||
try:
|
||||
version_informed = parse_version(split_informed_dep[2])
|
||||
exp_op = split_informed_dep[1] if split_informed_dep[1] != '=' else '=='
|
||||
|
||||
for p in providers:
|
||||
provided = deps_data[p]['p']
|
||||
for p in providers:
|
||||
provided = deps_data[p]['p']
|
||||
|
||||
for provided_exp in provided:
|
||||
split_dep = self.re_dep_operator.split(provided_exp)
|
||||
for provided_exp in provided:
|
||||
split_dep = self.re_dep_operator.split(provided_exp)
|
||||
|
||||
if len(split_dep) == 3 and split_dep[0] == dep_name:
|
||||
provided_version = LooseVersion(split_dep[2])
|
||||
if len(split_dep) == 3 and split_dep[0] == dep_name:
|
||||
provided_version = parse_version(split_dep[2])
|
||||
|
||||
if eval('provided_version {} version_informed'.format(exp_op)):
|
||||
matched_providers.add(p)
|
||||
break
|
||||
if eval('provided_version {} version_informed'.format(exp_op)):
|
||||
matched_providers.add(p)
|
||||
break
|
||||
|
||||
providers = matched_providers
|
||||
providers = matched_providers
|
||||
except:
|
||||
traceback.print_exc()
|
||||
|
||||
if providers:
|
||||
if len(providers) > 1:
|
||||
@@ -298,19 +303,22 @@ class DependenciesAnalyser:
|
||||
if '-' not in version_informed:
|
||||
version_found = version_found.split('-')[0]
|
||||
|
||||
version_found = LooseVersion(version_found)
|
||||
version_informed = LooseVersion(version_informed)
|
||||
try:
|
||||
version_found = parse_version(version_found)
|
||||
version_informed = parse_version(version_informed)
|
||||
|
||||
op = dep_split[1] if dep_split[1] != '=' else '=='
|
||||
if not eval('version_found {} version_informed'.format(op)):
|
||||
self._fill_missing_dep(dep_name=dep_name, dep_exp=dep, aur_index=aur_index,
|
||||
missing_deps=missing_deps,
|
||||
remote_provided_map=remote_provided_map,
|
||||
remote_repo_map=remote_repo_map,
|
||||
repo_deps=repo_missing, aur_deps=aur_missing,
|
||||
watcher=watcher,
|
||||
deps_data=deps_data,
|
||||
automatch_providers=automatch_providers)
|
||||
op = dep_split[1] if dep_split[1] != '=' else '=='
|
||||
if not eval('version_found {} version_informed'.format(op)):
|
||||
self._fill_missing_dep(dep_name=dep_name, dep_exp=dep, aur_index=aur_index,
|
||||
missing_deps=missing_deps,
|
||||
remote_provided_map=remote_provided_map,
|
||||
remote_repo_map=remote_repo_map,
|
||||
repo_deps=repo_missing, aur_deps=aur_missing,
|
||||
watcher=watcher,
|
||||
deps_data=deps_data,
|
||||
automatch_providers=automatch_providers)
|
||||
except:
|
||||
traceback.print_exc()
|
||||
else:
|
||||
self._fill_missing_dep(dep_name=dep_name, dep_exp=dep, aur_index=aur_index,
|
||||
missing_deps=missing_deps,
|
||||
|
||||
Reference in New Issue
Block a user