Bug 1889883

Summary: Obsolete texlive-obsolete
Product: [Fedora] Fedora Reporter: Miroslav Suchý <msuchy>
Component: texliveAssignee: Tom "spot" Callaway <spotrh>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: caznaranl, j, spotrh, than
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-23 19:08:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Miroslav Suchý 2020-10-20 19:27:48 UTC
Description of problem:
In Fedora, we have package fedora-obsoletes-package which obsoletes all obsoleted packages.
It would be nice if fedora-obsoletes-package can obsolete texlive-obsolete package. This way it will be never actually installed, but still obsolete all obsoleted texlive packages.
However, there is one problem. The main package requires texlive-obsolete, which would broke the deps.

Can you remove this require and then submit PR to fedora-obsoletes-package that you want to obsolete texlive-obsolete?

Comment 1 Tom "spot" Callaway 2020-10-23 15:47:06 UTC
I'm not opposed to this, but all the macro logic in fedora-obsolete-packages assumes a versioned obsoletes, and this wouldn't really apply to texlive-obsoletes (it also would never time out like the existing obsoletes). Let me know precisely how you would like to do this (or better yet, just go ahead and commit it the way you think is best).

I've removed the Requires: texlive-obsolete from texlive-2020-29.fc34 (building now in rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=54052981)

Comment 2 Tom "spot" Callaway 2020-10-23 15:48:06 UTC
The correct name for the obsolete metapackage in texlive is "texlive-obsolete". Sorry for the typo in Comment #1.

Comment 3 Jason Tibbitts 2020-10-23 18:02:40 UTC
Honestly I don't know what actually happens if you have a package that obsoletes a package that obsoletes a bunch of packages.  And how that interacts with the "magic" state of fedora-obsolete-packages that causes it to not actually ever be installed.  The correct behavior isn't entirely obvious.

The macro stuff is just there for convenience, and if something else is needed then it could be used.  But the macro logic is also a reflection of an important point: You should always be able to install one of these old packages if you're willing to do the work to get them to build.  The only requirement is bumping the package release to avoid it being obsoleted.  We view pulling packages from a user's system to be a rather big deal, and want to avoid anything which simply prevents someone from installing a package simply based on its name.

If texlive-obsoletes has a different philosophy then I would suggest it just be maintained separately.  I don't believe anything prevents us from having more than one "obsoleter" package.  I don't think anything would prevent it from acquiring the same "never gets installed" magic that fedora-obsolete-packages has, which is nothing more than providing "libsolv-self-destruct-pkg()".

Alternately, if the "versioned obsolete" arrangement would be acceptable, then we would be happy to roll the texlive packages into f-o-p.

Comment 4 Tom "spot" Callaway 2020-10-23 18:46:21 UTC
There are versioned obsoletes for most (all?) of the texlive-obsolete bits. I think what I will do (in rawhide) is move them over into fedora-obsolete-packages for consistency and simplicity.

Since I plan to use this BZ ticket for the reference, here are all the fun obsoletes that are moving over (and can die off with Fedora 35):

texlive-aecc 9:svn28574.1.0.obsolete-9000
texlive-afm 9:2020-30
texlive-alterqcm 9:svn51446.obsolete-9000
texlive-babel-spanglish 9:svn37629.0.3.obsolete-9000
texlive-bezos 9:svn25507.0.obsolete-9000
texlive-bezos-doc 9:svn25507.0.obsolete-9000
texlive-bgreek 9:svn15878.0.3.obsolete-9000
texlive-context-fixme 9:svn29341.0.obsolete-9000
texlive-context-games 9:svn23167.0.obsolete-9000
texlive-context-games-doc 9:svn23167.0.obsolete-9000
texlive-context-lilypond 9:svn23167.0.obsolete-9000
texlive-context-lilypond-doc 9:svn23167.0.obsolete-9000
texlive-doc 9:2020-30
texlive-east-asian 9:2020-30
texlive-FAQ-en-doc 9:svn34303.3.28.obsolete-9000
texlive-fontloader-luaotfload 9:svn45090.obsolete-9000
texlive-genmisc 9:svn45851.obsolete-9000
texlive-geometry-de-doc 9:svn21882.1.1.obsolete-9000
texlive-getargs 9:svn41415.obsolete-9000
texlive-japanese 9:svn30855.1.3.obsolete-9000
texlive-japanese-doc 9:svn30855.1.3.obsolete-9000
texlive-knuthotherfonts 9:svn13293.0.obsolete-9000
texlive-ltxindex 9:svn15878.0.1c-9000
texlive-lua2dox 9:20190410.obsolete-9000
texlive-mbenotes 9:svn31813.2.obsolete-9000
texlive-mbenotes-doc 9:svn31813.2.obsolete-9000
texlive-mil3-doc 9:svn21677.0.obsolete-9000
texlive-mychemistry 9:svn28611.1.99b.obsolete-9000
texlive-mychemistry-doc 9:svn28611.1.99b.obsolete-9000
texlive-obsolete 9:2020-30
texlive-pdftools 9:20190410.obsolete-9000
texlive-pstools 9:20190410.obsolete-9000
texlive-pst-spirograph 9:svn35026.0.41.obsolete-9000
texlive-pst-spirograph-doc 9:svn35026.0.41.obsolete-9000
texlive-pst-vue3d 9:svn15878.1.24.obsolete-9000
texlive-pst-vue3d-doc 9:svn15878.1.24.obsolete-9000
texlive-pstricks-examples-en-doc 9:svn29349.0.obsolete-9000
texlive-pstricks-examples-doc 9:svn21511.0.obsolete-9000
texlive-psu-thesis 9:svn15878.1.1.obsolete-9000
texlive-psu-thesis-doc 9:svn15878.1.1.obsolete-9000
texlive-scheme-xml 9:svn40631.obsolete-9000
texlive-spanish-mx 9:svn15878.1.1a.obsolete-9000
texlive-spanish-mx-doc 9:svn15878.1.1a.obsolete-9000
texlive-tetex 7:20190410.obsolete-9000
texlive-tetex-bin 7:20190410.obsolete-9000
texlive-texconfig 7:20190410.obsolete-9000
texlive-texconfig-bin 7:20190410.obsolete-9000
texlive-texmf 9:2020-30
texlive-texmf-afm 9:2020-30
texlive-texmf-context 9:2020-30
texlive-texmf-doc 9:2020-30
texlive-texmf-dvips 9:2020-30
texlive-texmf-east-asian 9:2020-30
texlive-texmf-fonts 9:2020-30
texlive-texmf-latex 9:2020-30
texlive-texmf-xetex 9:2020-30
texlive-texmf-errata 9:2020-30
texlive-texmf-errata-afm 9:2020-30
texlive-texmf-errata-context 9:2020-30
texlive-texmf-errata-doc 9:2020-30
texlive-texmf-errata-dvips 9:2020-30
texlive-texmf-errata-east-asian 9:2020-30
texlive-texmf-errata-fonts 9:2020-30
texlive-texmf-errata-latex 9:2020-30
texlive-texmf-errata-xetex 9:2020-30
texlive-tkz-berge 9:svn22891.1.00c.obsolete-9000
texlive-tkz-berge-doc 9:svn22891.1.00c.obsolete-9000
texlive-tkz-graph 9:svn22832.1.00.obsolete-9000
texlive-tkz-graph-doc 9:svn22832.1.00.obsolete-9000
texlive-tkz-kiviat 9:svn22857.0.1.obsolete-9000
texlive-tkz-kiviat-doc 9:svn22857.0.1.obsolete-9000
texlive-tkz-linknodes 9:svn22833.1.0c.obsolete-9000
texlive-tkz-linknodes-doc 9:svn22833.1.0c.obsolete-9000
texlive-voss-mathmode-doc 9:svn36093.2.47.obsolete-9000
texlive-wasy2-ps 9:svn35830.0.obsolete-9000
texlive-wasy2-ps-doc 9:svn35830.0.obsolete-9000
tex-tetex 7:20190410.obsolete-9000
tex-texconfig 7:20190410.obsolete-9000