Source: python-inotify
Version: 0.2.10-4
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20231212 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:310: python3.12 setup.py config 
> running config
> I: pybuild base:310: python3.11 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:310: /usr/bin/python3.12 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify
> copying inotify/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify
> copying inotify/library.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify
> copying inotify/constants.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify
> copying inotify/adapters.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify
> copying inotify/test_support.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify
> copying inotify/calls.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify
> running egg_info
> creating inotify.egg-info
> writing inotify.egg-info/PKG-INFO
> writing dependency_links to inotify.egg-info/dependency_links.txt
> writing top-level names to inotify.egg-info/top_level.txt
> writing manifest file 'inotify.egg-info/SOURCES.txt'
> reading manifest file 'inotify.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'inotify.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:204: _Warning: 
> Package 'inotify.resources' is absent from the `packages` configuration.
> !!
> 
>         
> ********************************************************************************
>         ############################
>         # Package would be ignored #
>         ############################
>         Python recognizes 'inotify.resources' as an importable package[^1],
>         but it is absent from setuptools' `packages` configuration.
> 
>         This leads to an ambiguous overall configuration. If you want to 
> distribute this
>         package, please make sure that 'inotify.resources' is explicitly added
>         to the `packages` configuration field.
> 
>         Alternatively, you can also rely on setuptools' discovery methods
>         (for example by using `find_namespace_packages(...)`/`find_namespace:`
>         instead of `find_packages(...)`/`find:`).
> 
>         You can read more about "package discovery" on setuptools 
> documentation page:
> 
>         - 
> https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
> 
>         If you don't want 'inotify.resources' to be distributed and are
>         already explicitly excluding 'inotify.resources' via
>         `find_namespace_packages(...)/find_namespace` or 
> `find_packages(...)/find`,
>         you can try to use `exclude_package_data`, or 
> `include-package-data=False` in
>         combination with a more fine grained `package-data` configuration.
> 
>         You can read more about "package data files" on setuptools 
> documentation page:
> 
>         - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
> 
> 
>         [^1]: For Python, any directory (with suitable naming) can be 
> imported,
>               even if it does not contain any `.py` files.
>               On the other hand, currently there is no concept of package data
>               directory, all directories are treated like packages.
>         
> ********************************************************************************
> 
> !!
>   check.warn(importable)
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify/resources
> copying inotify/resources/README.rst -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify/resources
> copying inotify/resources/requirements.txt -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build/inotify/resources
> I: pybuild base:310: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify
> copying inotify/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify
> copying inotify/library.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify
> copying inotify/constants.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify
> copying inotify/adapters.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify
> copying inotify/test_support.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify
> copying inotify/calls.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify
> running egg_info
> writing inotify.egg-info/PKG-INFO
> writing dependency_links to inotify.egg-info/dependency_links.txt
> writing top-level names to inotify.egg-info/top_level.txt
> reading manifest file 'inotify.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'inotify.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:204: _Warning: 
> Package 'inotify.resources' is absent from the `packages` configuration.
> !!
> 
>         
> ********************************************************************************
>         ############################
>         # Package would be ignored #
>         ############################
>         Python recognizes 'inotify.resources' as an importable package[^1],
>         but it is absent from setuptools' `packages` configuration.
> 
>         This leads to an ambiguous overall configuration. If you want to 
> distribute this
>         package, please make sure that 'inotify.resources' is explicitly added
>         to the `packages` configuration field.
> 
>         Alternatively, you can also rely on setuptools' discovery methods
>         (for example by using `find_namespace_packages(...)`/`find_namespace:`
>         instead of `find_packages(...)`/`find:`).
> 
>         You can read more about "package discovery" on setuptools 
> documentation page:
> 
>         - 
> https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
> 
>         If you don't want 'inotify.resources' to be distributed and are
>         already explicitly excluding 'inotify.resources' via
>         `find_namespace_packages(...)/find_namespace` or 
> `find_packages(...)/find`,
>         you can try to use `exclude_package_data`, or 
> `include-package-data=False` in
>         combination with a more fine grained `package-data` configuration.
> 
>         You can read more about "package data files" on setuptools 
> documentation page:
> 
>         - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
> 
> 
>         [^1]: For Python, any directory (with suitable naming) can be 
> imported,
>               even if it does not contain any `.py` files.
>               On the other hand, currently there is no concept of package data
>               directory, all directories are treated like packages.
>         
> ********************************************************************************
> 
> !!
>   check.warn(importable)
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify/resources
> copying inotify/resources/README.rst -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify/resources
> copying inotify/resources/requirements.txt -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/inotify/resources
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:310: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build; python3.12 -m 
> pytest -k 'not test__cycle' --reruns 3 --reruns-delay 1
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> plugins: rerunfailures-12.0
> collected 9 items / 3 deselected / 6 selected
> 
> tests/test_inotify.py RRRFsRRRFRRRFRRRFR                                 
> [100%]R [100%]R [100%]F [100%]
> 
> =================================== FAILURES 
> ===================================
> ______________________ TestInotify.test__get_event_names 
> _______________________
> 
> self = <tests.test_inotify.TestInotify testMethod=test__get_event_names>
> 
>     def test__get_event_names(self):
>         all_mask = 0
>         for bit in inotify.constants.MASK_LOOKUP.keys():
>             all_mask |= bit
>     
>         all_names = inotify.constants.MASK_LOOKUP.values()
>         all_names = list(all_names)
>     
>         i = inotify.adapters.Inotify()
>         names = i._get_event_names(all_mask)
>     
> >       self.assertEquals(names, all_names)
> E       AttributeError: 'TestInotify' object has no attribute 'assertEquals'. 
> Did you mean: 'assertEqual'?
> 
> tests/test_inotify.py:146: AttributeError
> ________________ TestInotify.test__international_naming_python3 
> ________________
> 
> self = <tests.test_inotify.TestInotify 
> testMethod=test__international_naming_python3>
> 
>     @unittest.skipIf(_HAS_PYTHON2_UNICODE_SUPPORT is True, "Not in Python 3")
>     def test__international_naming_python3(self):
>         with inotify.test_support.temp_path() as path:
>             inner_path = os.path.join(path, '新增資料夾')
>             os.mkdir(inner_path)
>     
>             i = inotify.adapters.Inotify()
>             i.add_watch(inner_path)
>     
>             with open(os.path.join(inner_path, 'filename'), 'w'):
>                 pass
>     
>             events = self.__read_all_events(i)
>     
>             expected = [
>                 (inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, 
> len=16), ['IN_CREATE'], inner_path, 'filename'),
>                 (inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, 
> len=16), ['IN_OPEN'], inner_path, 'filename'),
>                 (inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, 
> len=16), ['IN_CLOSE_WRITE'], inner_path, 'filename'),
>             ]
>     
> >           self.assertEquals(events, expected)
> E           AttributeError: 'TestInotify' object has no attribute 
> 'assertEquals'. Did you mean: 'assertEqual'?
> 
> tests/test_inotify.py:48: AttributeError
> ________ TestInotifyTree.test__automatic_new_watches_on_existing_paths 
> _________
> 
> self = <tests.test_inotify.TestInotifyTree 
> testMethod=test__automatic_new_watches_on_existing_paths>
> 
>     def test__automatic_new_watches_on_existing_paths(self):
>     
>         # Tests whether the watches are recursively established when we
>         # initialize.
>     
>         with inotify.test_support.temp_path() as path:
>             path1 = os.path.join(path, 'folder1')
>             path2 = os.path.join(path1, 'folder2')
>     
>             os.mkdir(path1)
>             os.mkdir(path2)
>     
>             i = inotify.adapters.InotifyTree(path)
>     
>             with open(os.path.join(path2,'filename'), 'w'):
>                 pass
>     
>             events = self.__read_all_events(i)
>     
>             expected = [
>                 (inotify.adapters._INOTIFY_EVENT(wd=3, mask=256, cookie=0, 
> len=16), ['IN_CREATE'], path2, 'filename'),
>                 (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32, cookie=0, 
> len=16), ['IN_OPEN'], path2, 'filename'),
>                 (inotify.adapters._INOTIFY_EVENT(wd=3, mask=8, cookie=0, 
> len=16), ['IN_CLOSE_WRITE'], path2, 'filename'),
>             ]
>     
> >           self.assertEquals(events, expected)
> E           AttributeError: 'TestInotifyTree' object has no attribute 
> 'assertEquals'. Did you mean: 'assertEqual'?
> 
> tests/test_inotify.py:350: AttributeError
> ___________ TestInotifyTree.test__automatic_new_watches_on_new_paths 
> ___________
> 
> self = <tests.test_inotify.TestInotifyTree 
> testMethod=test__automatic_new_watches_on_new_paths>
> 
>     def test__automatic_new_watches_on_new_paths(self):
>     
>         # Tests that watches are actively established as new folders are
>         # created.
>     
>         with inotify.test_support.temp_path() as path:
>             i = inotify.adapters.InotifyTree(path)
>     
>             path1 = os.path.join(path, 'folder1')
>             path2 = os.path.join(path1, 'folder2')
>     
>             os.mkdir(path1)
>     
>             events = self.__read_all_events(i)
>     
>             expected = [
>                 (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742080, 
> cookie=0, len=16), ['IN_CREATE', 'IN_ISDIR'], path, 'folder1'),
>             ]
>     
> >           self.assertEquals(events, expected)
> E           AttributeError: 'TestInotifyTree' object has no attribute 
> 'assertEquals'. Did you mean: 'assertEqual'?
> 
> tests/test_inotify.py:298: AttributeError
> ________________________ TestInotifyTree.test__renames 
> _________________________
> 
> self = <tests.test_inotify.TestInotifyTree testMethod=test__renames>
> 
>     def test__renames(self):
>     
>         # Since we're not reading the events one at a time in a loop and
>         # removing or renaming folders will flush any queued events, we have 
> to
>         # group things in order to check things first before such operations.
>     
>         with inotify.test_support.temp_path() as path:
>             i = inotify.adapters.InotifyTree(path)
>     
>             old_path = os.path.join(path, 'old_folder')
>             new_path = os.path.join(path, 'new_folder')
>     
>             os.mkdir(old_path)
>     
>             events1 = self.__read_all_events(i)
>     
>             expected = [
>                 (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742080, 
> cookie=events1[0][0].cookie, len=16), ['IN_CREATE', 'IN_ISDIR'], path, 
> 'old_folder'),
>             ]
>     
> >           self.assertEquals(events1, expected)
> E           AttributeError: 'TestInotifyTree' object has no attribute 
> 'assertEquals'. Did you mean: 'assertEqual'?
> 
> tests/test_inotify.py:235: AttributeError
> =========================== short test summary info 
> ============================
> FAILED tests/test_inotify.py::TestInotify::test__get_event_names - 
> AttributeE...
> FAILED tests/test_inotify.py::TestInotify::test__international_naming_python3
> FAILED 
> tests/test_inotify.py::TestInotifyTree::test__automatic_new_watches_on_existing_paths
> FAILED 
> tests/test_inotify.py::TestInotifyTree::test__automatic_new_watches_on_new_paths
> FAILED tests/test_inotify.py::TestInotifyTree::test__renames - 
> AttributeError...
> ============ 5 failed, 1 skipped, 3 deselected, 15 rerun in 31.38s 
> =============
> E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_python-inotify/build; python3.12 -m 
> pytest -k 'not test__cycle' --reruns 3 --reruns-delay 1
> I: pybuild base:310: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build; python3.11 -m 
> pytest -k 'not test__cycle' --reruns 3 --reruns-delay 1
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> plugins: rerunfailures-12.0
> collected 9 items / 3 deselected / 6 selected
> 
> tests/test_inotify.py .s....                                             
> [100%]
> 
> =============================== warnings summary 
> ===============================
> .pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py::TestInotify::test__get_event_names
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py:146:
>  DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(names, all_names)
> 
> .pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py::TestInotify::test__international_naming_python3
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py:48:
>  DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(events, expected)
> 
> .pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py::TestInotifyTree::test__automatic_new_watches_on_existing_paths
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py:350:
>  DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(events, expected)
> 
> .pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py::TestInotifyTree::test__automatic_new_watches_on_new_paths
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py:298:
>  DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(events, expected)
> 
> .pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py::TestInotifyTree::test__automatic_new_watches_on_new_paths
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py:309:
>  DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(events, expected)
> 
> .pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py::TestInotifyTree::test__automatic_new_watches_on_new_paths
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py:323:
>  DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(events, expected)
> 
> .pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py::TestInotifyTree::test__renames
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py:235:
>  DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(events1, expected)
> 
> .pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py::TestInotifyTree::test__renames
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py:247:
>  DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(events2, expected)
> 
> .pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py::TestInotifyTree::test__renames
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_python-inotify/build/tests/test_inotify.py:277:
>  DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(events3, expected)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> ============ 5 passed, 1 skipped, 3 deselected, 9 warnings in 8.08s 
> ============
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
> 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/12/12/python-inotify_0.2.10-4_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to