EC=0
TEMPFILE="$(mktemp)"
-trap "rm -f '$TEMPFILE'" EXIT
+TEMP_EXTRA_TREE="$(mktemp --directory)"
+trap "rm -rf '$TEMPFILE' '$TEMP_EXTRA_TREE'" EXIT
+
+# We need isc-dhcp-server to be installed for the networkd unit tests, but we don't want to
+# run it by default. mktemp creates the directory as 700, so change it, otherwise it will
+# affect the image's root folder permissions.
+chmod 755 "$TEMP_EXTRA_TREE"
+mkdir -p "$TEMP_EXTRA_TREE/etc/systemd/system/"
+ln -s /dev/null "$TEMP_EXTRA_TREE/etc/systemd/system/isc-dhcp-server.service"
+ln -s /dev/null "$TEMP_EXTRA_TREE/etc/systemd/system/isc-dhcp-server6.service"
for ((i = 0; i < 5; i++)); do
EC=0
- (sudo python3 -m mkosi "$@") |& tee "$TEMPFILE" || EC=$?
+ (sudo python3 -m mkosi --extra-tree="$TEMP_EXTRA_TREE" "$@") |& tee "$TEMPFILE" || EC=$?
if [[ $EC -eq 0 ]]; then
# The command passed — let's return immediately
break