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
- Name: Adam Jackson
- Email: ajax@redhat.com
Current status
- Targeted release: Fedora 33
- Last updated: 2020-08-07
- FESCo issue: #2459
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
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.