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.