diff --git a/debian/control b/debian/control index 9164ffa..7ea8c2e 100644 --- a/debian/control +++ b/debian/control @@ -4,6 +4,7 @@ Priority: optional Maintainer: Simon Stürz Build-Depends: debhelper (>= 9.0.0), dpkg-dev (>= 1.16.1~), + dh-systemd, qt5-default, qtbase5-dev, qtconnectivity5-dev diff --git a/debian/nymea-networkmanager.dirs b/debian/nymea-networkmanager.dirs index c703cf8..6589283 100644 --- a/debian/nymea-networkmanager.dirs +++ b/debian/nymea-networkmanager.dirs @@ -1 +1,2 @@ usr/bin/ +lib/systemd/system/ diff --git a/debian/nymea-networkmanager.install.in b/debian/nymea-networkmanager.install.in index 537be26..176cca0 100644 --- a/debian/nymea-networkmanager.install.in +++ b/debian/nymea-networkmanager.install.in @@ -1 +1,2 @@ usr/bin/nymea-networkmanager +nymea-networkmanager.service /lib/systemd/system/ diff --git a/debian/rules b/debian/rules index a70455d..494030a 100755 --- a/debian/rules +++ b/debian/rules @@ -9,7 +9,7 @@ $(PREPROCESS_FILES:.in=): %: %.in sed 's,/@DEB_HOST_MULTIARCH@,$(DEB_HOST_MULTIARCH:%=/%),g' $< > $@ %: - dh $@ --buildsystem=qmake --parallel + dh $@ --buildsystem=qmake --parallel --with systemd override_dh_install: $(PREPROCESS_FILES:.in=) dh_install diff --git a/nymea-networkmanager.service b/nymea-networkmanager.service new file mode 100644 index 0000000..8c26bd6 --- /dev/null +++ b/nymea-networkmanager.service @@ -0,0 +1,15 @@ +[Unit] +Description=Daemon for nymea to configure wifi network using Bluetooth LE. +Documentation=https://github.com/guh/nymea-networkmanager +After=network.target + +[Service] +ExecStart=/usr/bin/nymea-networkmanager -d +StandardOutput=journal +StandardError=journal +Restart=on-failure +Type=simple + +[Install] +WantedBy=multi-user.target + diff --git a/nymea-networkmanager/core.cpp b/nymea-networkmanager/core.cpp index 7ea54d1..1848fe2 100644 --- a/nymea-networkmanager/core.cpp +++ b/nymea-networkmanager/core.cpp @@ -76,14 +76,17 @@ Core::Core(QObject *parent) : Core::~Core() { + qCDebug(dcApplication()) << "Shutting down nymea service"; delete m_nymeaService; m_nymeaService = nullptr; - delete m_networkManager; - m_networkManager = nullptr; - + qCDebug(dcApplication()) << "Shutting down bluetooth service"; delete m_bluetoothServer; m_bluetoothServer = nullptr; + + qCDebug(dcApplication()) << "Shutting down network-manager service"; + delete m_networkManager; + m_networkManager = nullptr; } void Core::evaluateNetworkManagerState(const NetworkManager::NetworkManagerState &state)