Re: X.org Utility Deaggregation - Fedora 33 Self-Contained Change proposal
On Sat, Jul 11, 2020 at 6:22 AM Zbigniew Jędrzejewski-Szmek wrote: > Repoquery: > $ for i in xorg-x11-{apps,font-utils,server-utils,utils,xkb-utils}; do echo > == $i; dnf repoquery --whatrequires $i; echo; done This is a bit of an overcount since you're not using --exactdeps. datura:~% for i in xorg-x11-{apps,font-utils,server-utils,utils,xkb-utils}; do echo == $i; dnf -q repoquery --exactdeps --whatrequires $i --qf %{sourcerpm} | sort -u; echo; done == xorg-x11-apps arcem-1.50.2-6.fc31.src.rpm ddd-3.3.12-33.fc31.src.rpm freenx-server-0.7.3-47.fc31.src.rpm squeak-vm-4.10.2.2614-22.fc31.src.rpm xmonad-0.15-3.fc31.src.rpm == xorg-x11-font-utils nethack-3.6.6-1.fc31.src.rpm nx-libs-3.5.99.24-1.fc31.src.rpm urw-base35-fonts-20170801-13.fc31.src.rpm == xorg-x11-server-utils arandr-0.1.10-1.fc31.src.rpm classification-banner-1.7.0-4.fc31.src.rpm gdm-3.34.1-1.fc31.src.rpm i-nex-7.6.1-1.fc31.src.rpm lutris-0.5.7-1.fc31.src.rpm lxde-common-0.99.2-8.fc31.src.rpm lxrandr-0.3.2-2.fc31.src.rpm ocaml-camlimages-4.2.5-11.fc31.src.rpm plasma-workspace-5.18.5-2.fc31.src.rpm urw-base35-fonts-20170801-13.fc31.src.rpm xfce4-session-4.14.2-1.fc31.src.rpm xkeycaps-2.46-26.fc31.src.rpm == xorg-x11-utils backintime-1.2.0-6.fc31.src.rpm boswars-2.7-19.svn160110.fc31.src.rpm compiz-manager-0.7.0-9.fc31.src.rpm compton-0.1-0.5.beta3.fc31.src.rpm cros-guest-tools-1.0-0.35.20200611git5ab8724.fc31.src.rpm ddd-3.3.12-33.fc31.src.rpm gnome-shell-extension-unite-8-5.fc31.src.rpm gyazo-1.2-9.fc31.src.rpm inxi-3.1.03-1.fc31.src.rpm java-atk-wrapper-0.33.2.1-0.pre01.fc31.src.rpm kodi-18.6-1.fc31.src.rpm lxde-common-0.99.2-8.fc31.src.rpm plasma-workspace-5.18.5-2.fc31.src.rpm surf-2.0-8.fc31.src.rpm wallpapoz-0.6.2-11.fc31.src.rpm == xorg-x11-xkb-utils bicon-0.5-9.fc31.src.rpm calamares-3.2.11-7.fc31.src.rpm ibus-1.5.21-9.fc31.src.rpm tigervnc-1.10.1-5.fc31.src.rpm x2goserver-4.1.0.3-5.fc31.src.rpm 36 packages is a little more than I was hoping for, but still not bad. I'll start going through this list to figure out what needs to change. - ajax ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Re: X.org Utility Deaggregation - Fedora 33 Self-Contained Change proposal
On Fri, Jul 10, 2020 at 03:55:20PM -0400, Ben Cotton wrote: > https://fedoraproject.org/wiki/Changes/XorgUtilityDeaggregation > > == Summary == > > The collection packages > `xorg-x11-{apps,font-utils,server-utils,utils,xkb-utils}` will be > retired, and the individual utilities within them will be packaged > separately. > 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. Such aggregate packaging is against the packaging guidelines. So yeah, splitting them up seems like a good thing. > == Feedback == > 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. Retaining the metapackages is easier, but it requires some (very small) ongoing maintenance. So I'd vote for for retiring them, if you can update all the refs, repoquery below. > == Upgrade/compatibility impact == > If the collection packages are retired, the new packaging will need to > Obsolete the old collection packages. Ideally, have Obsoletes from all the new replacement packages so that dnf knows to install them all on upgrades. Repoquery: $ for i in xorg-x11-{apps,font-utils,server-utils,utils,xkb-utils}; do echo == $i; dnf repoquery --whatrequires $i; echo; done == xorg-x11-apps InventorXt-0:2.1.5-72.fc32.x86_64 ddd-0:3.3.12-34.fc32.x86_64 plasma-workspace-0:5.19.3-1.fc33.x86_64 slim-0:1.3.6-16.fc33.x86_64 squeak-vm-0:4.10.2.2614-23.fc32.x86_64 xmonad-core-0:0.15-5.fc32.x86_64 == xorg-x11-font-utils cmatrix-x11-fonts-0:1.2a-6.fc32.x86_64 iso8859-2-100dpi-fonts-0:1.0-40.fc32.noarch iso8859-2-75dpi-fonts-0:1.0-40.fc32.noarch iso8859-2-misc-fonts-0:1.0-40.fc32.noarch libdockapp-fonts-0:0.7.3-1.fc33.x86_64 nethack-bitmap-fonts-core-0:3.6.6-1.fc33.noarch nxagent-0:3.5.99.24-1.fc33.x86_64 urw-base35-bookman-fonts-0:20170801-14.fc32.noarch urw-base35-c059-fonts-0:20170801-14.fc32.noarch urw-base35-d05l-fonts-0:20170801-14.fc32.noarch urw-base35-gothic-fonts-0:20170801-14.fc32.noarch urw-base35-nimbus-mono-ps-fonts-0:20170801-14.fc32.noarch urw-base35-nimbus-roman-fonts-0:20170801-14.fc32.noarch urw-base35-nimbus-sans-fonts-0:20170801-14.fc32.noarch urw-base35-p052-fonts-0:20170801-14.fc32.noarch urw-base35-standard-symbols-ps-fonts-0:20170801-14.fc32.noarch urw-base35-z003-fonts-0:20170801-14.fc32.noarch xorg-x11-fonts-100dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-75dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-1-100dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-1-75dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-14-100dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-14-75dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-15-100dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-15-75dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-2-100dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-2-75dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-9-100dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-ISO8859-9-75dpi-0:7.5-24.fc32.noarch xorg-x11-fonts-Type1-0:7.5-24.fc32.noarch xorg-x11-fonts-cyrillic-0:7.5-24.fc32.noarch xorg-x11-fonts-ethiopic-0:7.5-24.fc32.noarch xorg-x11-fonts-misc-0:7.5-24.fc32.noarch == xorg-x11-server-utils arandr-0:0.1.10-4.fc33.noarch classification-banner-0:1.7.0-8.fc33.noarch gdm-1:3.37.1-2.fc33.x86_64 i-nex-0:7.6.1-2.fc32.x86_64 kdelibs3-0:3.5.10-105.fc33.x86_64 lutris-0:0.5.7-1.fc33.x86_64 lxde-common-0:0.99.2-11.fc33.noarch lxrandr-0:0.3.2-3.fc32.x86_64 ocaml-camlimages-0:4.2.5-22.fc33.x86_64 plasma-workspace-0:5.19.3-1.fc33.x86_64 policycoreutils-sandbox-0:3.0-4.fc33.x86_64 urw-base35-bookman-fonts-0:20170801-14.fc32.noarch urw-base35-c059-fonts-0:20170801-14.fc32.noarch urw-base35-d05l-fonts-0:20170801-14.fc32.noarch urw-base35-gothic-fonts-0:20170801-14.fc32.noarch urw-base35-nimbus-mono-ps-fonts-0:20170801-14.fc32.noarch urw-base35-nimbus-roman-fonts-0:20170801-14.fc32.noarch urw-base35-nimbus-sans-fonts-0:20170801-14.fc32.noarch urw-base35-p052-fonts-0:20170801-14.fc32.noarch urw-base35-standard-symbols-ps-fonts-0:20170801-14.fc32.noarch urw-base35-z003-fonts-0:20170801-14.fc32.noarch xfce4-session-0:4.14.2-1.fc33.x86_64 xkeycaps-0:2.46-27.fc32.x86_64 xorg-x11-xinit-0:1.4.0-6.fc32.x86_64 xpra-0:4.0.2-1.fc33.x86_64 == xorg-x11-utils backintime-qt-0:1.2.1-2.fc32.noa
X.org Utility Deaggregation - Fedora 33 Self-Contained Change proposal
https://fedoraproject.org/wiki/Changes/XorgUtilityDeaggregation == Summary == The collection packages `xorg-x11-{apps,font-utils,server-utils,utils,xkb-utils}` will be retired, and the individual utilities within them will be packaged separately. == Owner == * Name: [[User:ajax|Adam Jackson]] * Email: a...@redhat.com == 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 == 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. 2. Utilities will be rebuilt only as they actually change. 3. 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: 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. -- Ben Cotton He / Him / His Senior Program Manager, Fedora & CentOS Stream Red Hat TZ=America/Indiana/Indianapolis ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org