2021-03-05 18:36:04 +09:00
#!/usr/bin/env bash
2021-10-17 18:13:06 +02:00
# SPDX-License-Identifier: LGPL-2.1-or-later
2021-03-05 18:36:04 +09:00
set -ex
set -o pipefail
mkdir -p /run/udev/rules.d/
2024-11-01 21:27:08 +01:00
ROOTDEV = " $( bootctl -RR) "
2021-03-05 18:36:04 +09:00
rm -f /run/udev/rules.d/50-testsuite.rules
udevadm control --reload
2024-11-01 21:27:08 +01:00
udevadm trigger --settle " $ROOTDEV "
2021-03-05 18:36:04 +09:00
while : ; do
(
2024-11-01 21:27:08 +01:00
udevadm info " $ROOTDEV " | grep -q -v SYSTEMD_WANTS = foobar.service
udevadm info " $ROOTDEV " | grep -q -v SYSTEMD_WANTS = waldo.service
systemctl show -p WantedBy foobar.service | grep -q -v " ${ ROOTDEV #/dev/ } "
systemctl show -p WantedBy waldo.service | grep -q -v " ${ ROOTDEV #/dev/ } "
2021-03-05 18:36:04 +09:00
) && break
sleep .5
done
2021-04-08 00:09:55 +02:00
cat >/run/udev/rules.d/50-testsuite.rules <<EOF
2024-11-01 21:27:08 +01:00
SUBSYSTEM = = "block" , KERNEL = = " ${ ROOTDEV #/dev/ } " , OPTIONS = "log_level=debug"
ACTION!= "remove" , SUBSYSTEM = = "block" , KERNEL = = " ${ ROOTDEV #/dev/ } " , ENV{ SYSTEMD_WANTS} = "foobar.service"
2021-03-05 18:36:04 +09:00
EOF
udevadm control --reload
2024-11-01 21:27:08 +01:00
udevadm trigger --settle " $ROOTDEV "
2021-03-05 18:36:04 +09:00
while : ; do
(
2024-11-01 21:27:08 +01:00
udevadm info " $ROOTDEV " | grep -q SYSTEMD_WANTS = foobar.service
udevadm info " $ROOTDEV " | grep -q -v SYSTEMD_WANTS = waldo.service
systemctl show -p WantedBy foobar.service | grep -q " ${ ROOTDEV #/dev/ } "
systemctl show -p WantedBy waldo.service | grep -q -v " ${ ROOTDEV #/dev/ } "
2021-03-05 18:36:04 +09:00
) && break
sleep .5
done
2021-04-08 00:09:55 +02:00
cat >/run/udev/rules.d/50-testsuite.rules <<EOF
2024-11-01 21:27:08 +01:00
SUBSYSTEM = = "block" , KERNEL = = " ${ ROOTDEV #/dev/ } " , OPTIONS = "log_level=debug"
ACTION!= "remove" , SUBSYSTEM = = "block" , KERNEL = = " ${ ROOTDEV #/dev/ } " , ENV{ SYSTEMD_WANTS} = "waldo.service"
2021-03-05 18:36:04 +09:00
EOF
udevadm control --reload
2024-11-01 21:27:08 +01:00
udevadm trigger --settle " $ROOTDEV "
2021-03-05 18:36:04 +09:00
while : ; do
(
2024-11-01 21:27:08 +01:00
udevadm info " $ROOTDEV " | grep -q -v SYSTEMD_WANTS = foobar.service
udevadm info " $ROOTDEV " | grep -q SYSTEMD_WANTS = waldo.service
systemctl show -p WantedBy foobar.service | grep -q -v " ${ ROOTDEV #/dev/ } "
systemctl show -p WantedBy waldo.service | grep -q " ${ ROOTDEV #/dev/ } "
2021-03-05 18:36:04 +09:00
) && break
sleep .5
done
rm /run/udev/rules.d/50-testsuite.rules
udevadm control --reload
2024-11-01 21:27:08 +01:00
udevadm trigger --settle " $ROOTDEV "
2021-03-05 18:36:04 +09:00
while : ; do
(
2024-11-01 21:27:08 +01:00
udevadm info " $ROOTDEV " | grep -q -v SYSTEMD_WANTS = foobar.service
udevadm info " $ROOTDEV " | grep -q -v SYSTEMD_WANTS = waldo.service
systemctl show -p WantedBy foobar.service | grep -q -v " ${ ROOTDEV #/dev/ } "
systemctl show -p WantedBy waldo.service | grep -q -v " ${ ROOTDEV #/dev/ } "
2021-03-05 18:36:04 +09:00
) && break
sleep .5
done
exit 0