./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.
```
Output from `./comps-sync.py ../fedora-comps/comps-f30.xml.in --save`
```
Syncing packages common to all ostree based desktop versions:
4 packages not in workstation-product-environment:
gstreamer1-plugin-mpg123
ibus-rawcode
initscripts
polkit
1 packages not in manifest:
mesa-vulkan-drivers (mandatory, groups: base-x)
Wrote fedora-common-ostree-pkgs.json
Syncing packages for gnome-desktop specific version:
All manifest packages are already listed in comps.
3 packages not in manifest:
chrome-gnome-shell
gnome-remote-desktop
gnome-terminal-nautilus
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.
2 packages not in manifest:
gnome-keyring-pam
gvfs-mtp
Wrote xfce-desktop-pkgs.json
```
in cb7b538 Dusty moved repos from common to silverblue what was
essentially partial revert 61d907b and therefore breaking xfce/kde
builds. this fixes it by adding repos back
Until we can preinstall flatpaks, we need the apps in the
base image that are needed for first login. Thats yelp, which
is used for the "welcome tour" part of the inial setup experience.
This sync also pulls in the new backgrounds package.
Surprisingly in comps, it's just part of the anaconda group,
and so it ends up on workstation systems indirectly because
anaconda is part of the livecd.
For Fedora Atomic Host, we list it explicitly.
It turns out that when we dropped `docker/atomic`, nothing else
was pulling in `lvm2`.