We were building a different image cause we needed to do
a couple things that are not possible yet through
cbuild/ci-templates.
Now that we have FDO_DISTRIBUTION_POST_EXEC we can
do it on the same job and use the same image tag to
extend the image.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9277>
Docker/oci and thus gitlab-runner, default to a root
user inside the namespace, even if its an unprivileged
one.
This can cause issues and let permission bugs sneak in,
as we are functionally root when running the build.
Switch the build jobs to run with our new "containeruser"
so we avoid much of it.
Our user is still in the wheel/sudo group but that's fine
as long we don't elevate the privileges unintentionally.
Noticeably for the time being, we will need to chown the
CI_PROJECT_DIR checkout as the gitlab runner might try
to reuse pre-existing and cached volumes of the project
checkout.
Additionally we need to change the ccache path, so we
will avoid the existing cache owned by "root".
Close https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2433
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8763>
We install the rust toolchain, but then we have to manually
source it in CI since the headless containers skip over
the shell profiles that rustup typically uses.
Ideally we'd set these as variables in the main image, but
we don't have access to the buildah instance used in
ci-templates/cbuild.
However adding them to the toolbox image is good enough to
have the toolbox setup work ootb even if it doesn't call the
ci/scripts/source_image_env.sh script like the gitlab-ci jobs
will do.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
Previously the script will give you a command like:
```
toolbox create gst-toolbox ..
```
Which is a bit redundant since we are already creating
toolbox, we don't need to label it as such.
Now instead use gst-$GST_UPSTREAM_BRANCH for the name,
so we will suggest gst-main and gst-1.24 instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
This is mostly done to remove the hardcoded HOME
env var that ci-templates appends to the image. See [1]
[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2433#note_2243222
But it also allows us to add extra things useful for local
development to it, as long they don't interfere with the
build enviornment.
This also means we can switch the build image to be based
on top of the normal fedora one rather than toolbox,
so it will no longer advertise the toolbox compatible labels
since it was buggy anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>