From 8cc4502fd8978001437b2f5c182e9d32f8672170 Mon Sep 17 00:00:00 2001 From: Jon Turney Date: Thu, 18 Jan 2024 20:25:41 +0000 Subject: 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. --- calm/package.py | 2 +- calm/past_mistakes.py | 82 ++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 62 insertions(+), 22 deletions(-) diff --git a/calm/package.py b/calm/package.py index 552a2f3..39f3655 100755 --- a/calm/package.py +++ b/calm/package.py @@ -245,7 +245,7 @@ def process_package_constraint_list(pcl): deplist[item] = item + ' ' + r else: item = r - deplist[item] = item + deplist[item] = past_mistakes.substitute_dependency.get(r, r) # return a sorted list of package names with an optional version constraint. return sorted(deplist.values()) diff --git a/calm/past_mistakes.py b/calm/past_mistakes.py index c8fbde9..bd3d844 100644 --- a/calm/past_mistakes.py +++ b/calm/past_mistakes.py @@ -171,37 +171,34 @@ nonexistent_provides = historical_provides + [ 'python2', 'python2-devel', 'python27', + 'python27-.*', 'python-appindicator', - 'python-avahi', - 'python-cairo', - 'python-chardet', - 'python-dbus', - 'python-docutils', - 'python-fontforge', - 'python-gconf', - 'python-gi', + 'python-gconf2', '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', + 'python2-avahi', + 'python2-avogadro', + 'python2-ayatana_appindicator', + 'python2-fontforge', + 'python2-gobject', + 'python2-ipaddr', + 'python2-libvirt', + 'python2-magic', + 'python2-matemenu', + 'python2-pykde4', + 'python2-pyqt4', + 'python2-pyqt5', + # random build-depends + 'python2-cython', + 'python2-wheel', + 'python2-cairo-devel', '_windows', r'perl5_\d+', r'ruby_\d+', @@ -209,6 +206,49 @@ 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-avahi': 'python2-avahi', + 'python-cairo': 'python27-cairo', + 'python-chardet': 'python27-chardet', + 'python-dbus': 'python27-dbus', + 'python-docutils': 'python27-docutils', + 'python-fontforge': 'python2-fontforge', + 'python-gi': 'python27-gi', + 'python-gobject': 'python2-gobject', + 'python-jinja2': 'python27-jinja2', + 'python-lxml': 'python27-lxml', + 'python-marisa': 'python27-marisa', + 'python-numpy': 'python27-numpy', + 'python-pygments': 'python27-pygments', + 'python-pykde4': 'python2-pykde4', + 'python-pyqt4': 'python2-pyqt4', + 'python-rdflib': 'python27-rdflib', + 'python-reportlab': 'python27-reportlab', + 'python-twisted': 'python27-twisted', + 'python-xdg': 'python27-xdg', + 'python2-clang': 'python27-clang', + 'python2-dbus': 'python27-dbus', + 'python2-future': 'python27-future', + 'python2-gi': 'python27-gi', + 'python2-gv': 'python27-gv', + 'python2-imaging': 'python27-imaging', + 'python2-ipython': 'python27-ipython', + 'python2-jinja2': 'python27-jinja2', + 'python2-libxml2': 'python27-libxml2', + 'python2-lxml': 'python27-lxml', + 'python2-nghttp2': 'python27-nghttp2', + 'python2-numpy': 'python27-numpy', + '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 expired_provides = [ 'python2', -- cgit v1.2.3