./comps-sync.py ../fedora-comps/comps-f33.xml.in --save
Syncing packages common to all desktops:
- 2 packages not in workstation-product-environment:
paratype-pt-sans-fonts
zram
- 4 packages not in manifest:
fedora-repos-modular (default, groups: core)
opensc (default, groups: workstation-product)
pt-sans-fonts (default, groups: fonts)
zram-generator-defaults (default, groups: workstation-product)
Wrote fedora-common-ostree-pkgs.yaml
Syncing packages for xfce-desktop:
- 10 packages not in xfce-desktop comps group:
NetworkManager-adsl
NetworkManager-ppp
NetworkManager-wwan
albatross-gtk2-theme
albatross-gtk3-theme
albatross-xfwm4-theme
bluebird-gtk2-theme
bluebird-gtk3-theme
bluebird-xfwm4-theme
fedora-icon-theme
- All comps packages are already listed in manifest.
Wrote xfce-desktop-pkgs.yaml
Syncing packages for lxqt-desktop:
- 2 packages not in lxqt-desktop comps group:
falkon-kwallet
fedora-icon-theme
- All comps packages are already listed in manifest.
Wrote lxqt-desktop-pkgs.yaml
Syncing packages for deepin-desktop:
- 1 packages not in deepin-desktop comps group:
fedora-icon-theme
- 1 packages not in deepin-desktop manifest:
deepin-icon-theme
Wrote deepin-desktop-pkgs.yaml
Syncing packages for pantheon-desktop:
- 1 packages not in pantheon-desktop comps group:
wingpanel-indicator-ayatana
- All comps packages are already listed in manifest.
Wrote pantheon-desktop-pkgs.yaml
./comps-sync.py ../fedora-comps/comps-f33.xml.in --save
Syncing packages common to all desktops:
- All manifest packages are already listed in comps.
- 1 packages not in manifest:
opensc (default, groups: workstation-product)
Wrote fedora-common-ostree-pkgs.yaml
Syncing packages for pantheon-desktop:
- 1 packages not in pantheon-desktop comps group:
cerbere
- All comps packages are already listed in manifest.
Wrote pantheon-desktop-pkgs.yaml
./comps-sync.py ../fedora-comps/comps-f33.xml.in --save
Syncing packages common to all desktops:
- 2 packages not in workstation-product-environment:
ibus-gtk2
scl-utils
- All comps packages are already listed in manifest.
Wrote fedora-common-ostree-pkgs.yaml
Now that rpm-ostree supports exclude-packages in treefile, we can
finally exclude PackageKit (it's Recommended by gnome-software, but
nothing hard-requires it).
./comps-sync.py ../fedora-comps/comps-f33.xml.in --save
Syncing packages common to all desktops:
- 7 packages not in workstation-product-environment:
fedora-user-agent-chrome
gnu-free-mono-fonts
gnu-free-sans-fonts
gnu-free-serif-fonts
google-noto-sans-sinhala-fonts
google-noto-serif-cjk-ttc-fonts
lohit-gurmukhi-fonts
- 6 packages not in manifest:
earlyoom (default, groups: workstation-product)
fedora-chromium-config (default, groups: workstation-product)
google-noto-sans-gurmukhi-fonts (default, groups: fonts)
google-noto-sans-sinhala-vf-fonts (default, groups: fonts)
nano (default, groups: workstation-product)
xorg-x11-drv-armada (mandatory, groups: base-x)
Wrote fedora-common-ostree-pkgs.yaml
Syncing packages for gnome-desktop:
- All manifest packages are already listed in comps.
- All comps packages are already listed in manifest.
Syncing packages for kde-desktop:
- All manifest packages are already listed in comps.
- All comps packages are already listed in manifest.
Syncing packages for xfce-desktop:
- 2 packages not in xfce-desktop comps group:
greybird-gtk2-theme
greybird-gtk3-theme
- 2 packages not in xfce-desktop manifest:
greybird-dark-theme
greybird-light-theme
Wrote xfce-desktop-pkgs.yaml
Syncing packages for lxqt-desktop:
- All manifest packages are already listed in comps.
- All comps packages are already listed in manifest.
Syncing packages for deepin-desktop:
- All manifest packages are already listed in comps.
- All comps packages are already listed in manifest.
Syncing packages for pantheon-desktop:
- All manifest packages are already listed in comps.
- All comps packages are already listed in manifest.
./comps-sync.py ../fedora-comps/comps-f31.xml.in --save
Syncing packages common to all desktops:
- All manifest packages are already listed in comps.
- 1 packages not in manifest:
zram (mandatory, groups: workstation-product)
Wrote fedora-common-ostree-pkgs.yaml
Syncing packages for gnome-desktop:
- All manifest packages are already listed in comps.
- 1 packages not in gnome-desktop manifest:
orca
Wrote gnome-desktop-pkgs.yaml
Syncing packages for kde-desktop:
- All manifest packages are already listed in comps.
- All comps packages are already listed in manifest.
Syncing packages for xfce-desktop:
- 1 packages not in xfce-desktop comps group:
xfce4-session-engines
- All comps packages are already listed in manifest.
Wrote xfce-desktop-pkgs.yaml
Syncing packages for lxqt-desktop:
- All manifest packages are already listed in comps.
- All comps packages are already listed in manifest.
Syncing packages for deepin-desktop:
- All manifest packages are already listed in comps.
- All comps packages are already listed in manifest.
Syncing packages for pantheon-desktop:
- All manifest packages are already listed in comps.
- All comps packages are already listed in manifest.
The default Silverblue installation should be accessible by default,
lets include the Orca there. It brings in the following dependencies (on
F30):
brlapi-0.6.7-32.fc30.x86_64
brltty-5.6-32.fc30.x86_64
dotconf-1.3-20.fc30.x86_64
espeak-ng-1.49.2-6.fc30.x86_64
libXres-1.2.0-6.fc30.x86_64
libao-1.2.0-14.fc30.x86_64
liblouis-3.10.0-1.fc30.x86_64
libwnck3-3.32.0-1.fc30.x86_64
orca-3.32.0-1.fc30.noarch
pcaudiolib-1.1-3.fc30.x86_64
python3-brlapi-0.6.7-32.fc30.x86_64
python3-louis-3.10.0-1.fc30.noarch
python3-pyatspi-2.32.1-1.fc30.noarch
python3-speechd-0.9.1-1.fc30.x86_64
speech-dispatcher-0.9.1-1.fc30.x86_64
speech-dispatcher-espeak-ng-0.9.1-1.fc30.x86_64
It's about 10.6 MB download size and ~57 MB installed size (size of of
two deployments).
Keep at least one browser, file manager and terminal application in the
base image:
* those applications are almost always needed,
* we can not pre-install Flatpak replacement yet,
* we must ensure they work well.
We were trying to be accurate by filtering by group but
PackageKit is spread across all of them and has various subpackages,
so just add a global regexp-based blacklist.
This doesn't actually drop PK yet because `gnome-software` hard
requires it, but is prep for fixing that.
This conversion can be validated using this script:
#!/bin/bash
mkdir -p repo && cd repo && ostree init --repo . --mode=archive && cd ..
variants=('silverblue' 'kinoite' 'xfce' 'lxqt')
for v in ${variants[@]}; do
sudo rpm-ostree compose tree --repo=repo --print-only fedora-$v.yaml > $v.yaml.out
done
git checkout --quiet HEAD~
for v in ${variants[@]}; do
sudo rpm-ostree compose tree --repo=repo --print-only fedora-$v.yaml > $v.json.out
done
for v in ${variants[@]}; do
if [[ ! -z $(diff $v.json.out $v.yaml.out) ]]; then
echo ""
echo "$v: JSON != YAML"
diff $v.json.out $v.yaml.out
echo ""
has_diff="true"
fi
done
git checkout --quiet master
rm -rf ./repo
for v in ${variants[@]}; do
rm ./$v.json.out ./$v.yaml.out
done
if [[ $has_diff == "true" ]]; then
echo "Found some diff!"
else
echo "OK!"
fi
Output from `./comps-sync.py ../fedora-comps/comps-f31.xml.in --save
Syncing packages common to all ostree based desktop versions:
All manifest packages are already listed in comps.
1 packages not in manifest:
psmisc (default, groups: workstation-product)
Wrote fedora-common-ostree-pkgs.json
Syncing packages for gnome-desktop specific version:
All manifest packages are already listed in comps.
All comps packages are already listed in manifest.
Syncing packages for kde-desktop specific version:
All manifest packages are already listed in comps.
All comps packages are already listed in manifest.
Syncing packages for xfce-desktop specific version:
All manifest packages are already listed in comps.
All comps packages are already listed in manifest.
Output from `./comps-sync.py ../fedora-comps/comps-f31.xml.in --save`
```
Syncing packages common to all ostree based desktop versions:
All manifest packages are already listed in comps.
2 packages not in manifest:
NetworkManager-config-connectivity-fedora (default, groups: workstation-product)
gamemode (default, groups: workstation-product)
Wrote fedora-common-ostree-pkgs.json
Syncing packages for gnome-desktop specific version:
All manifest packages are already listed in comps.
1 packages not in manifest:
adobe-source-code-pro-fonts
Wrote gnome-desktop-pkgs.json
Syncing packages for kde-desktop specific version:
All manifest packages are already listed in comps.
All comps packages are already listed in manifest.
Syncing packages for xfce-desktop specific version:
All manifest packages are already listed in comps.
All comps packages are already listed in manifest.
```
As discussed in the forum[1], package layering can work for building kernel
modules, such as the nvidia driver. However, there are some problems
with the -devel packages needed, as they need to match the exact version
in the base image, and once the version bumps in the yum repo the old
version isn't even available.
So, this adds the minimal set of -devel packages needed to build a a kmod.
This isn't enough to build a kernel module, but the rest needed can much
more easily be layered.
Given the current rawhide dependencies this adds the following packages:
* elfutils-libelf-devel
* glibc-devel
* glibc-headers
* kernel-devel
* kernel-headers
* libxcrypt-devel
* zlib-devel
This adds about 100 megs to a 4 gigabyte image, which I think is a fair
compromise in order to be able to build kernel modules and support
the nvidia drivers.
[1] https://discussion.fedoraproject.org/t/supporting-the-nvidia-drivers-on-silverblue/849/6
Output from `./comps-sync.py ../fedora-comps/comps-f30.xml.in --save`
```
Syncing packages common to all ostree based desktop versions:
All manifest packages are already listed in comps.
1 packages not in manifest:
policycoreutils-python-utils (default, groups: workstation-product)
Wrote fedora-common-ostree-pkgs.json
Syncing packages for gnome-desktop specific version:
All manifest packages are already listed in comps.
All comps packages are already listed in manifest.
Syncing packages for kde-desktop specific version:
All manifest packages are already listed in comps.
All comps packages are already listed in manifest.
Syncing packages for xfce-desktop specific version:
All manifest packages are already listed in comps.
All comps packages are already listed in manifest.
```