Bug 2433763

Summary: texlive-substitutefont not installable as it Requires texlive-base which Obsoletes texlive-substitutefont
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: texlive-baseAssignee: Tom "spot" Callaway <spotrh>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: ksurma, spotrh, than
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-02-09 16:10:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2412434    

Description Miro Hrončok 2026-01-28 11:24:47 UTC
- texlive-substitutefont-11:svn32066.0.1.4-81.fc44.noarch Requires texlive-base
- texlive-base-12:20250308-99.fc44.x86_64 Obsoletes texlive-substitutefont <= 11:svn32066.0.1.4

Hence, the package is not installable in Koji.

DEBUG util.py:459:  Repositories loaded.
DEBUG util.py:459:  Failed to resolve the transaction:
DEBUG util.py:459:  Problem: package texlive-base-12:20250308-99.fc44.aarch64 from build obsoletes texlive-substitutefont <= 11:svn32066.0.1.4 provided by texlive-substitutefont-11:svn32066.0.1.4-81.fc44.noarch from build
DEBUG util.py:459:    - package texlive-anyfontsize-11:svn17050.0-81.fc44.noarch from build requires texlive-base, but none of the providers can be installed
DEBUG util.py:459:    - conflicting requests


This, in turn, makes python-sphinx FTBFS: https://koschei.fedoraproject.org/package/python-sphinx

Reproducible: Always

Steps to Reproduce:
$ mock -r fedora-rawhide-x86_64 --config-opts mirrored=False install 'tex(substitutefont.sty)'
Actual Results:
Failed to resolve the transaction:
Problem: package texlive-substitutefont-11:svn32066.0.1.4-81.fc44.noarch requires texlive-base, but none of the providers can be installed
  - package texlive-base-12:20250308-99.fc44.x86_64 obsoletes texlive-substitutefont <= 11:svn32066.0.1.4 provided by texlive-substitutefont-11:svn32066.0.1.4-81.fc44.noarch
  - conflicting requests

Expected Results:
package texlive-substitutefont installed

Comment 1 Tom "spot" Callaway 2026-01-29 12:36:12 UTC
Yup. So, here's the deal:

The "new" texlive packages all have an Epoch of 12. They're not all in Rawhide yet, but we're getting closer every day. One of the "big" collection packages that was missing was texlive-collection-latexextra, which has the newest texlive-anyfontsize inside it. That's getting uploaded to git as I type this and should be in rawhide in an hour or less, and should get us closer to texlive-base being installable again (as a whole).

But that's not quite the python-sphinx problem. The python-sphinx problem is that it has a BuildRequires: tex(substitutefont.sty), but that component is no longer upstream. Sure enough, sphinx doesn't actually depend on the obsoleted substitutefont tex component (anymore) and has created a wrapper in sphinx/texinputs/sphinxpackagesubstitutefont.sty. When I comment out that incorrect BuildRequires, python-sphinx rebuilds in a rawhide mockbuild (even with the mix of epoch 11 and epoch 12 tex packages).

Comment 2 Miro Hrončok 2026-01-29 12:49:55 UTC
Thanks for checking. We'll get the BR out.

Comment 3 Miro Hrončok 2026-01-29 12:51:09 UTC
FTR here is how/why that BR was added: https://src.fedoraproject.org/rpms/python-sphinx/c/0009cf4a25c6cb7fb415c74cb1c53b9162f8838a?branch=rawhide

Comment 4 Tom "spot" Callaway 2026-01-29 12:57:10 UTC
And that commit was probably correct 3 months ago when Fedora's texlive was two years out of date. It's plausible that the substitutefont removal hadn't been worked around in that version of sphinx, not sure, and I'm not going to deep dive to figure it out since the fix is straightforward.

Comment 6 Tom "spot" Callaway 2026-02-09 16:10:56 UTC
Closing this out.

Comment 7 Miro Hrončok 2026-02-09 17:28:22 UTC
Indeed, this now gets:

  No match for argument: tex(substitutefont.sty)

Which is expected. Thanks.