From Fedora Project Wiki

< Changes

Revision as of 03:42, 5 November 2020 by Whot (talk | contribs) (change to F34, we're clearly too late for this in F33)

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.