Bug 2246947 - python-Traits fails to build with Sphinx 7.2.6 on Fedora Rawhide (40+)
Summary: python-Traits fails to build with Sphinx 7.2.6 on Fedora Rawhide (40+)
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-Traits
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Orion Poplawski
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2232469
TreeView+ depends on / blocked
 
Reported: 2023-10-30 08:51 UTC by Karolina Surma
Modified: 2024-01-30 04:51 UTC (History)
2 users (show)

Fixed In Version: python-Traits-6.4.3-1.fc40
Clone Of:
Environment:
Last Closed: 2024-01-30 04:51:58 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2023-10-30 08:51:29 UTC
python-Traits fails to build with Sphinx 7.2.6 on Fedora Rawhide (40+).

The issue detected:
```
ERROR: test_abbreviated_annotations (traits.util.tests.test_trait_documenter.TestTraitDocumenter.test_abbreviated_annotations)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/traits-6.4.2/build/lib.linux-x86_64-cpython-312/traits/util/tests/test_trait_documenter.py", line 147, in test_abbreviated_annotations
    with self.create_directive() as directive:
  File "/usr/lib64/python3.12/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/traits-6.4.2/build/lib.linux-x86_64-cpython-312/traits/util/tests/test_trait_documenter.py", line 226, in create_directive
    app = SphinxTestApp(srcdir=path(tmpdir))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/sphinx/testing/util.py", line 105, in __init__
    outdir.mkdir(parents=True, exist_ok=True)
    ^^^^^^^^^^^^
AttributeError: 'path' object has no attribute 'mkdir'. Did you mean: 'isdir'?

======================================================================
ERROR: test_can_document_member (traits.util.tests.test_trait_documenter.TestTraitDocumenter.test_can_document_member)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/traits-6.4.2/build/lib.linux-x86_64-cpython-312/traits/util/tests/test_trait_documenter.py", line 177, in test_can_document_member
    with self.create_directive() as directive:
  File "/usr/lib64/python3.12/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/traits-6.4.2/build/lib.linux-x86_64-cpython-312/traits/util/tests/test_trait_documenter.py", line 226, in create_directive
    app = SphinxTestApp(srcdir=path(tmpdir))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/sphinx/testing/util.py", line 105, in __init__
    outdir.mkdir(parents=True, exist_ok=True)
    ^^^^^^^^^^^^
AttributeError: 'path' object has no attribute 'mkdir'. Did you mean: 'isdir'?

----------------------------------------------------------------------
Ran 1648 tests in 38.014s

FAILED (errors=2, skipped=5)
```

From Sphinx' changelog: #11526: Deprecate sphinx.testing.path. Use os.path or pathlib instead.
https://www.sphinx-doc.org/en/master/changes.html

For the logs from testing build attempts, see:
https://copr.fedorainfracloud.org/coprs/ksurma/sphinx-7.2.6/package/python-Traits

You can test you package in mock running:

$ mock -r fedora-rawhide-x86_64 --addrepo=https://download.copr.fedorainfracloud.org/results/ksurma/sphinx-7.2.6/fedora-rawhide-x86_64/ --no-clean your.src.rpm
$ mock -r fedora-rawhide-x86_64 --addrepo=https://download.copr.fedorainfracloud.org/results/ksurma/sphinx-7.2.6/fedora-rawhide-x86_64/ shell

We'd like to include Sphinx 7.2.x in Fedora 40.

Let us know here if you have any questions. Thank You!

Comment 1 Karolina Surma 2023-11-02 10:56:32 UTC
It seems that the upstream version 6.4.3 contains a fix for this issue.


Note You need to log in before you can comment on or make changes to this bug.