Diff:
---
 calm/package.py       | 4 ++--
 calm/past_mistakes.py | 3 ++-
 calm/repology.py      | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/calm/package.py b/calm/package.py
index 06bfae5..07b0a1b 100755
--- a/calm/package.py
+++ b/calm/package.py
@@ -1706,16 +1706,16 @@ def mark_fn(packages, po, v, certain_age, 
obs_threshold, vault_requests):
                 logging.debug("obsolete package '%s' version '%s' mtime '%s' 
is over cut-off age" % (pn, v, time.strftime("%F %T %Z", 
time.localtime(mtime))))
                 return (Freshness.conditional, False)
 
+    es = po.srcpackage(v, suffix=False)
     # - if package depends on anything in expired_provides
     #
     requires = po.version_hints[v].get('depends', [])
-    if any(ep in requires for ep in past_mistakes.expired_provides):
+    if any(ep in requires for ep in past_mistakes.expired_provides) and 
es.startswith('python') and not es.startswith('python-pyqt5'):
         logging.debug("package '%s' version '%s' not retained as it requires a 
provide known to be expired" % (pn, v))
         return (Freshness.conditional, False)
 
     # - marked via 'calm-tool vault'
     #
-    es = po.srcpackage(v, suffix=False)
     if es in vault_requests:
         if v in vault_requests[es]:
             logging.info("package '%s' version '%s' not retained due to vault 
request" % (pn, v))
diff --git a/calm/past_mistakes.py b/calm/past_mistakes.py
index f20ed2d..0573000 100644
--- a/calm/past_mistakes.py
+++ b/calm/past_mistakes.py
@@ -194,7 +194,7 @@ nonexistent_build_requires = [
     'python2',
     'python27-.*',
     'python36',
-    'python36-.*'
+    'python36-.*',
 ]
 
 # provides which don't exist, and were obsoleted by something else which we've
@@ -244,6 +244,7 @@ substitute_dependency = {
 expired_provides = [
     'python34',
     'python35',
+    'python36',
 ]
 
 # empty source packages
diff --git a/calm/repology.py b/calm/repology.py
index 34b69ac..6364df6 100644
--- a/calm/repology.py
+++ b/calm/repology.py
@@ -199,7 +199,7 @@ def seqmatch(bv, uv):
 
     seq_count = len(SetupVersion(bv)._V)
     for v in uv:
-        if len(SetupVersion(bv)._V) == seq_count:
+        if len(SetupVersion(v)._V) == seq_count:
             return v
 
     return uv[0]

Reply via email to