Re: X.org Utility Deaggregation - Fedora 33 Self-Contained Change proposal

2020-07-14 Thread Adam Jackson
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

2020-07-11 Thread Zbigniew Jędrzejewski-Szmek
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

2020-07-10 Thread Ben Cotton
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