• Updating pdm-pep517 and pep517 and renaming to new upstream names?

    From Carsten Schoenert@21:1/5 to All on Mon Jan 2 19:00:01 2023
    Hi,

    happy new year to you all!

    Not only the Python version in bookworm is moving right now, due some
    side effect around that also the PDM build backend is moving fast.

    I was working around the Xmas days on one of the packages I usually take
    care on (python-griffe [1]) to get an new upstream version ready for
    uploading. While doing I noticed that my local work was not building
    successful anymore due a new version of python-packaging which has some different structure of folders and files.

    Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/pep517/wrappers.py", line 319, in _call_hook
    raise BackendUnavailable(data.get('traceback', '')) pep517.wrappers.BackendUnavailable: Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/pep517/in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
    ^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
    File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
    File "<frozen importlib._bootstrap_external>", line 940, in exec_module
    File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
    File "/usr/lib/python3/dist-packages/pdm/pep517/api.py", line 10, in <module>
    from pdm.pep517.editable import EditableBuilder
    File "/usr/lib/python3/dist-packages/pdm/pep517/editable.py", line 13, in <module>
    from pdm.pep517.wheel import WheelBuilder
    File "/usr/lib/python3/dist-packages/pdm/pep517/wheel.py", line 24, in <module>
    from pdm.pep517.base import Builder
    File "/usr/lib/python3/dist-packages/pdm/pep517/base.py", line 12, in <module>
    from pdm.pep517.metadata import Metadata
    File "/usr/lib/python3/dist-packages/pdm/pep517/metadata.py", line 20, in <module>
    from pdm.pep517.version import DynamicVersion
    File "/usr/lib/python3/dist-packages/pdm/pep517/version.py", line 10, in <module>
    from pdm.pep517.scm import get_version_from_scm
    File "/usr/lib/python3/dist-packages/pdm/pep517/scm.py", line 17, in <module>
    from packaging.version import LegacyVersion, Version
    ImportError: cannot import name 'LegacyVersion' from 'packaging.version' (/usr/lib/python3/dist-packages/packaging/version.py)

    ERROR Backend 'pdm.pep517.api' is not available.
    E: pybuild pybuild:386: build: plugin pyproject failed with: exit code=1: python3.11 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/python-griffe-0.25.2/.pybuild/cpython3_3.11_griffe

    The same build issue can now be found on recent FTBFS issue reports done
    by Lucas archive rebuilds.

    While trying to understand what has changed I noticed also that
    src:pdm-pep517 [2] got an upstream update to (Thanks Boyuan Yang for
    packaging it!).
    But, pdm-pep517 got also a renaming on the upstream side to pdm-backend [3].

    I've done a rather quick and dirty import of the new version on top of
    the existing tree from src:pdm-517 to investigate things further.

    After using the updated python3-pdm-pep517 package I see another PDM
    related package that will need an update.

    Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/pep517/wrappers.py", line 319, in _call_hook
    raise BackendUnavailable(data.get('traceback', '')) pep517.wrappers.BackendUnavailable: Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/pep517/in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
    ^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
    File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
    File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
    File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1142, in _find_and_load_unlocked ModuleNotFoundError: No module named 'pdm.pep517'

    The package failing while importing here is python3-pep517 (src:pep517 [4]).

    But again as for pdm-pep517, also pep517 is renamed on the upstream side
    to pyproject-hooks [5].

    I haven't done yet any local work on updating src:pep517 as I wanted to
    ask here on the list how to handle these two updated and renamed
    upstream projects.

    The first one, src:pdm-pep517 seems not that difficult as it's only
    living in unstable and testing and the packages that are using the
    existing package as build dependency is rather small.

    The second one, src:pep517 needs an transition to a new source package
    and also to a new binary package to me. And now it can get complicated,
    given we are about 4 weeks away from the first freeze step of the RMs.

    What do other think?

    I've attached DD listings about the usage of python3-pep517 and python3-pdm-pep517.


    [1] https://tracker.debian.org/pkg/python-griffe
    [2] https://tracker.debian.org/pkg/pdm-pep517
    [3] https://github.com/pdm-project/pdm-backend
    [4] https://tracker.debian.org/pkg/pep517
    [5] https://github.com/pypa/pyproject-hooks

    --
    Regards
    Carsten

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Carsten Schoenert@21:1/5 to All on Mon Jan 2 19:20:01 2023
    This is a multi-part message in MIME format.
    I've forgotten to add the DD lists...

    --
    Regards
    Carsten Qm95dWFuIFlhbmcgPGJ5YW5nQGRlYmlhbi5vcmc+CiAgIGZpbmRweXRob24gKFUpCiAgIHBk bSAoVSkKICAgcHl0b29sY29uZmlnIChVKQogICByb3BlIChVKQogICB1bmVhcnRoIChVKQoK Q2Fyc3RlbiBTY2hvZW5lcnQgPGMuc2Nob2VuZXJ0QHQtb25saW5lLmRlPgogICBmbGFzay1z cWxhbGNoZW15IChVKQogICBta2RvY3MtYXV0b3JlZnMgKFUpCiAgIG1rZG9jc3RyaW5ncyAo VSkKICAgbWtkb2NzdHJpbmdzLXB5dGhvbi1oYW5kbGVycyAoVSkKICAgbWtkb2NzdHJpbmdz LXB5dGhvbi1sZWdhY3kgKFUpCiAgIHB5dGhvbi1ncmlmZmUgKFUpCiAgIHB5dGtkb2NzIChV KQoKRGViaWFuIFB5dGhvbiBUZWFtIDx0ZWFtK3B5dGhvbkB0cmFja2VyLmRlYmlhbi5vcmc+ CiAgIGF1dG9pbXBvcnQKICAgZmluZHB5dGhvbgogICBmbGFzay1zcWxhbGNoZW15CiAgIG1r ZG9jcy1hdXRvcmVmcwogICBta2RvY3N0cmluZ3MKICAgbWtkb2NzdHJpbmdzLXB5dGhvbi1o YW5kbGVycwogICBta2RvY3N0cmluZ3MtcHl0aG9uLWxlZ2FjeQogICBwZG0KICAgcHl0aG9u LWdyaWZmZQogICBweXRrZG9jcwogICBweXRvb2xjb25maWcKICAgcm9wZQogICB1bmVhcnRo CgpFZHdhcmQgQmV0dHMgPGVkd2FyZEA0YW5nbGUuY29tPgogICBhdXRvaW1wb3J0IChVKQoK SGVubmluZyBTcHJhbmcgPGhlbm5pbmcuc3ByYW5nQGdtYWlsLmNvbT4KICAgZmxhc2stc3Fs YWxjaGVteSAoVSkKClBhYmxvIE1lc3RyZSBEcmFrZSA8cG1kY3ViYUBnbWFpbC5jb20+CiAg IHJvcGUgKFUpCgo= Qm95dWFuIFlhbmcgPGJ5YW5nQGRlYmlhbi5vcmc+CiAgIHBkbSAoVSkKCkNocmlzIExhbWIg PGxhbWJ5QGRlYmlhbi5vcmc+CiAgIGRpZmZvc2NvcGUgKFUpCgpEZWJpYW4gTWVkIFBhY2th Z2luZyBUZWFtIDxkZWJpYW4tbWVkLXBhY2thZ2luZ0BsaXN0cy5hbGlvdGguZGViaWFuLm9y Zz4KICAgc25pZmZsZXMKCkRlYmlhbiBQeXRob24gVGVhbSA8dGVhbStweXRob25AdHJhY2tl ci5kZWJpYW4ub3JnPgogICBjaGVjay1tYW5pZmVzdAogICBwZG0KICAgcG9ldHJ5LWNvcmUK ICAgcHk3enIgKFUpCiAgIHB5dGhvbi1idWlsZAogICBweXRob24tbHNwLXNlcnZlcgoKRW1t YW51ZWwgQXJpYXMgPGVhbWFudUB5YWVyb2JpLmNvbT4KICAgcG9ldHJ5LWNvcmUgKFUpCgpI b2xnZXIgTGV2c2VuIDxob2xnZXJAZGViaWFuLm9yZz4KICAgZGlmZm9zY29wZSAoVSkKCkpv Y2hlbiBTcHJpY2tlcmhvZiA8anNwcmlja2VAZGViaWFuLm9yZz4KICAgcHl0aG9uLWxzcC1z ZXJ2ZXIgKFUpCgpKdWxpYW4gR2lsYmV5IDxqZGdAZGViaWFuLm9yZz4KICAgcHl0aG9uLWxz cC1zZXJ2ZXIgKFUpCgpNYXR0aWEgUml6em9sbyA8bWF0dGlhQGRlYmlhbi5vcmc+CiAgIGRp ZmZvc2NvcGUgKFUpCgpQYWJsbyBNZXN0cmUgRHJha2UgPHBtZGN1YmFAZ21haWwuY29tPgog ICBweXRob24tbHNwLXNlcnZlciAoVSkKClByYW5hdiBCYWxsYW5leSA8YmFsbGFuZXlwcmFu YXZAZ21haWwuY29tPgogICBzbmlmZmxlcyAoVSkKClJlcHJvZHVjaWJsZSBidWlsZHMgZm9s a3MgPHJlcHJvZHVjaWJsZS1idWlsZHNAbGlzdHMuYWxpb3RoLmRlYmlhbi5vcmc+CiAgIGRp ZmZvc2NvcGUKClNhbmRybyBUb3NpIDxtb3JwaEBkZWJpYW4ub3JnPgogICBweTd6cgoKU2Vy Z2lvIER1cmlnYW4gSnVuaW9yIDxzZXJnaW9kakBkZWJpYW4ub3JnPgogICBjaGVjay1tYW5p ZmVzdCAoVSkKICAgcHl0aG9uLWJ1aWxkIChVKQoK

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)