Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/cygwin-apps/calm.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2021-05-05 16:08:46 +0300
committerJon Turney <jon.turney@dronecode.org.uk>2022-07-01 14:52:51 +0300
commiteca3a88d174516051883b5c7404f6985939d4b4e (patch)
tree9df03a2af7702155c0ccdbfd941bf4fb6947e753 /calm/past_mistakes.py
parent385eeb6a094e30aaaf224b9c5b4a025a09002726 (diff)
Improve handling of old-style obsoletion packages
Identify old-style obsoletion packages (where the package is empty, has a category of _obsolete, and requires: it's replacement), and upgrade them to the new style (where the obsoleting package has an obsoletes:). This is done per-arch, simply because lots of these historic obsoletion packages only exist for x86, and it's redundant to obsolete: them on x86_64. Treating this similarly to past_mistakes.missing_obsoletes means that a warning occurs when new version of package is missing that expected obsolete: Initially only apply to packages over a certain age, so we can observe the effect on a small number of packages to make checking it's doing the right thing easier.
Diffstat (limited to 'calm/past_mistakes.py')
-rw-r--r--calm/past_mistakes.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/calm/past_mistakes.py b/calm/past_mistakes.py
index af6d650..c0e724f 100644
--- a/calm/past_mistakes.py
+++ b/calm/past_mistakes.py
@@ -220,3 +220,39 @@ empty_source = {
'pinentry-qt3-src': ['0.7.6-3'], # obsoleted by pinentry-qt
'xerces-c-devel-src': ['2.8.0-1'], # obsoleted by libxerces-c-devel
}
+
+# additional data for the heuristic for upgrading old-style obsoletion packages
+old_style_obsolete_by = {
+ 'at-spi2-atk': 'libatk-bridge2.0_0',
+ 'qt-gstreamer': 'libQtGStreamer1_0_0',
+ 'lighttpd-mod_trigger_b4_dl': 'lighttpd',
+ # these require: both epoch1 and epoch2 replacements, but epoch1 contains
+ # the same version
+ 'gcc-tools-autoconf': 'gcc-tools-epoch1-autoconf',
+ 'gcc-tools-automake': 'gcc-tools-epoch1-automake',
+ # these are odd and only exist to record an optional dependency on the
+ # language runtime (dynamically loaded at runtime), which is also noted in
+ # build-requires:
+ 'vim-lua': 'vim',
+ 'vim-perl': 'vim',
+ 'vim-python': 'vim',
+ 'vim-python3': 'vim',
+ 'vim-ruby': 'vim',
+ # (An empty replacement means "don't apply this heuristic". We use that to
+ # not bother with some x86-only packages which have complex replacements,
+ # since they will be going away relatively soon anyhow...)
+ 'SuiteSparse': '',
+ 'libSuiteSparse-devel': '',
+ 'libksba': '',
+ 'libstdc++6-devel': '',
+ 'octave-forge': '',
+ 'plotutils-devel': '',
+ 'rpm-doc': '',
+ 'tetex-base': '',
+ 'tetex-bin': '',
+ 'tetex-extra': '',
+ 'tetex-tiny': '',
+ 'tetex-x11': '',
+ 'texlive-collection-langtibetan': '',
+ 'texlive-collection-texinfo': '',
+}