This is the culmination of a lot of work to make package layering
more reliable. This archive repo provides all packages that have
ever been in the updates repository, which means there should always
be a solution that will depsolve given the existing set of base layer
packages.
Pairing this along with https://github.com/coreos/rpm-ostree/pull/2125
means that we should finally see less of the split base layer vs update
repo problem and see less `Forbidden base package replacements` errors.
For context see https://github.com/coreos/fedora-coreos-tracker/issues/400
As with mcelog and microcode_ctl, add it to the blocklist and
list it manually in packages-x86_64 in fedora-common-ostree.yaml
instead. This should fix non-x86_64 arches which are failing
because they can't find it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
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).
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