Package: src:django-guardian
Version: 2.4.0-4
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:django-guardian, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with python3,sphinxdoc --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --with python3,sphinxdoc --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build
I: pybuild plugin_pyproject:131: Building wheel for python3.14 with "build" 
module
I: pybuild base:317: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_django-guardian  

[... snipped ...]

               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:141: in 
response_for_exception
    response = handle_uncaught_exception(
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:186: in 
handle_uncaught_exception
    return callback(request)
           ^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/utils/decorators.py:134: in _wrapper_view
    response = view_func(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/views/defaults.py:99: in server_error
    return HttpResponseServerError(template.render())
                                   ^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/backends/django.py:61: in render
    return self.template.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/base.py:175: in render
    return self._render(context)
           ^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/utils.py:111: in 
instrumented_test_render
    template_rendered.send(sender=self, template=self, context=context)
/usr/lib/python3/dist-packages/django/dispatch/dispatcher.py:177: in send
    (receiver, receiver(signal=self, sender=sender, **named))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:267: in 
store_rendered_templates
    store["context"].append(copy(context))
                            ^^^^^^^^^^^^^
/usr/lib/python3.14/copy.py:82: in copy
    return copier(x)
           ^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/context.py:158: in __copy__
    duplicate = super().__copy__()
                ^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = [{'True': True, 'False': False, 'None': None}]

    def __copy__(self):
        duplicate = copy(super())
>       duplicate.dicts = self.dicts[:]
        ^^^^^^^^^^^^^^^
E       AttributeError: 'super' object has no attribute 'dicts' and no __dict__ 
for setting new attributes

/usr/lib/python3/dist-packages/django/template/context.py:39: AttributeError

During handling of the above exception, another exception occurred:

request = <WSGIRequest: GET '/accounts/login/?next=%2Fpermission_required%2F'>

    @wraps(get_response)
    def inner(request):
        try:
>           response = get_response(request)
                       ^^^^^^^^^^^^^^^^^^^^^

/usr/lib/python3/dist-packages/django/core/handlers/exception.py:55: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/django/utils/deprecation.py:134: in __call__
    response = response or self.get_response(request)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:57: in inner
    response = response_for_exception(request, exc)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:141: in 
response_for_exception
    response = handle_uncaught_exception(
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:186: in 
handle_uncaught_exception
    return callback(request)
           ^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/utils/decorators.py:134: in _wrapper_view
    response = view_func(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/views/defaults.py:99: in server_error
    return HttpResponseServerError(template.render())
                                   ^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/backends/django.py:61: in render
    return self.template.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/base.py:175: in render
    return self._render(context)
           ^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/utils.py:111: in 
instrumented_test_render
    template_rendered.send(sender=self, template=self, context=context)
/usr/lib/python3/dist-packages/django/dispatch/dispatcher.py:177: in send
    (receiver, receiver(signal=self, sender=sender, **named))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:267: in 
store_rendered_templates
    store["context"].append(copy(context))
                            ^^^^^^^^^^^^^
/usr/lib/python3.14/copy.py:82: in copy
    return copier(x)
           ^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/context.py:158: in __copy__
    duplicate = super().__copy__()
                ^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = [{'True': True, 'False': False, 'None': None}]

    def __copy__(self):
        duplicate = copy(super())
>       duplicate.dicts = self.dicts[:]
        ^^^^^^^^^^^^^^^
E       AttributeError: 'super' object has no attribute 'dicts' and no __dict__ 
for setting new attributes

/usr/lib/python3/dist-packages/django/template/context.py:39: AttributeError

During handling of the above exception, another exception occurred:

self = <guardian.testapp.tests.test_decorators.PermissionRequiredTest 
testMethod=test_redirection_class>

    @override_settings(LOGIN_URL='django.contrib.auth.views.login')
    def test_redirection_class(self):
        view_url = '/permission_required/'
    
        response = self.client.get(view_url)
        # this should be '/account/login'
>       self.assertRedirects(
            response, global_settings.LOGIN_URL + "?next=" + view_url)

../../../guardian/testapp/tests/test_decorators.py:400: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/django/test/testcases.py:548: in assertRedirects
    redirect_response = response.client.get(
/usr/lib/python3/dist-packages/django/test/client.py:927: in get
    response = super().get(path, data=data, secure=secure, headers=headers, 
**extra)
               
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:457: in get
    return self.generic(
/usr/lib/python3/dist-packages/django/test/client.py:609: in generic
    return self.request(**r)
           ^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:886: in request
    response = self.handler(environ)
               ^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:176: in __call__
    response = self.get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/core/handlers/base.py:140: in get_response
    response = self._middleware_chain(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:57: in inner
    response = response_for_exception(request, exc)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:141: in 
response_for_exception
    response = handle_uncaught_exception(
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:186: in 
handle_uncaught_exception
    return callback(request)
           ^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/utils/decorators.py:134: in _wrapper_view
    response = view_func(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/views/defaults.py:99: in server_error
    return HttpResponseServerError(template.render())
                                   ^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/backends/django.py:61: in render
    return self.template.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/base.py:175: in render
    return self._render(context)
           ^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/utils.py:111: in 
instrumented_test_render
    template_rendered.send(sender=self, template=self, context=context)
/usr/lib/python3/dist-packages/django/dispatch/dispatcher.py:177: in send
    (receiver, receiver(signal=self, sender=sender, **named))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:267: in 
store_rendered_templates
    store["context"].append(copy(context))
                            ^^^^^^^^^^^^^
/usr/lib/python3.14/copy.py:82: in copy
    return copier(x)
           ^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/context.py:158: in __copy__
    duplicate = super().__copy__()
                ^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = [{'True': True, 'False': False, 'None': None}]

    def __copy__(self):
        duplicate = copy(super())
>       duplicate.dicts = self.dicts[:]
        ^^^^^^^^^^^^^^^
E       AttributeError: 'super' object has no attribute 'dicts' and no __dict__ 
for setting new attributes

/usr/lib/python3/dist-packages/django/template/context.py:39: AttributeError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/django/conf/__init__.py:241
  /usr/lib/python3/dist-packages/django/conf/__init__.py:241: 
RemovedInDjango50Warning: The default value of USE_TZ will change from False to 
True in Django 5.0. Set USE_TZ to False in your project settings if you want to 
keep the current default behavior.
    warnings.warn(

../../../guardian/testapp/tests/test_mixins.py:30
  /<<PKGBUILDDIR>>/guardian/testapp/tests/test_mixins.py:30: 
PytestCollectionWarning: cannot collect test class 'TestView' because it has a 
__init__ constructor (from: guardian/testapp/tests/test_mixins.py)
    class TestView(PermissionRequiredMixin, RemoveDatabaseView):

guardian/testapp/tests/test_management.py::TestGetAnonymousUser::test_non_migrated_db
  /usr/lib/python3/dist-packages/django/test/utils.py:458: UserWarning: 
Overriding setting DATABASES can lead to unexpected behavior.
    with self as context:

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED ../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_form
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_form_empty_group
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_form_wrong_field
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_form_wrong_group
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_wrong_perms
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_negative_group_form
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_negative_user_form
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_form
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_form_empty_user
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_form_wrong_field
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_form_wrong_user
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_wrong_perms
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_wrong_obj
FAILED 
../../../guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_wrong_user
FAILED 
../../../guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_redirection_class
============ 18 failed, 254 passed, 1 skipped, 3 warnings in 13.11s ============
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_django-guardian/build; python3.14 -m 
pytest {dir}/guardian
I: pybuild base:317: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-guardian/build; python3.13 -m 
pytest /<<PKGBUILDDIR>>/guardian
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
django: version: 4.2.26, settings: guardian.testapp.testsettings (from ini)
rootdir: /<<PKGBUILDDIR>>
configfile: pytest.ini
plugins: typeguard-4.4.4, django-4.11.1
collected 273 items

../../../guardian/testapp/tests/test_admin.py .......................... [  9%]
.....                                                                    [ 11%]
../../../guardian/testapp/tests/test_checks.py .                         [ 11%]
../../../guardian/testapp/tests/test_conf.py ..                          [ 12%]
../../../guardian/testapp/tests/test_core.py .................           [ 18%]
../../../guardian/testapp/tests/test_custompkmodel.py ..                 [ 19%]
../../../guardian/testapp/tests/test_decorators.py ..................... [ 27%]
....                                                                     [ 28%]
../../../guardian/testapp/tests/test_direct_rel.py ................      [ 34%]
../../../guardian/testapp/tests/test_forms.py .                          [ 34%]
../../../guardian/testapp/tests/test_management.py ....                  [ 36%]
../../../guardian/testapp/tests/test_managers.py ..                      [ 36%]
../../../guardian/testapp/tests/test_mixins.py ...........               [ 41%]
../../../guardian/testapp/tests/test_orphans.py ..                       [ 41%]
../../../guardian/testapp/tests/test_other.py ....................s      [ 49%]
../../../guardian/testapp/tests/test_shortcuts.py ...................... [ 57%]
........................................................................ [ 83%]
.................                                                        [ 90%]
../../../guardian/testapp/tests/test_tags.py ........                    [ 93%]
../../../guardian/testapp/tests/test_utils.py ...................        [100%]

=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/django/conf/__init__.py:241
  /usr/lib/python3/dist-packages/django/conf/__init__.py:241: 
RemovedInDjango50Warning: The default value of USE_TZ will change from False to 
True in Django 5.0. Set USE_TZ to False in your project settings if you want to 
keep the current default behavior.
    warnings.warn(

../../../guardian/testapp/tests/test_mixins.py:30
  /<<PKGBUILDDIR>>/guardian/testapp/tests/test_mixins.py:30: 
PytestCollectionWarning: cannot collect test class 'TestView' because it has a 
__init__ constructor (from: guardian/testapp/tests/test_mixins.py)
    class TestView(PermissionRequiredMixin, RemoveDatabaseView):

guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_negative_user_form
guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user
guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_form
guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_wrong_perms
  /usr/lib/python3/dist-packages/django/template/base.py:1047: 
RemovedInDjango50Warning: The "default.html" templates for forms and formsets 
will be removed. These were proxies to the equivalent "table.html" templates, 
but the new "div.html" templates will be the default from Django 5.0. 
Transitional renderers are provided to allow you to opt-in to the new output 
style now. See https://docs.djangoproject.com/en/4.2/releases/4.1/ for more 
details
    value = str(value)

guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user
  /<<PKGBUILDDIR>>/guardian/testapp/tests/test_admin.py:165: 
RemovedInDjango50Warning: The "default.html" templates for forms and formsets 
will be removed. These were proxies to the equivalent "table.html" templates, 
but the new "div.html" templates will be the default from Django 5.0. 
Transitional renderers are provided to allow you to opt-in to the new output 
style now. See https://docs.djangoproject.com/en/4.2/releases/4.1/ for more 
details
    self.assertIn('selected', str(response.context['form']))

guardian/testapp/tests/test_management.py::TestGetAnonymousUser::test_non_migrated_db
  /usr/lib/python3/dist-packages/django/test/utils.py:458: UserWarning: 
Overriding setting DATABASES can lead to unexpected behavior.
    with self as context:

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================== 272 passed, 1 skipped, 8 warnings in 9.83s ==================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to