#!/bin/sh
# Copyright © 2006-2018 Canonical Ltd.
# Copyright © 2020 Paul Gevers
# Copyright © 2020 Lars Kruse
# Copyright © 2022 Simon McVittie
# SPDX-License-Identifier: GPL-2.0-or-later

set -eu

while true; do
    if ! level="$(runlevel)"; then
        sleep 1
        continue
    fi

    case "$level" in
        (*[2345])
            break
            ;;
        (*)
            echo "Waiting for suitable runlevel, currently: $level" >&2
            sleep 1
            ;;
    esac
done

while pgrep -f '/etc/init[.]d/rc' > /dev/null; do
    echo "Waiting for /etc/init.d/rc to finish" >&2
    sleep 1
done
