public inbox for cygwin-apps-cvs@sourceware.org
help / color / mirror / Atom feed
* [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20230209-63-g78c36ba
@ 2024-01-18 21:28 Jon Turney
  0 siblings, 0 replies; only message in thread
From: Jon Turney @ 2024-01-18 21:28 UTC (permalink / raw)
  To: cygwin-apps-cvs




https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=78c36ba5b4601ff29c05c8aff3f09e67d280e020

commit 78c36ba5b4601ff29c05c8aff3f09e67d280e020
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Thu Jan 18 20:25:41 2024 +0000

    Rewrite dependencies on removed python packages
    
    Using the now removed, obsoleted package name causes the solver to want
    to uninstall anything which depends on these, which isn't helpful right
    now.
    
    Theoretically, the information to generate these exists in our "retired
    old-style obsoleting packages" data, but do it manually for speed right
    now.

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=9aa9586fc4153ca1a6e027bf9f342fd35a52e0b9

commit 9aa9586fc4153ca1a6e027bf9f342fd35a52e0b9
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Thu Jan 18 20:50:18 2024 +0000

    Anchor nonexistent_provides at the end
    
    Anchor the nonexistent_provides regex at the end, so it matches the
    whole provide name, avoiding unpleasant surprises.


Diff:
---
 calm/package.py       |  2 +-
 calm/past_mistakes.py | 86 ++++++++++++++++++++++++++++++++-------------------
 2 files changed, 55 insertions(+), 33 deletions(-)

diff --git a/calm/package.py b/calm/package.py
index 8ab9ed0..39f3655 100755
--- a/calm/package.py
+++ b/calm/package.py
@@ -738,7 +738,7 @@ def validate_packages(args, packages, valid_provides_extra=None, missing_obsolet
 
                         # all packages listed in a hint must exist (unless the
                         # disable-check option says that's ok)
-                        if (r not in valid) and (r not in past_mistakes.expired_provides) and (not any(re.match(nep, r) for nep in past_mistakes.nonexistent_provides)):
+                        if (r not in valid) and (r not in past_mistakes.expired_provides) and (not any(re.match(nep + r'$', r) for nep in past_mistakes.nonexistent_provides)):
                             if okmissing not in getattr(args, 'disable_check', []):
                                 logging.error("package '%s' version '%s' %s: '%s', but nothing satisfies that" % (p, v, c, r))
                                 error = True
diff --git a/calm/past_mistakes.py b/calm/past_mistakes.py
index 0a039a5..bbad1bc 100644
--- a/calm/past_mistakes.py
+++ b/calm/past_mistakes.py
@@ -171,37 +171,11 @@ nonexistent_provides = historical_provides + [
     'python2',
     'python2-devel',
     'python27',
-    'python-appindicator',
-    'python-avahi',
-    'python-cairo',
-    'python-chardet',
-    'python-dbus',
-    'python-docutils',
-    'python-fontforge',
-    'python-gconf',
-    'python-gi',
-    'python-gnome2',
-    'python-gnomevfs2',
-    'python-gobject',
-    'python-gtk2.0',
-    'python-jinja2',
-    'python-keybinder',
-    'python-lxml',
-    'python-marisa',
-    'python-mx',
-    'python-numpy',
-    'python-orbit',
-    'python-pygments',
-    'python-pykde4',
-    'python-pynotify',
-    'python-pyqt4',
-    'python-rdflib',
-    'python-reportlab',
-    'python-twisted',
-    'python-vte',
-    'python-wnck',
-    'python-xdg',
-    'python-zeitgeist',
+    'python27-.*',
+    # random build-depends
+    'python2-cython',
+    'python2-wheel',
+    'python2-cairo-devel',
     '_windows',
     r'perl5_\d+',
     r'ruby_\d+',
@@ -209,21 +183,69 @@ nonexistent_provides = historical_provides + [
     r'tl_basic_\d+',
 ]
 
+# provides which don't exist, and were obsoleted by something else which we've
+# forgotten about..
 substitute_dependency = {
+    'python-appindicator': 'python27-appindicator',
+    'python-avahi': 'python27-avahi',
+    'python-cairo': 'python27-cairo',
+    'python-chardet': 'python27-chardet',
+    'python-dbus': 'python27-dbus',
+    'python-docutils': 'python27-docutils',
+    'python-fontforge': 'python27-fontforge',
+    'python-gconf2': 'python27-gconf2',
     'python-gi': 'python27-gi',
+    'python-gnome2': 'python27-gnome2',
+    'python-gnomevfs2': 'python27-gnomevfs2',
+    'python-gobject': 'python27-gobject',
+    'python-gtk2.0': 'python27-gtk2.0',
+    'python-jinja2': 'python27-jinja2',
+    'python-keybinder': 'python27-keybinder',
+    'python-lxml': 'python27-lxml',
+    'python-marisa': 'python27-marisa',
+    'python-numpy': 'python27-numpy',
+    'python-orbit': 'python27-orbit',
+    'python-pygments': 'python27-pygments',
+    'python-pykde4': 'python27-pykde4',
+    'python-pynotify': 'python27-pynotify',
+    'python-pyqt4': 'python27-pyqt4',
+    'python-rdflib': 'python27-rdflib',
+    'python-reportlab': 'python27-reportlab',
+    'python-twisted': 'python27-twisted',
+    'python-vte': 'python27-vte',
+    'python-wnck': 'python27-wnck',
+    'python-xdg': 'python27-xdg',
+    'python-zeitgeist': 'python27-zeitgeist',
     'python2-avogadro': 'python27-avogadro',
+    'python2-ayatana_appindicator': 'python27-ayatana_appindicator',
+    'python2-clang': 'python27-clang',
     'python2-dbus': 'python27-dbus',
+    'python2-fontforge': 'python27-fontforge',
+    'python2-future': 'python27-future',
     'python2-gi': 'python27-gi',
+    'python2-gobject': 'python27-gobject',
+    'python2-gv': 'python27-gv',
+    'python2-imaging': 'python27-imaging',
     'python2-ipaddr': 'python27-ipaddr',
+    'python2-ipython': 'python27-ipython',
+    'python2-jinja2': 'python27-jinja2',
     'python2-libvirt': 'python27-libvirt',
     'python2-libxml2': 'python27-libxml2',
+    'python2-lxml': 'python27-lxml',
     'python2-magic': 'python27-magic',
+    'python2-matemenu': 'python27-matemenu',
     'python2-nghttp2': 'python27-nghttp2',
     'python2-numpy': 'python27-numpy',
+    'python2-pykde4': 'python27-pykde4',
+    'python2-pyqt4': 'python27-pyqt4',
     'python2-pyqt5': 'python27-pyqt5',
-    'python2-request': 'python27-request',
+    'python2-requests': 'python27-requests',
+    'python2-setuptools': 'python27-setuptools',
     'python2-six': 'python27-six',
+    'python2-tkinter': 'python27-tkinter',
+    'python2-wheel': 'python27-wheel',
     'python2-xdg': 'python27-xdg',
+    'python2-yaml': 'python27-yaml',
 }
 
 # provides: which don't exist and packages which require them should be expired


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-01-18 21:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-18 21:28 [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20230209-63-g78c36ba Jon Turney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).