From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2201) id 000EA3858D33; Thu, 18 Jan 2024 21:28:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 000EA3858D33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1705613336; bh=0iPTX9P0XAcC3657c/gTpAQfyGgG52TH1/5oekKM6UY=; h=To:Subject:Date:From:From; b=VR6P/1X/m4YNVPaOoshtgg+cU6qh5lcGUifW99ad9AiSn9Dnh44SazDp0Wz7+6+oP TKBRPwyd1zXGrXa12ixce1oobBZy6qay5q3dytHCmKRI+59qc7aj+QbqA7rOPk6TxC ujqVeMEke75HHWCS7+4YJVSAe3USvuwDUBT/36OA= To: cygwin-apps-cvs@sourceware.org Subject: [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20230209-63-g78c36ba X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: e89117dab2e2bc6c961981bd8054ea4c437787f1 X-Git-Newrev: 78c36ba5b4601ff29c05c8aff3f09e67d280e020 Message-Id: <20240118212856.000EA3858D33@sourceware.org> Date: Thu, 18 Jan 2024 21:28:55 +0000 (GMT) From: Jon Turney List-Id: https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=78c36ba5b4601ff29c05c8aff3f09e67d280e020 commit 78c36ba5b4601ff29c05c8aff3f09e67d280e020 Author: Jon Turney 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 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