Source: ufo-extractor Version: 0.4.1-1 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20221023 ftbfs-bookworm
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.10 setup.py config > /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:508: > SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use > license_files instead. > warnings.warn(msg, warning_class) > 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:508: > SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use > license_files instead. > warnings.warn(msg, warning_class) > running build > running build_py > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor > copying Lib/extractor/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor > copying Lib/extractor/tools.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor > copying Lib/extractor/exceptions.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor > copying Lib/extractor/stream.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats > copying Lib/extractor/formats/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats > copying Lib/extractor/formats/vfb.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats > copying Lib/extractor/formats/type1.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats > copying Lib/extractor/formats/woff.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats > copying Lib/extractor/formats/opentype.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats > copying Lib/extractor/formats/ttx.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats > dh_auto_test -O--buildsystem=pybuild > I: pybuild base:240: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build; python3.10 -m pytest > tests > ============================= test session starts > ============================== > platform linux -- Python 3.10.7, pytest-7.1.2, pluggy-1.0.0+repack -- > /usr/bin/python3.10 > cachedir: .pytest_cache > rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg > collecting ... collected 2 items > > tests/extractor_test.py::ExtractUfoTest::test_extract_cmap_with_UVS[defcon] > FAILED [ 50%] > tests/extractor_test.py::ExtractUfoTest::test_extract_cmap_with_UVS[ufoLib2] > FAILED [100%] > > =================================== FAILURES > =================================== > ______________ ExtractUfoTest.test_extract_cmap_with_UVS[defcon] > _______________ > > pathOrFile = > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/tests/data/UVSTest.ttf' > destination = <defcon.objects.font.Font object at 0x7fde4123c2e0> > doGlyphs = True, doInfo = True, doKerning = True, format = 'OTF' > customFunctions = {} > > def extractUFO( > pathOrFile, > destination, > doGlyphs=True, > doInfo=True, > doKerning=True, > format=None, > customFunctions={}, > ): > if format is None: > format = extractFormat(pathOrFile) > if format not in _extractFunctions: > raise ExtractorError("Unknown file format.") > func = _extractFunctions[format] > # wrap the extraction in a try: except: so that > # callers don't need to worry about lower level > # (fontTools, etc.) errors. if an error > # occurs, print the traceback for debugging and > # raise an ExtractorError. > try: > > func( > pathOrFile, > destination, > doGlyphs=doGlyphs, > doInfo=doInfo, > doKerning=doKerning, > customFunctions=customFunctions.get(format, []), > ) > > extractor/__init__.py:53: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > pathOrFile = > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/tests/data/UVSTest.ttf' > destination = <defcon.objects.font.Font object at 0x7fde4123c2e0> > doGlyphOrder = True, doGlyphs = True, doInfo = True, doKerning = True > customFunctions = [], doInstructions = True > > def extractFontFromOpenType( > pathOrFile, > destination, > doGlyphOrder=True, > doGlyphs=True, > doInfo=True, > doKerning=True, > customFunctions=[], > doInstructions=True, > ): > source = TTFont(pathOrFile) > if doInfo: > extractOpenTypeInfo(source, destination) > if doGlyphs: > extractOpenTypeGlyphs(source, destination) > extractUnicodeVariationSequences(source, destination) > if doGlyphOrder: > extractGlyphOrder(source, destination) > if doKerning: > kerning, groups = extractOpenTypeKerning(source, destination) > destination.groups.update(groups) > destination.kerning.clear() > destination.kerning.update(kerning) > for function in customFunctions: > function(source, destination) > if doInstructions: > > extractInstructions(source, destination) > > extractor/formats/opentype.py:62: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > source = <fontTools.ttLib.ttFont.TTFont object at 0x7fde4123e350> > destination = <defcon.objects.font.Font object at 0x7fde4123c2e0> > > def extractInstructions(source, destination): > if "glyf" not in source: > return > > lib = destination.lib[TRUETYPE_INSTRUCTIONS_KEY] = { > "formatVersion": 1, > "maxFunctionDefs": 0, > "maxInstructionDefs": 0, > "maxStackElements": 0, > "maxStorage": 0, > "maxTwilightPoints": 0, > "maxZones": 0, > } > extractControlValues(source, lib) > extractFontProgram(source, lib) > > extractGlyphPrograms(source, destination) > > extractor/formats/opentype.py:114: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > source = <fontTools.ttLib.ttFont.TTFont object at 0x7fde4123e350> > destination = <defcon.objects.font.Font object at 0x7fde4123c2e0> > > def extractGlyphPrograms(source, destination): > """ > Extract the TrueType pre-program to the font lib. > """ > if "glyf" not in source: > return > glyph_set = source.getGlyphSet() > for name in glyph_set.keys(): > > glyph = glyph_set[name]._glyph > E AttributeError: '_TTGlyphGlyf' object has no attribute '_glyph' > > extractor/formats/opentype.py:149: AttributeError > > During handling of the above exception, another exception occurred: > > self = <extractor_test.ExtractUfoTest object at 0x7fde4123c0d0> > FontClass = <class 'defcon.objects.font.Font'> > > def test_extract_cmap_with_UVS(self, FontClass): > ufo = FontClass() > > extractor.extractUFO(getpath("UVSTest.ttf"), ufo) > > tests/extractor_test.py:15: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > pathOrFile = > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/tests/data/UVSTest.ttf' > destination = <defcon.objects.font.Font object at 0x7fde4123c2e0> > doGlyphs = True, doInfo = True, doKerning = True, format = 'OTF' > customFunctions = {} > > def extractUFO( > pathOrFile, > destination, > doGlyphs=True, > doInfo=True, > doKerning=True, > format=None, > customFunctions={}, > ): > if format is None: > format = extractFormat(pathOrFile) > if format not in _extractFunctions: > raise ExtractorError("Unknown file format.") > func = _extractFunctions[format] > # wrap the extraction in a try: except: so that > # callers don't need to worry about lower level > # (fontTools, etc.) errors. if an error > # occurs, print the traceback for debugging and > # raise an ExtractorError. > try: > func( > pathOrFile, > destination, > doGlyphs=doGlyphs, > doInfo=doInfo, > doKerning=doKerning, > customFunctions=customFunctions.get(format, []), > ) > except: > import sys > import traceback > > traceback.print_exc(file=sys.stdout) > > raise ExtractorError( > "There was an error reading the %s file." % format > ) > E extractor.exceptions.ExtractorError: There was an error reading > the OTF file. > > extractor/__init__.py:66: ExtractorError > ----------------------------- Captured stdout call > ----------------------------- > Traceback (most recent call last): > File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/__init__.py", > line 53, in extractUFO > func( > File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats/opentype.py", > line 62, in extractFontFromOpenType > extractInstructions(source, destination) > File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats/opentype.py", > line 114, in extractInstructions > extractGlyphPrograms(source, destination) > File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats/opentype.py", > line 149, in extractGlyphPrograms > glyph = glyph_set[name]._glyph > AttributeError: '_TTGlyphGlyf' object has no attribute '_glyph' > ______________ ExtractUfoTest.test_extract_cmap_with_UVS[ufoLib2] > ______________ > > pathOrFile = > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/tests/data/UVSTest.ttf' > destination = <ufoLib2.objects.font.Font 'UVS Test Regular' at 0x7fde40c4f7f0> > doGlyphs = True, doInfo = True, doKerning = True, format = 'OTF' > customFunctions = {} > > def extractUFO( > pathOrFile, > destination, > doGlyphs=True, > doInfo=True, > doKerning=True, > format=None, > customFunctions={}, > ): > if format is None: > format = extractFormat(pathOrFile) > if format not in _extractFunctions: > raise ExtractorError("Unknown file format.") > func = _extractFunctions[format] > # wrap the extraction in a try: except: so that > # callers don't need to worry about lower level > # (fontTools, etc.) errors. if an error > # occurs, print the traceback for debugging and > # raise an ExtractorError. > try: > > func( > pathOrFile, > destination, > doGlyphs=doGlyphs, > doInfo=doInfo, > doKerning=doKerning, > customFunctions=customFunctions.get(format, []), > ) > > extractor/__init__.py:53: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > pathOrFile = > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/tests/data/UVSTest.ttf' > destination = <ufoLib2.objects.font.Font 'UVS Test Regular' at 0x7fde40c4f7f0> > doGlyphOrder = True, doGlyphs = True, doInfo = True, doKerning = True > customFunctions = [], doInstructions = True > > def extractFontFromOpenType( > pathOrFile, > destination, > doGlyphOrder=True, > doGlyphs=True, > doInfo=True, > doKerning=True, > customFunctions=[], > doInstructions=True, > ): > source = TTFont(pathOrFile) > if doInfo: > extractOpenTypeInfo(source, destination) > if doGlyphs: > extractOpenTypeGlyphs(source, destination) > extractUnicodeVariationSequences(source, destination) > if doGlyphOrder: > extractGlyphOrder(source, destination) > if doKerning: > kerning, groups = extractOpenTypeKerning(source, destination) > destination.groups.update(groups) > destination.kerning.clear() > destination.kerning.update(kerning) > for function in customFunctions: > function(source, destination) > if doInstructions: > > extractInstructions(source, destination) > > extractor/formats/opentype.py:62: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > source = <fontTools.ttLib.ttFont.TTFont object at 0x7fde40c3fd90> > destination = <ufoLib2.objects.font.Font 'UVS Test Regular' at 0x7fde40c4f7f0> > > def extractInstructions(source, destination): > if "glyf" not in source: > return > > lib = destination.lib[TRUETYPE_INSTRUCTIONS_KEY] = { > "formatVersion": 1, > "maxFunctionDefs": 0, > "maxInstructionDefs": 0, > "maxStackElements": 0, > "maxStorage": 0, > "maxTwilightPoints": 0, > "maxZones": 0, > } > extractControlValues(source, lib) > extractFontProgram(source, lib) > > extractGlyphPrograms(source, destination) > > extractor/formats/opentype.py:114: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > source = <fontTools.ttLib.ttFont.TTFont object at 0x7fde40c3fd90> > destination = <ufoLib2.objects.font.Font 'UVS Test Regular' at 0x7fde40c4f7f0> > > def extractGlyphPrograms(source, destination): > """ > Extract the TrueType pre-program to the font lib. > """ > if "glyf" not in source: > return > glyph_set = source.getGlyphSet() > for name in glyph_set.keys(): > > glyph = glyph_set[name]._glyph > E AttributeError: '_TTGlyphGlyf' object has no attribute '_glyph' > > extractor/formats/opentype.py:149: AttributeError > > During handling of the above exception, another exception occurred: > > self = <extractor_test.ExtractUfoTest object at 0x7fde4123d9f0> > FontClass = <function FontClass.<locals>.ctor at 0x7fde40c4f760> > > def test_extract_cmap_with_UVS(self, FontClass): > ufo = FontClass() > > extractor.extractUFO(getpath("UVSTest.ttf"), ufo) > > tests/extractor_test.py:15: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > pathOrFile = > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/tests/data/UVSTest.ttf' > destination = <ufoLib2.objects.font.Font 'UVS Test Regular' at 0x7fde40c4f7f0> > doGlyphs = True, doInfo = True, doKerning = True, format = 'OTF' > customFunctions = {} > > def extractUFO( > pathOrFile, > destination, > doGlyphs=True, > doInfo=True, > doKerning=True, > format=None, > customFunctions={}, > ): > if format is None: > format = extractFormat(pathOrFile) > if format not in _extractFunctions: > raise ExtractorError("Unknown file format.") > func = _extractFunctions[format] > # wrap the extraction in a try: except: so that > # callers don't need to worry about lower level > # (fontTools, etc.) errors. if an error > # occurs, print the traceback for debugging and > # raise an ExtractorError. > try: > func( > pathOrFile, > destination, > doGlyphs=doGlyphs, > doInfo=doInfo, > doKerning=doKerning, > customFunctions=customFunctions.get(format, []), > ) > except: > import sys > import traceback > > traceback.print_exc(file=sys.stdout) > > raise ExtractorError( > "There was an error reading the %s file." % format > ) > E extractor.exceptions.ExtractorError: There was an error reading > the OTF file. > > extractor/__init__.py:66: ExtractorError > ----------------------------- Captured stdout call > ----------------------------- > Traceback (most recent call last): > File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/__init__.py", > line 53, in extractUFO > func( > File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats/opentype.py", > line 62, in extractFontFromOpenType > extractInstructions(source, destination) > File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats/opentype.py", > line 114, in extractInstructions > extractGlyphPrograms(source, destination) > File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build/extractor/formats/opentype.py", > line 149, in extractGlyphPrograms > glyph = glyph_set[name]._glyph > AttributeError: '_TTGlyphGlyf' object has no attribute '_glyph' > =========================== short test summary info > ============================ > FAILED > tests/extractor_test.py::ExtractUfoTest::test_extract_cmap_with_UVS[defcon] > FAILED > tests/extractor_test.py::ExtractUfoTest::test_extract_cmap_with_UVS[ufoLib2] > ============================== 2 failed in 0.62s > =============================== > E: pybuild pybuild:379: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_extractor/build; python3.10 -m pytest > tests > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.10 > returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2022/10/23/ufo-extractor_0.4.1-1_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20221023;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221023&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 marking 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.