From Fedora Project Wiki
(Change approved by FESCo)
m (Add me as co-owner, this bumps the last-updated too)
 
(3 intermediate revisions by 2 users not shown)
Line 6: Line 6:


== Owner ==
== Owner ==
* Name: [[User:ajax|Adam Jackson]]
* Name: [[User:ajax|Adam Jackson]], [[User:whot|Peter Hutterer]]
* Email: ajax@redhat.com
* Email: ajax@redhat.com, peter.hutterer@redhat.com


== Current status ==
== Current status ==
[[Category:ChangeAcceptedF33]]
[[Category:ChangeAcceptedF34]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 20: Line 20:
<!-- [[Category:SystemWideChange]] -->
<!-- [[Category:SystemWideChange]] -->


* Targeted release: [[Releases/33 | Fedora 33]]  
* Targeted release: [[Releases/34 | Fedora 34]]  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 30: Line 30:
-->
-->
* FESCo issue: [https://pagure.io/fesco/issue/2459 #2459]
* FESCo issue: [https://pagure.io/fesco/issue/2459 #2459]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1867220 #1867220]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/549 #549]


== Detailed Description ==
== Detailed Description ==

Latest revision as of 10:26, 18 April 2021

X.org Utility Deaggregation

Summary

The collection packages xorg-x11-{apps,font-utils,resutils,server-utils,utils,xkb-utils} will be retired, and the individual utilities within them will be packaged separately.

Owner

Current status

Detailed Description

The xorg-x11-* collection packages are somewhat arbitrary collections of the stock utilities and sample applications from the X.org distribution, mostly for the convenience of comps and other package-set-definition tooling. Typically not all of the utilities in a given package will be needed simultaneously, and the version numbers of the package do not logically reflect the upstream version of any particular component. Most of the packages that require a particular component Require that specific component name, as opposed to the collection package. In addition, some of the components (notably luit and edid-decode) are not in fact X.org packages anymore but have other upstreams.

Deaggregating the individual components will allow for smaller installed image sizes, less frequent rebuilds for unrelated changes, and greater flexibility in choice of upstream.

Feedback

None yet.

It is not strictly necessary to retire the collection packages, they could instead be converted to metapackages like xorg-x11-drivers that simply Require all the things they used to Provide. However, as the majority of consumers of these utilities depend on the specific utility and not the collection, retiring them should require touching quite few consumers. On the other hand, the upgrade migration path is more difficult if the collections are retired. I'm open to either approach.

Benefit to Fedora

1. Smaller installed footprint due to eliminating unused leaf utilities. 1. Utilities will be rebuilt only as they actually change. 1. Utilities that have a new home besides X.org will not be deceptively named.

Scope

  • Proposal owners:

Prepare new independent packaging of each utility, and update or retire the corresponding collection packages. This is a few dozen new packages, but they are all nearly trivial.

  • Other developers: N/A (not a System Wide Change)
  • Release engineering: #9632 (a check of an impact with Release Engineering is needed)

We may want to update comps to include the new packages, or we may simply allow them to be brought in by the packages that actually Require them.

  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

If the collection packages are retired, the new packaging will need to Obsolete the old collection packages.

How To Test

Spins and package sets that currently include the collection packages should be tested to verify that they still contain everything they need after this conversion.

User Experience

Marginally smaller installed image, fewer unrelated updates.

Dependencies

Full list of affected consumer packages TBD.

Contingency Plan

Leave the packaging as it is.

Documentation

None.

Release Notes

Release notes should reflect the fact that the collection packages have been retired or made meta, and the list of affected utilities should be noted.