./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.
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