Bug 2372327

Summary: Review Request: python-twomemo - Implementation of the namespace `urn:xmpp:omemo:2` for python-omemo
Product: [Fedora] Fedora Reporter: Benson Muite <benson_muite>
Component: Package ReviewAssignee: W. Michael Petullo <mike>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: mike, package-review
Target Milestone: ---Flags: mike: fedora-review?
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
URL: https://github.com/Syndace/python-twomemo
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Benson Muite 2025-06-11 17:23:15 UTC
spec: https://fed500.fedorapeople.org/python-twomemo.spec
srpm: https://fed500.fedorapeople.org/python-twomemo-1.1.0-1.fc41.src.rpm

description:
Backend implementation for python-omemo, equipping python-omemo with support
for OMEMO under the namespace urn:xmpp:omemo:2 (casually/jokingly referred to
as "twomemo").

fas: fed500

Reproducible: Always

Comment 1 Fedora Review Service 2025-06-11 17:29:37 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9153604
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2372327-python-twomemo/fedora-rawhide-x86_64/09153604-python-twomemo/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 W. Michael Petullo 2025-06-20 20:11:40 UTC
fedora-review/mock is causing the following error:

Problem 1: conflicting requests
  - nothing provides python(abi) = 3.13 needed by python3-doubleratchet-1.1.0-3.fc43.noarch from fedora
  - nothing provides python3.13dist(typing-extensions) >= 4.3 needed by python3-doubleratchet-1.1.0-3.fc43.noarch from fedora
  - nothing provides python3.13dist(cryptography) >= 3.3.2 needed by python3-doubleratchet-1.1.0-3.fc43.noarch from fedora
 Problem 2: conflicting requests
  - nothing provides python(abi) = 3.13 needed by python3-omemo-1.0.4-2.fc42.noarch from fedora
  - nothing provides python3.13dist(typing-extensions) >= 4.3 needed by python3-omemo-1.0.4-2.fc42.noarch from fedora
  - nothing provides (python3.13dist(xeddsa) < 2~~ with python3.13dist(xeddsa) >= 1) needed by python3-omemo-1.0.4-2.fc42.noarch from fedora
 Problem 3: conflicting requests
  - nothing provides python3.14dist(pydantic) >= 1.7.4 needed by python3-x3dh-1.0.4-3.fc43.noarch from fedora

Is there a Python-related rebuild going on in Rawhide?

Running "rpmbuild -ba python-twomemo.spec" directly on Fedora 42 causes this:

+ /usr/bin/python3 -sP /usr/lib/rpm/redhat/import_all_modules.py -f /home/mike/Source/rpms/BUILD/python-twomemo-1.1.0-build/python-twomemo-1.1.0-1.fc42.noarch-pyproject-modules
Check import: twomemo
Traceback (most recent call last):
  File "/usr/lib64/python3.13/site-packages/xeddsa/bindings.py", line 8, in <module>
    from _libxeddsa import ffi, lib
ModuleNotFoundError: No module named '_libxeddsa'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/rpm/redhat/import_all_modules.py", line 171, in <module>
    main()
    ~~~~^^
  File "/usr/lib/rpm/redhat/import_all_modules.py", line 167, in main
    import_modules(modules)
    ~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/rpm/redhat/import_all_modules.py", line 100, in import_modules
    importlib.import_module(module)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib64/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/home/mike/Source/rpms/BUILD/python-twomemo-1.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/twomemo/__init__.py", line 4, in <module>
    from .twomemo import Twomemo as Twomemo
  File "/home/mike/Source/rpms/BUILD/python-twomemo-1.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/twomemo/twomemo.py", line 19, in <module>
    import x3dh
  File "/usr/lib/python3.13/site-packages/x3dh/__init__.py", line 4, in <module>
    from .base_state import KeyAgreementException, BaseState
  File "/usr/lib/python3.13/site-packages/x3dh/base_state.py", line 10, in <module>
    import xeddsa
  File "/usr/lib64/python3.13/site-packages/xeddsa/__init__.py", line 4, in <module>
    from .bindings import (
    ...<25 lines>...
    )
  File "/usr/lib64/python3.13/site-packages/xeddsa/bindings.py", line 10, in <module>
    from .libxeddsa_emscripten import ffi, lib  # type: ignore[assignment]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/site-packages/xeddsa/libxeddsa_emscripten.py", line 3, in <module>
    from browser import window  # type: ignore[import-not-found]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'browser'
error: Bad exit status from /tmp/rpm-tmp.KSdeU5 (%check)

Comment 3 Benson Muite 2025-06-23 16:34:14 UTC
Some of the python packages have not been rebuilt for python 3.14, probably another week or so before they get rebuilt.