Skip to content

port to vendored looseversion lib

distutils has been removed from Python 3.12, and the recommended replacement lib, packaging, only includes strict Python PEP compliant version parsing. fdroidserver needs to parse and compare versions from many things that do not comply with Python PEP versioning, like versions from the JVM, random Android apps, etc.

This vendors the one-file lib looseversion, which is in turn split out from the old Python distutils code. This is vendored since the algorithm should basically never change.

FYI @chenxiaolong

This is a diff from before !1403 (merged) was merged, which shows only the overall porting, not the intermittent steps: eighthave/fdroidserver@2fb8fc48...e2949cbd

Edited by Hans-Christoph Steiner

Merge request reports