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.

Reply via email to