Bug 2389646

Summary: python-django-allauth: FTBFS in Fedora Rawhide/43: AttributeError: module 'fido2.features' has no attribute
Product: [Fedora] Fedora Reporter: Karolina Surma <ksurma>
Component: python-django-allauthAssignee: Michel Lind <michel>
Status: CLOSED ERRATA QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 43CC: epel-packagers-sig, infra-sig, michel, ngompa13, python-packagers-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/python-django-allauth
Whiteboard:
Fixed In Version: python-django-allauth-65.8.1-1.fc44 python-django-allauth-65.8.1-1.fc43 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-10-10 13:51:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2350476    
Bug Blocks: 2339432, 2373702, 2384424    

Description Karolina Surma 2025-08-20 08:39:40 UTC
Description of problem:
Package python-django-allauth fails to build from source in Fedora Rawhide and 43. This comes apparently via the update of python-fido2 to the major version 2.0.0.

Version-Release number of selected component (if applicable):
65.3.0-4.fc43

Steps to Reproduce:
koji build --scratch f44 python-django-allauth-65.3.0-4.fc43.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/python-django-allauth

Results:

_____________________________ test_login_cancelled _____________________________
client = <django.test.client.Client object at 0xffffa5525590>
    def test_login_cancelled(client):
>       resp = client.get(reverse("socialaccount_login_cancelled"))
allauth/socialaccount/tests/test_login.py:100: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3.14/site-packages/django/urls/base.py:98: in reverse
    resolved_url = resolver._reverse_with_prefix(view, prefix, *args, **kwargs)
/usr/lib/python3.14/site-packages/django/urls/resolvers.py:749: in _reverse_with_prefix
    self._populate()
/usr/lib/python3.14/site-packages/django/urls/resolvers.py:548: in _populate
    for url_pattern in reversed(self.url_patterns):
/usr/lib/python3.14/site-packages/django/utils/functional.py:47: in __get__
    res = instance.__dict__[self.name] = self.func(instance)
/usr/lib/python3.14/site-packages/django/urls/resolvers.py:718: in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
/usr/lib/python3.14/site-packages/django/utils/functional.py:47: in __get__
    res = instance.__dict__[self.name] = self.func(instance)
/usr/lib/python3.14/site-packages/django/urls/resolvers.py:711: in urlconf_module
    return import_module(self.urlconf_name)
/usr/lib64/python3.14/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1398: in _gcd_import
    ???
<frozen importlib._bootstrap>:1371: in _find_and_load
    ???
<frozen importlib._bootstrap>:1342: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:938: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:762: in exec_module
    ???
<frozen importlib._bootstrap>:491: in _call_with_frames_removed
    ???
tests/regular/urls.py:14: in <module>
    path("_allauth/", include("allauth.headless.urls")),
/usr/lib/python3.14/site-packages/django/urls/conf.py:39: in include
    urlconf_module = import_module(urlconf_module)
/usr/lib64/python3.14/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1398: in _gcd_import
    ???
<frozen importlib._bootstrap>:1371: in _find_and_load
    ???
<frozen importlib._bootstrap>:1342: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:938: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:762: in exec_module
    ???
<frozen importlib._bootstrap>:491: in _call_with_frames_removed
    ???
allauth/headless/urls.py:68: in <module>
    (build_urlpatterns(Client.BROWSER), "headless"),
allauth/headless/urls.py:35: in build_urlpatterns
    from allauth.headless.mfa import urls as mfa_urls
allauth/headless/mfa/urls.py:3: in <module>
    from allauth.headless.mfa import views
allauth/headless/mfa/views.py:18: in <module>
    from allauth.headless.mfa.inputs import (
allauth/headless/mfa/inputs.py:7: in <module>
    from allauth.mfa.webauthn.forms import (
allauth/mfa/webauthn/forms.py:12: in <module>
    from allauth.mfa.webauthn.internal import auth, flows
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    from typing import Any, Dict, List, Optional
    
    from django.contrib.auth import get_user_model
    
    import fido2.features
    from fido2.server import Fido2Server
    from fido2.utils import websafe_decode
    from fido2.webauthn import (
        AttestedCredentialData,
        AuthenticationResponse,
        AuthenticatorData,
        PublicKeyCredentialRpEntity,
        PublicKeyCredentialUserEntity,
        RegistrationResponse,
        ResidentKeyRequirement,
        UserVerificationRequirement,
    )
    
    from allauth.account.utils import url_str_to_user_pk
    from allauth.core import context
    from allauth.mfa import app_settings
    from allauth.mfa.adapter import get_adapter
    from allauth.mfa.models import Authenticator
    
    
>   fido2.features.webauthn_json_mapping.enabled = True
E   AttributeError: module 'fido2.features' has no attribute 'webauthn_json_mapping'

Comment 1 Miro HronĨok 2025-08-26 11:08:43 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc2+ bytecode in Fedora 43.

The Beta Freeze of Fedora 43 is scheduled to start today. Please prioritize this bugzilla accordingly.

Thanks.

Comment 2 Karolina Surma 2025-09-29 14:22:56 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc3+ bytecode in Fedora 43.

The Final Freeze of Fedora 43 is scheduled to start next week. Please prioritize this bugzilla accordingly.

Thanks.

Comment 3 Michel Lind 2025-10-09 20:12:45 UTC
Taking a look

Comment 4 Michel Lind 2025-10-10 09:52:17 UTC
The newest version drastically revamped the way tests are run, going to try and find a smaller rebase for now

Comment 5 Fedora Update System 2025-10-10 13:47:17 UTC
FEDORA-2025-343039e119 (python-django-allauth-65.8.1-1.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-343039e119

Comment 6 Fedora Update System 2025-10-10 13:51:38 UTC
FEDORA-2025-343039e119 (python-django-allauth-65.8.1-1.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 7 Fedora Update System 2025-10-10 14:05:49 UTC
FEDORA-2025-705c2af0b1 (python-django-allauth-65.8.1-1.fc43 and python-xmlsec-1.3.16-1.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-705c2af0b1

Comment 8 Fedora Update System 2025-10-11 01:23:05 UTC
FEDORA-2025-705c2af0b1 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-705c2af0b1`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-705c2af0b1

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2025-10-25 21:05:59 UTC
FEDORA-2025-705c2af0b1 (python-django-allauth-65.8.1-1.fc43 and python-xmlsec-1.3.16-1.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.