Keep stable names for the variants that are currently built in the
Fedora infrastructure.
We can remove those once we have landed the rename in this repo and the
rename in the pungi-fedora config.
- Rename common manifests to remove fedora prefix & ostree mention
- Directly include the common manifest in each variant manifest to
reduces the number of level of indirection for the manifests
Repos are overwritten by Pungi during composes in the Fedora infra and
Pungi currently only overwrites the leaf manifest.
See: https://pagure.io/releng/issue/11969
Reverts: 49db8be manifests: Move repos config to common manifest
There has been no package called just 'qgnomeplatform' for some
time. qgnomeplatform-qt5 used to provide 'qgnomeplatform', but
.fc39 builds onward do not, so now we have a .fc39 build of it,
this breaks.
I'm not sure all these places where we list qgnomeplatform
exactly make sense - we seem to be excluding it in some places
then explicitly pulling it in in others - but this is the
minimal change to fix the immediate problem.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Move the fedora-release-* package requirement to each variant treefile
to enable per variant specifc release package. Silverblue keeps its
existing release package and Kinoite gets its own for Fedora 35:
https://fedoraproject.org/wiki/Changes/Fedora_Kinoite
For now, all other unofficial variants will use the Fedora generic
release package (or the corresponding Spin release package) with the
ostree counting and desktop sub packages to enable those features by
default.
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
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