mirror of
https://gitlab.freedesktop.org/libevdev/libevdev.git
synced 2026-01-09 09:50:16 +01:00
This is copied from libinput's CI but as one large change rather than cherry-picking the process on how to get here. meson-build.sh is synched with libinput's version - it is a more generic version anyway. With this change we no longer require separate images for the qemu runs, our default image is qemu-capable and can be run in qemu via boot2container (b2c). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
69 lines
1.6 KiB
Bash
Executable file
69 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -x
|
|
|
|
systemd_target=basic.target
|
|
post_command="/usr/bin/systemctl exit \$EXIT_STATUS"
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
--debug-mode)
|
|
shift
|
|
systemd_target=multi-user.target
|
|
post_command="echo you can now log in as root (no password) and then turn off by running \'/usr/bin/systemctl exit \$EXIT_STATUS\'"
|
|
;;
|
|
*)
|
|
echo "Unknow commandline argument $1"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
WORKDIR=${FDO_DISTRIBUTION_WORKINGDIR:-$PWD}
|
|
B2C_WORKDIR=${FDO_B2C_WORKDIR:-/app}
|
|
|
|
# remove root password for debugging
|
|
sed -i 's/root:!locked::/root:::/' /etc/shadow
|
|
|
|
# create a libevdev test suite service
|
|
cat <<EOF > /etc/systemd/system/libevdev-testsuite.service
|
|
|
|
[Unit]
|
|
Description=libevdev test suite
|
|
After=$systemd_target
|
|
|
|
[Service]
|
|
Type=simple
|
|
StandardOutput=journal+console
|
|
EnvironmentFile=$B2C_WORKDIR/.b2c_env
|
|
WorkingDirectory=$WORKDIR
|
|
ExecStart=$WORKDIR/.gitlab-ci/meson-build.sh --skip-setup --skip-build --run-test
|
|
|
|
# exit the container on termination
|
|
ExecStopPost=$post_command
|
|
|
|
[Install]
|
|
WantedBy=default.target
|
|
EOF
|
|
|
|
cat /etc/systemd/system/libevdev-testsuite.service
|
|
|
|
# enable the service
|
|
systemctl enable libevdev-testsuite.service
|
|
|
|
# disable some services we don't need in the CI
|
|
systemctl mask network-online.target
|
|
systemctl mask network-pre.target
|
|
systemctl mask timers.target
|
|
systemctl mask dnf-makecache.timer
|
|
systemctl mask systemd-logind.service
|
|
systemctl mask rpmdb-migrate.service
|
|
systemctl mask systemd-network-generator.service
|
|
systemctl mask cryptsetup-pre.target
|
|
systemctl mask cryptsetup.target
|
|
|
|
#change default target
|
|
systemctl set-default $systemd_target
|
|
|
|
# start the system
|
|
exec /usr/sbin/init
|