ci: *Really* fix using image in toolbox

It turns out that gnome-shell's toolbox image is still broken
after commit 86b77f65e7.

Toolbox' entry point ensures that the calling user exists inside
the container, and makes their home available inside the container.

There are two ways the `useradd` command in our image may interfere
with that:

 - by default, useradd uses the smallest available UID in the
   normal user range (usually 1000); this is highly likely to
   clash with the host user UID

 - if the host's /home is a symlink (for instance to /var/home
   on Silverblue), then toolbox recreates that layout inside the
   container; it cannot do that if /home is already a non-empty
   directory

Luckily we can address both issues without affecting the ability
to build and run tests as user: We can simply create the `meta-user`
with a UID and home directory that are unlikely to clash.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3134>
This commit is contained in:
Florian Müllner 2023-07-19 16:13:22 +02:00
parent c45d030132
commit cf3a5da1d5

View File

@ -83,7 +83,7 @@ variables:
- .skip-git-clone - .skip-git-clone
variables: variables:
FDO_DISTRIBUTION_VERSION: 38 FDO_DISTRIBUTION_VERSION: 38
BASE_TAG: '2023-06-27.0-libei' BASE_TAG: '2023-07-22.0'
MUTTER_USER: 'meta-user' MUTTER_USER: 'meta-user'
FDO_DISTRIBUTION_PACKAGES: FDO_DISTRIBUTION_PACKAGES:
asciidoc asciidoc
@ -109,7 +109,7 @@ variables:
set -e set -e
# Create $MUTTER_USER # Create $MUTTER_USER
useradd -ms /bin/bash $MUTTER_USER useradd -u 9999 -b /opt/mutter -ms /bin/bash $MUTTER_USER
# Enable sudo for $MUTTER_USER # Enable sudo for $MUTTER_USER
echo "%$MUTTER_USER ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/99_mutter-user echo "%$MUTTER_USER ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/99_mutter-user