Hello, Please note that this comment was generated automatically by https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py If you feel that this output has mistakes, please open an issue at https://pagure.io/releng/ Your package (python-ufo2ft) Fails To Install in Fedora 43: can't install python3-ufo2ft+cffsubr: - nothing provides python(abi) = 3.13 needed by python3-ufo2ft+cffsubr-3.4.2-2.fc43.noarch can't install python3-ufo2ft+compreffor: - nothing provides python(abi) = 3.13 needed by python3-ufo2ft+compreffor-3.4.2-2.fc43.noarch - nothing provides python3.13dist(compreffor) >= 0.5.5 needed by python3-ufo2ft+compreffor-3.4.2-2.fc43.noarch can't install python3-ufo2ft: - nothing provides python(abi) = 3.13 needed by python3-ufo2ft-3.4.2-2.fc43.noarch - nothing provides python3.13dist(booleanoperations) >= 0.9 needed by python3-ufo2ft-3.4.2-2.fc43.noarch - nothing provides python3.13dist(cffsubr) >= 0.3 needed by python3-ufo2ft-3.4.2-2.fc43.noarch - nothing provides python3.13dist(fontmath) >= 0.9.3 needed by python3-ufo2ft-3.4.2-2.fc43.noarch - nothing provides python3.13dist(fonttools) >= 4.52 needed by python3-ufo2ft-3.4.2-2.fc43.noarch - nothing provides python3.13dist(fonttools[ufo]) >= 4.52 needed by python3-ufo2ft-3.4.2-2.fc43.noarch If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem. If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks. P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors. To reproduce, use the koji/local repo only, e.g. in mock: $ mock -r fedora-43-x86_64 --config-opts mirrored=False install python3-ufo2ft+cffsubr python3-ufo2ft+compreffor python3-ufo2ft P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#updating-inter-dependent-packages Thanks!
=================================== FAILURES =================================== _________ FeatureCompilerTest.test_buildTables_FeatureLibError[defcon] _________ self = <tests.featureCompiler_test.FeatureCompilerTest object at 0x7fff98e3cc30> FontClass = <class 'defcon.objects.font.Font'> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fff9a46b9d0> def test_buildTables_FeatureLibError(self, FontClass, caplog): caplog.set_level(logging.CRITICAL) ufo = FontClass() ufo.newGlyph("f") ufo.newGlyph("f.alt01") ufo.newGlyph("f_f") features = dedent( """\ feature BUGS { # invalid lookup MIXED_TYPE { sub f by f.alt01; sub f f by f_f; } MIXED_TYPE; } BUGS; """ ) ufo.features.text = features compiler = FeatureCompiler(ufo) tmpfile = None try: with caplog.at_level(logging.ERROR, logger=logger.name): > with pytest.raises(FeatureLibError): E Failed: DID NOT RAISE <class 'fontTools.feaLib.error.FeatureLibError'> tests/featureCompiler_test.py:301: Failed _______________ IntegrationTest.test_compileVariableTTFs[defcon] _______________ self = <tests.integration_test.IntegrationTest object at 0x7fff987de3f0> designspace_v5 = <fontTools.designspaceLib.DesignSpaceDocument object at 0x7fff98cedc50> def test_compileVariableTTFs(self, designspace_v5): fonts = compileVariableTTFs(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-TTF.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-TTF.ttx", ) # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=50] > expectTTX( fonts["MutatorSansVariable_Weight"], "DSv5/MutatorSansVariable_Weight-TTF.ttx", ) tests/integration_test.py:400: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = <fontTools.ttLib.ttFont.TTFont object at 0x7fff98238210> expectedTTX = 'DSv5/MutatorSansVariable_Weight-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="<generated>" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight-TTF.ttx +++ <generated> @@ -409,9 +409,6 @@ </FeatureTableSubstitution> </FeatureVariationRecord> <FeatureVariationRecord index="1"> - <ConditionSet> - <!-- ConditionCount=0 --> - </ConditionSet> <FeatureTableSubstitution> <Version value="0x00010000"/> <!-- SubstitutionCount=1 --> ______________ IntegrationTest.test_compileVariableCFF2s[defcon] _______________ self = <tests.integration_test.IntegrationTest object at 0x7fff987de530> designspace_v5 = <fontTools.designspaceLib.DesignSpaceDocument object at 0x7fff980d5e10> def test_compileVariableCFF2s(self, designspace_v5): fonts = compileVariableCFF2s(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-CFF2.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx", ) # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=50] > expectTTX( fonts["MutatorSansVariable_Weight"], "DSv5/MutatorSansVariable_Weight-CFF2.ttx", ) tests/integration_test.py:437: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = <fontTools.ttLib.ttFont.TTFont object at 0x7fff97fe9c50> expectedTTX = 'DSv5/MutatorSansVariable_Weight-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="<generated>" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight-CFF2.ttx +++ <generated> @@ -385,9 +385,6 @@ </FeatureTableSubstitution> </FeatureVariationRecord> <FeatureVariationRecord index="1"> - <ConditionSet> - <!-- ConditionCount=0 --> - </ConditionSet> <FeatureTableSubstitution> <Version value="0x00010000"/> <!-- SubstitutionCount=1 --> ________ FeatureCompilerTest.test_buildTables_FeatureLibError[ufoLib2] _________ self = <tests.featureCompiler_test.FeatureCompilerTest object at 0x7fff98e3ccd0> FontClass = <function FontClass.<locals>.ctor at 0x7fff9874fd70> caplog = <_pytest.logging.LogCaptureFixture object at 0x7fff98dffe70> def test_buildTables_FeatureLibError(self, FontClass, caplog): caplog.set_level(logging.CRITICAL) ufo = FontClass() ufo.newGlyph("f") ufo.newGlyph("f.alt01") ufo.newGlyph("f_f") features = dedent( """\ feature BUGS { # invalid lookup MIXED_TYPE { sub f by f.alt01; sub f f by f_f; } MIXED_TYPE; } BUGS; """ ) ufo.features.text = features compiler = FeatureCompiler(ufo) tmpfile = None try: with caplog.at_level(logging.ERROR, logger=logger.name): > with pytest.raises(FeatureLibError): E Failed: DID NOT RAISE <class 'fontTools.feaLib.error.FeatureLibError'> tests/featureCompiler_test.py:301: Failed ______________ IntegrationTest.test_compileVariableTTFs[ufoLib2] _______________ self = <tests.integration_test.IntegrationTest object at 0x7fff987de490> designspace_v5 = <fontTools.designspaceLib.DesignSpaceDocument object at 0x7fff98032890> def test_compileVariableTTFs(self, designspace_v5): fonts = compileVariableTTFs(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-TTF.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-TTF.ttx", ) # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=50] > expectTTX( fonts["MutatorSansVariable_Weight"], "DSv5/MutatorSansVariable_Weight-TTF.ttx", ) tests/integration_test.py:400: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = <fontTools.ttLib.ttFont.TTFont object at 0x7fff98cedc50> expectedTTX = 'DSv5/MutatorSansVariable_Weight-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="<generated>" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight-TTF.ttx +++ <generated> @@ -409,9 +409,6 @@ </FeatureTableSubstitution> </FeatureVariationRecord> <FeatureVariationRecord index="1"> - <ConditionSet> - <!-- ConditionCount=0 --> - </ConditionSet> <FeatureTableSubstitution> <Version value="0x00010000"/> <!-- SubstitutionCount=1 --> ______________ IntegrationTest.test_compileVariableCFF2s[ufoLib2] ______________ self = <tests.integration_test.IntegrationTest object at 0x7fff987de5d0> designspace_v5 = <fontTools.designspaceLib.DesignSpaceDocument object at 0x7fff980a7930> def test_compileVariableCFF2s(self, designspace_v5): fonts = compileVariableCFF2s(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-CFF2.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx", ) # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=50] > expectTTX( fonts["MutatorSansVariable_Weight"], "DSv5/MutatorSansVariable_Weight-CFF2.ttx", ) tests/integration_test.py:437: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = <fontTools.ttLib.ttFont.TTFont object at 0x7fff97fea5f0> expectedTTX = 'DSv5/MutatorSansVariable_Weight-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="<generated>" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight-CFF2.ttx +++ <generated> @@ -385,9 +385,6 @@ </FeatureTableSubstitution> </FeatureVariationRecord> <FeatureVariationRecord index="1"> - <ConditionSet> - <!-- ConditionCount=0 --> - </ConditionSet> <FeatureTableSubstitution> <Version value="0x00010000"/> <!-- SubstitutionCount=1 --> =============================== warnings summary =============================== tests/filters/dottedCircle_test.py::test_empty_font_deprecated[defcon] /builddir/build/BUILD/python-ufo2ft-3.4.2-build/BUILDROOT/usr/lib/python3.14/site-packages/ufo2ft/filters/dottedCircleFilter.py:8: UserWarning: The dottedCircleFilter module is deprecated, please import dottedCircle instead. warnings.warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html --------------------------- snapshot report summary ---------------------------- 40 snapshots passed. =========================== short test summary info ============================ FAILED tests/featureCompiler_test.py::FeatureCompilerTest::test_buildTables_FeatureLibError[defcon] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTFs[defcon] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2s[defcon] FAILED tests/featureCompiler_test.py::FeatureCompilerTest::test_buildTables_FeatureLibError[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTFs[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2s[ufoLib2] ========== 6 failed, 1130 passed, 12 deselected, 1 warning in 43.78s ===========
FEDORA-2025-c37a421fd1 (python-ufo2ft-3.5.0-4.fc43) has been submitted as an update to Fedora 43. https://bodhi.fedoraproject.org/updates/FEDORA-2025-c37a421fd1
FEDORA-2025-c37a421fd1 (python-ufo2ft-3.5.0-4.fc43) has been pushed to the Fedora 43 stable repository. If problem still persists, please make note of it in this bug report.