Package: src:python-django-imagekit
Version: 5.0-3
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:python-django-imagekit, 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
   debian/rules override_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf docs/.build
dh_clean
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
 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

[... snipped ...]

    name = generator.cachefile_name
           ^^^^^^^^^^^^^^^^^^^^^^^^
imagekit/specs/__init__.py:97: in cachefile_name
    return fn(self)
           ^^^^^^^^
imagekit/cachefiles/namers.py:42: in source_name_as_path
    '%s%s' % (generator.get_hash(), ext)))
              ^^^^^^^^^^^^^^^^^^^^
imagekit/specs/__init__.py:135: in get_hash
    return hashers.pickle([
imagekit/hashers.py:29: in pickle
    CanonicalizingPickler(file, 0).dump(obj)
/usr/lib/python3.14/pickle.py:498: in dump
    self.save(obj)
/usr/lib/python3.14/pickle.py:572: in save
    f(self, obj)  # Call unbound method with explicit self
    ^^^^^^^^^^^^
/usr/lib/python3.14/pickle.py:1015: in save_list
    self._batch_appends(obj, obj)
/usr/lib/python3.14/pickle.py:1029: in _batch_appends
    save(x)
/usr/lib/python3.14/pickle.py:572: in save
    f(self, obj)  # Call unbound method with explicit self
    ^^^^^^^^^^^^
/usr/lib/python3.14/pickle.py:1015: in save_list
    self._batch_appends(obj, obj)
/usr/lib/python3.14/pickle.py:1029: in _batch_appends
    save(x)
/usr/lib/python3.14/pickle.py:615: in save
    self.save_reduce(obj=obj, *rv)
/usr/lib/python3.14/pickle.py:761: in save_reduce
    save(state)
/usr/lib/python3.14/pickle.py:572: in save
    f(self, obj)  # Call unbound method with explicit self
    ^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <imagekit.hashers.CanonicalizingPickler object at 0x7f719dd4f750>
obj = {'anchor': 'c', 'crop': True, 'height': 100, 'upscale': None, ...}

    def save_dict(self, obj):
        write = self.write
        write(MARK + DICT)
    
        self.memoize(obj)
>       self._batch_setitems(sorted(obj.items()))
E       TypeError: _Pickler._batch_setitems() missing 1 required positional 
argument: 'obj'
E       when serializing pilkit.processors.resize.Thumbnail state
E       when serializing pilkit.processors.resize.Thumbnail object
E       when serializing list item 0
E       when serializing list item 1

imagekit/hashers.py:22: TypeError
____________________________ test_single_dimension _____________________________

    def test_single_dimension():
        ttag = r"""{% thumbnail '100x' img as th %}{{ th.width }}"""
        clear_imagekit_cache()
>       html = render_tag(ttag)
               ^^^^^^^^^^^^^^^^

tests/test_thumbnail_tag.py:81: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/utils.py:68: in render_tag
    return 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:112: in 
instrumented_test_render
    return self.nodelist.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/base.py:1005: in render
    return SafeString("".join([node.render_annotated(context) for node in 
self]))
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/base.py:966: in render_annotated
    return self.render(context)
           ^^^^^^^^^^^^^^^^^^^^
imagekit/templatetags/imagekit.py:102: in render
    context[variable_name] = ImageCacheFile(generator)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^
imagekit/cachefiles/__init__.py:42: in __init__
    name = generator.cachefile_name
           ^^^^^^^^^^^^^^^^^^^^^^^^
imagekit/specs/__init__.py:97: in cachefile_name
    return fn(self)
           ^^^^^^^^
imagekit/cachefiles/namers.py:42: in source_name_as_path
    '%s%s' % (generator.get_hash(), ext)))
              ^^^^^^^^^^^^^^^^^^^^
imagekit/specs/__init__.py:135: in get_hash
    return hashers.pickle([
imagekit/hashers.py:29: in pickle
    CanonicalizingPickler(file, 0).dump(obj)
/usr/lib/python3.14/pickle.py:498: in dump
    self.save(obj)
/usr/lib/python3.14/pickle.py:572: in save
    f(self, obj)  # Call unbound method with explicit self
    ^^^^^^^^^^^^
/usr/lib/python3.14/pickle.py:1015: in save_list
    self._batch_appends(obj, obj)
/usr/lib/python3.14/pickle.py:1029: in _batch_appends
    save(x)
/usr/lib/python3.14/pickle.py:572: in save
    f(self, obj)  # Call unbound method with explicit self
    ^^^^^^^^^^^^
/usr/lib/python3.14/pickle.py:1015: in save_list
    self._batch_appends(obj, obj)
/usr/lib/python3.14/pickle.py:1029: in _batch_appends
    save(x)
/usr/lib/python3.14/pickle.py:615: in save
    self.save_reduce(obj=obj, *rv)
/usr/lib/python3.14/pickle.py:761: in save_reduce
    save(state)
/usr/lib/python3.14/pickle.py:572: in save
    f(self, obj)  # Call unbound method with explicit self
    ^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <imagekit.hashers.CanonicalizingPickler object at 0x7f719dd8a170>
obj = {'anchor': None, 'crop': False, 'height': None, 'upscale': None, ...}

    def save_dict(self, obj):
        write = self.write
        write(MARK + DICT)
    
        self.memoize(obj)
>       self._batch_setitems(sorted(obj.items()))
E       TypeError: _Pickler._batch_setitems() missing 1 required positional 
argument: 'obj'
E       when serializing pilkit.processors.resize.Thumbnail state
E       when serializing pilkit.processors.resize.Thumbnail object
E       when serializing list item 0
E       when serializing list item 1

imagekit/hashers.py:22: TypeError
___________________________ test_alternate_generator ___________________________

    def test_alternate_generator():
        ttag = r"""{% thumbnail '1pxsq' '100x' img as th %}{{ th.width }}"""
        clear_imagekit_cache()
>       html = render_tag(ttag)
               ^^^^^^^^^^^^^^^^

tests/test_thumbnail_tag.py:88: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/utils.py:68: in render_tag
    return 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:112: in 
instrumented_test_render
    return self.nodelist.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/base.py:1005: in render
    return SafeString("".join([node.render_annotated(context) for node in 
self]))
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/base.py:966: in render_annotated
    return self.render(context)
           ^^^^^^^^^^^^^^^^^^^^
imagekit/templatetags/imagekit.py:102: in render
    context[variable_name] = ImageCacheFile(generator)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^
imagekit/cachefiles/__init__.py:42: in __init__
    name = generator.cachefile_name
           ^^^^^^^^^^^^^^^^^^^^^^^^
imagekit/specs/__init__.py:97: in cachefile_name
    return fn(self)
           ^^^^^^^^
imagekit/cachefiles/namers.py:42: in source_name_as_path
    '%s%s' % (generator.get_hash(), ext)))
              ^^^^^^^^^^^^^^^^^^^^
imagekit/specs/__init__.py:135: in get_hash
    return hashers.pickle([
imagekit/hashers.py:29: in pickle
    CanonicalizingPickler(file, 0).dump(obj)
/usr/lib/python3.14/pickle.py:498: in dump
    self.save(obj)
/usr/lib/python3.14/pickle.py:572: in save
    f(self, obj)  # Call unbound method with explicit self
    ^^^^^^^^^^^^
/usr/lib/python3.14/pickle.py:1015: in save_list
    self._batch_appends(obj, obj)
/usr/lib/python3.14/pickle.py:1029: in _batch_appends
    save(x)
/usr/lib/python3.14/pickle.py:572: in save
    f(self, obj)  # Call unbound method with explicit self
    ^^^^^^^^^^^^
/usr/lib/python3.14/pickle.py:1015: in save_list
    self._batch_appends(obj, obj)
/usr/lib/python3.14/pickle.py:1029: in _batch_appends
    save(x)
/usr/lib/python3.14/pickle.py:615: in save
    self.save_reduce(obj=obj, *rv)
/usr/lib/python3.14/pickle.py:761: in save_reduce
    save(state)
/usr/lib/python3.14/pickle.py:572: in save
    f(self, obj)  # Call unbound method with explicit self
    ^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <imagekit.hashers.CanonicalizingPickler object at 0x7f719dd8b750>
obj = {'anchor': None, 'height': 1, 'upscale': True, 'width': 1}

    def save_dict(self, obj):
        write = self.write
        write(MARK + DICT)
    
        self.memoize(obj)
>       self._batch_setitems(sorted(obj.items()))
E       TypeError: _Pickler._batch_setitems() missing 1 required positional 
argument: 'obj'
E       when serializing pilkit.processors.resize.ResizeToFill state
E       when serializing pilkit.processors.resize.ResizeToFill object
E       when serializing list item 0
E       when serializing list item 1

imagekit/hashers.py:22: TypeError
=============================== 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(

tests/test_settings.py::test_custom_default_file_storage
  /usr/lib/python3/dist-packages/django/conf/__init__.py:343: 
RemovedInDjango51Warning: The DEFAULT_FILE_STORAGE setting is deprecated. Use 
STORAGES instead.
    warnings.warn(DEFAULT_FILE_STORAGE_DEPRECATED_MSG, RemovedInDjango51Warning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_closing_fieldfiles.py::test_do_not_leak_open_files - TypeEr...
FAILED 
tests/test_closing_fieldfiles.py::test_do_not_close_open_files_after_generate
FAILED tests/test_serialization.py::test_imagespecfield - TypeError: _Pickler...
FAILED tests/test_serialization.py::test_circular_ref - TypeError: _Pickler._...
FAILED tests/test_thumbnail_tag.py::test_img_tag - TypeError: _Pickler._batch...
FAILED tests/test_thumbnail_tag.py::test_img_tag_anchor - TypeError: _Pickler...
FAILED tests/test_thumbnail_tag.py::test_img_tag_attrs - TypeError: _Pickler....
FAILED tests/test_thumbnail_tag.py::test_assignment_tag - TypeError: _Pickler...
FAILED tests/test_thumbnail_tag.py::test_assignment_tag_anchor - TypeError: _...
FAILED tests/test_thumbnail_tag.py::test_single_dimension - TypeError: _Pickl...
FAILED tests/test_thumbnail_tag.py::test_alternate_generator - TypeError: _Pi...
================== 11 failed, 36 passed, 2 warnings in 1.71s ===================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_django-imagekit/build; python3.14 -m 
pytest tests
I: pybuild base:317: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-imagekit/build; python3.13 -m 
pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
django: version: 4.2.26, settings: tests.settings (from ini)
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-imagekit/build
configfile: pytest.ini
plugins: typeguard-4.4.4, django-4.11.1
collected 47 items

tests/test_closing_fieldfiles.py ..                                      [  4%]
tests/test_fields.py ...                                                 [ 10%]
tests/test_serialization.py ..                                           [ 14%]
tests/test_sourcegroups.py ...                                           [ 21%]
tests/test_abstract_models.py .                                          [ 23%]
tests/test_cachefiles.py .......                                         [ 38%]
tests/test_generateimage_tag.py ......                                   [ 51%]
tests/test_no_extra_queries.py .                                         [ 53%]
tests/test_optimistic_strategy.py ..                                     [ 57%]
tests/test_serialization.py .                                            [ 59%]
tests/test_settings.py .....                                             [ 70%]
tests/test_thumbnail_tag.py ...........                                  [ 93%]
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(

tests/test_settings.py::test_custom_default_file_storage
  /usr/lib/python3/dist-packages/django/conf/__init__.py:343: 
RemovedInDjango51Warning: The DEFAULT_FILE_STORAGE setting is deprecated. Use 
STORAGES instead.
    warnings.warn(DEFAULT_FILE_STORAGE_DEPRECATED_MSG, RemovedInDjango51Warning)

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

Reply via email to