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 --------------------------------------------------------------------------------

