/opt/layerindex/layerindex/update_layer.py:22: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html from pkg_resources import parse_version
https://patchwork.yoctoproject.org/project/yocto/patch/20240118014528.564270-1-tim.orling@konsulko.com/
packaging.version.parse() seemed like a good replacement, but it cannot handle versions like autotools (2.72d) since it does not match the PEP-440 patterns for allowed Python package versions. https://github.com/pypa/packaging/issues/631 https://packaging.python.org/en/latest/specifications/version-specifiers/#summary-of-differences-from-pkg-resources-parse-version "This specification purposely restricts the syntax which constitutes a valid version while pkg_resources.parse_version attempts to provide some meaning from any arbitrary string." Which means that any Python which has "packaging" >= 22 will no longer parse LegacyVersion() and it throws an InvalidVersion exception with "packaging" == 21 Invalid version: '2.72e' Probably better off using the vercmp code from lib/bb/utils.py.
pypi.org has a similar problem of needing the LegacyVersion behavior, so we use their packaging_legacy instead in v2: https://patchwork.yoctoproject.org/project/yocto/patch/20240123001125.1470142-1-tim.orling@konsulko.com/
Merged: https://git.yoctoproject.org/layerindex-web/commit/?id=83378f2f9c881505027220a98514bcb933d82682 and deployed.