Source: pyflakes Version: 2.5.0-1 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20230726 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:240: python3.11 setup.py config > /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: > _DeprecatedConfig: Deprecated config in `setup.cfg` > !! > > > ******************************************************************************** > The license_file parameter is deprecated, use license_files instead. > > By 2023-Oct-30, you need to update your project and remove deprecated > calls > or your builds will no longer be supported. > > See > https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for > details. > > ******************************************************************************** > > !! > parsed = self.parsers.get(option_name, lambda x: x)(value) > running config > dh_auto_build -O--buildsystem=pybuild > I: pybuild base:240: /usr/bin/python3 setup.py build > /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: > _DeprecatedConfig: Deprecated config in `setup.cfg` > !! > > > ******************************************************************************** > The license_file parameter is deprecated, use license_files instead. > > By 2023-Oct-30, you need to update your project and remove deprecated > calls > or your builds will no longer be supported. > > See > https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for > details. > > ******************************************************************************** > > !! > parsed = self.parsers.get(option_name, lambda x: x)(value) > running build > running build_py > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes > copying pyflakes/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes > copying pyflakes/reporter.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes > copying pyflakes/api.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes > copying pyflakes/__main__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes > copying pyflakes/messages.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes > copying pyflakes/checker.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/scripts > copying pyflakes/scripts/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/scripts > copying pyflakes/scripts/pyflakes.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/scripts > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_dict.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_doctests.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_imports.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_other.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_builtin.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_checker.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/harness.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_undefined_names.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_code_segment.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_match.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_is_literal.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_api.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > copying pyflakes/test/test_type_annotations.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/pyflakes/test > dh_auto_test -O--buildsystem=pybuild > I: pybuild pybuild:307: mkdir -p > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/bin && ln -s > /<<PKGBUILDDIR>>/bin/pyflakes > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build/bin/pyflakes > I: pybuild base:240: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build; python3.11 -m pytest > ============================= test session starts > ============================== > platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.2.0 > rootdir: /<<PKGBUILDDIR>> > collected 746 items > > pyflakes/test/test_api.py .....................F.................. [ > 5%] > pyflakes/test/test_builtin.py .. [ > 5%] > pyflakes/test/test_checker.py ............... [ > 7%] > pyflakes/test/test_code_segment.py ..... [ > 8%] > pyflakes/test/test_dict.py ......................... [ > 11%] > pyflakes/test/test_doctests.py .............s....s...................... [ > 17%] > ...............................s........................................ [ > 26%] > ........................................................................ [ > 36%] > ...............ss..s..........s.......s.............. [ > 43%] > pyflakes/test/test_imports.py ....................................s..... [ > 49%] > ........................................................................ [ > 58%] > ................... [ > 61%] > pyflakes/test/test_is_literal.py ............................... [ > 65%] > pyflakes/test/test_match.py ....... [ > 66%] > pyflakes/test/test_other.py .............s....s......................... [ > 72%] > .........................................s.............................. [ > 82%] > ..s........... [ > 83%] > pyflakes/test/test_type_annotations.py ................................. [ > 88%] > .................... [ > 91%] > pyflakes/test/test_undefined_names.py .................................. [ > 95%] > ...............ss..s..........s.. > [100%] > > =================================== FAILURES > =================================== > _____________________ CheckTests.test_misencodedFileUTF16 > ______________________ > > codeString = b'\xff\xfe#\x00 \x00c\x00o\x00d\x00i\x00n\x00g\x00:\x00 > \x00a\x00s\x00c\x00i\x00i\x00\n\x00x\x00 \x00=\x00 \x00"\x00\x03&"\x00\n\x00' > filename = '/tmp/tmp23f_7c6i' > reporter = <pyflakes.reporter.Reporter object at 0x7fa57c224b10> > > def check(codeString, filename, reporter=None): > """ > Check the Python source given by C{codeString} for flakes. > > @param codeString: The Python source to check. > @type codeString: C{str} > > @param filename: The name of the file the source came from, used to > report > errors. > @type filename: C{str} > > @param reporter: A L{Reporter} instance, where errors and warnings > will be > reported. > > @return: The number of warnings emitted. > @rtype: C{int} > """ > if reporter is None: > reporter = modReporter._makeDefaultReporter() > # First, compile into an AST and handle syntax errors. > try: > > tree = ast.parse(codeString, filename=filename) > > pyflakes/api.py:39: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > source = b'\xff\xfe#\x00 \x00c\x00o\x00d\x00i\x00n\x00g\x00:\x00 > \x00a\x00s\x00c\x00i\x00i\x00\n\x00x\x00 \x00=\x00 \x00"\x00\x03&"\x00\n\x00' > filename = '/tmp/tmp23f_7c6i', mode = 'exec' > > def parse(source, filename='<unknown>', mode='exec', *, > type_comments=False, feature_version=None): > """ > Parse the source into an AST node. > Equivalent to compile(source, filename, mode, PyCF_ONLY_AST). > Pass type_comments=True to get back type comments where the syntax > allows. > """ > flags = PyCF_ONLY_AST > if type_comments: > flags |= PyCF_TYPE_COMMENTS > if isinstance(feature_version, tuple): > major, minor = feature_version # Should be a 2-tuple. > assert major == 3 > feature_version = minor > elif feature_version is None: > feature_version = -1 > # Else it should be an int giving the minor version for 3.x. > > return compile(source, filename, mode, flags, > _feature_version=feature_version) > E SyntaxError: source code string cannot contain null bytes > > /usr/lib/python3.11/ast.py:50: SyntaxError > > During handling of the above exception, another exception occurred: > > self = <pyflakes.test.test_api.CheckTests testMethod=test_misencodedFileUTF16> > > def test_misencodedFileUTF16(self): > """ > If a source file contains bytes which cannot be decoded, this is > reported on stderr. > """ > SNOWMAN = chr(0x2603) > source = ("""\ > # coding: ascii > x = "%s" > """ % SNOWMAN).encode('utf-16') > with self.makeTempFile(source) as sourcePath: > > self.assertHasErrors( > sourcePath, [f"{sourcePath}: problem decoding source\n"]) > > pyflakes/test/test_api.py:631: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > pyflakes/test/test_api.py:340: in assertHasErrors > count = withStderrTo(err, checkPath, path) > pyflakes/test/test_api.py:32: in withStderrTo > return f(*args, **kwargs) > pyflakes/api.py:72: in checkPath > return check(codestr, filename, reporter) > pyflakes/api.py:41: in check > reporter.syntaxError(filename, e.args[0], e.lineno, e.offset, e.text) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <pyflakes.reporter.Reporter object at 0x7fa57c224b10> > filename = '/tmp/tmp23f_7c6i' > msg = 'source code string cannot contain null bytes', lineno = None > offset = None, text = None > > def syntaxError(self, filename, msg, lineno, offset, text): > """ > There was a syntax error in C{filename}. > > @param filename: The path to the file with the syntax error. > @ptype filename: C{unicode} > @param msg: An explanation of the syntax error. > @ptype msg: C{unicode} > @param lineno: The line number where the syntax error occurred. > @ptype lineno: C{int} > @param offset: The column on which the syntax error occurred, or None. > @ptype offset: C{int} > @param text: The source code containing the syntax error. > @ptype text: C{unicode} > """ > if text is None: > line = None > else: > line = text.splitlines()[-1] > > # lineno might be 0 if the error came from stdin > > lineno = max(lineno, 1) > E TypeError: '>' not supported between instances of 'int' and 'NoneType' > > pyflakes/reporter.py:60: TypeError > =========================== short test summary info > ============================ > FAILED pyflakes/test/test_api.py::CheckTests::test_misencodedFileUTF16 - > Type... > ================== 1 failed, 728 passed, 17 skipped in 1.86s > =================== > E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyflakes/build; python3.11 -m pytest > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 > returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2023/07/26/pyflakes_2.5.0-1_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230726;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230726&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.