diff --git a/data/usr/lib/freedombox/setup.d/86_plinth b/data/usr/lib/freedombox/setup.d/86_plinth index 58f5badcc..2a95237dc 100755 --- a/data/usr/lib/freedombox/setup.d/86_plinth +++ b/data/usr/lib/freedombox/setup.d/86_plinth @@ -16,6 +16,26 @@ # along with this program. If not, see . # +DBUS_STARTED_FOR_PLINTH=false + +start_dbus() { + local return_code + + service dbus status > /dev/null + return_code=$? + + if [ "$return_code" != "0" ]; then + service dbus start + DBUS_STARTED_FOR_PLINTH=true + fi +} + +stop_dbus() { + if [ "$DBUS_STARTED_FOR_PLINTH" = "true" ]; then + service dbus stop + fi +} + # Enable Apache modules required for Plinth. echo "Configuring Apache for Plinth..." @@ -31,3 +51,17 @@ a2ensite plinth.conf a2ensite plinth-ssl.conf echo "Done configuring Apache for Plinth." + +echo "Running Plinth setup..." + +# Ensure that DBus daemon is running so that Plinth can install +# various packages via PackgeKit. +start_dbus + +# Run plinth setup to install various necessary program +plinth --setup + +# Stop DBus daemon if we have not started it +stop_dbus + +echo "Done running Plinth setup."