From 34a5596f3e67d49b6fbaaed5f3515741007024b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Fri, 4 Dec 2015 19:22:32 +0100 Subject: [PATCH] update man page update package descriptions change log output --- data/logrotate/guhd | 11 ++++++ debian/control | 88 +++++++++++++++++++++++------------------- debian/copyright | 2 +- debian/guhd.1 | 25 ++++++------ debian/guhd.install | 1 + libguh/guhsettings.cpp | 4 +- server/guhcore.cpp | 3 +- server/main.cpp | 43 ++++++++++++++------- 8 files changed, 107 insertions(+), 70 deletions(-) create mode 100644 data/logrotate/guhd diff --git a/data/logrotate/guhd b/data/logrotate/guhd new file mode 100644 index 00000000..88de1ef5 --- /dev/null +++ b/data/logrotate/guhd @@ -0,0 +1,11 @@ +/var/log/guhd.log { + weekly + rotate 5 + size 200M + compress + delaycompress + missingok + notifempty + create 644 root root +} + diff --git a/debian/control b/debian/control index 779b217c..8665e905 100644 --- a/debian/control +++ b/debian/control @@ -15,12 +15,12 @@ Architecture: any Section: misc Depends: guh (= ${binary:Version}), guh-plugins (= ${binary:Version}), -Description: Server for home automation systems - meta package - guh is an open source home automation server, which allows to control - a lot of different devices from many different manufacturers. With the - powerful rule engine you are able to connect any device available in - the system and create individual scenes and behaviors for your home. - This meta package installs the guh daemon and the main plugins. +Description: An open source IoT server - meta package + guh is an open source IoT (Internet of Things) server, + which allows to control a lot of different devices from many different + manufacturers. With the powerful rule engine you are able to connect any + device available in the system and create individual scenes and behaviors + for your environment. Package: guhd Architecture: any @@ -28,27 +28,31 @@ Depends: libqt5network5, libqt5gui5, libqt5sql5, libqt5xml5, + logrotate, libguh1 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Recommends: - libqt5websockets5 -Description: Server daemon for home automation systems - guh is an open source home automation server, which allows to control - a lot of different devices from many different manufacturers. With the - powerful rule engine you are able to connect any device available in - the system and create individual scenes and behaviors for your home. + libqt5websockets5, + libqt5bluetooth5 +Description: An open source IoT server - daemon + guh is an open source IoT (Internet of Things) server, + which allows to control a lot of different devices from many different + manufacturers. With the powerful rule engine you are able to connect any + device available in the system and create individual scenes and behaviors + for your environment. Package: guh-dbg Priority: extra Architecture: any Section: debug Depends: guh (= ${binary:Version}), ${misc:Depends} -Description: server for home automation systems - debug symbols - guh is an open source home automation server, which allows to control - a lot of different devices from many different manufacturers. With the - powerful rule engine you are able to connect any device available in - the system and create individual scenes and behaviors for your home. +Description: An open source IoT server - debug symbols + guh is an open source IoT (Internet of Things) server, + which allows to control a lot of different devices from many different + manufacturers. With the powerful rule engine you are able to connect any + device available in the system and create individual scenes and behaviors + for your environment. Package: guh-doc Section: doc @@ -56,10 +60,10 @@ Architecture: all Depends: ${misc:Depends} Recommends: guh (= ${binary:Version}) Description: Documentation for the guh package (on-site) - documentation - guh is an open source home automation server, which allows to control - a lot of different devices from many different manufacturers. With the - powerful rule engine you are able to connect any device available in - the system and create individual scenes and behaviors for your home. + guh is an open source home automation server, which allows to control + a lot of different devices from many different manufacturers. With the + powerful rule engine you are able to connect any device available in + the system and create individual scenes and behaviors for your home. Package: guh-tests Architecture: any @@ -67,10 +71,11 @@ Depends: guh (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: Tests for the guh package - guh is an open source home automation server, which allows to control - a lot of different devices from many different manufacturers. With the - powerful rule engine you are able to connect any device available in - the system and create individual scenes and behaviors for your home. + guh is an open source IoT (Internet of Things) server, + which allows to control a lot of different devices from many different + manufacturers. With the powerful rule engine you are able to connect any + device available in the system and create individual scenes and behaviors + for your environment. Package: libguh1 Section: libs @@ -78,11 +83,12 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libqt5bluetooth5 -Description: Server for home automation systems - core library - guh is an open source home automation server, which allows to control - a lot of different devices from many different manufacturers. With the - powerful rule engine you are able to connect any device available in - the system and create individual scenes and behaviors for your home. +Description: An open source IoT server - core library + guh is an open source IoT (Internet of Things) server, + which allows to control a lot of different devices from many different + manufacturers. With the powerful rule engine you are able to connect any + device available in the system and create individual scenes and behaviors + for your environment. Package: libguh1-dev Section: libdevel @@ -91,11 +97,12 @@ Depends: libguh1 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, python -Description: Server for home automation systems - development files - guh is an open source home automation server, which allows to control - a lot of different devices from many different manufacturers. With the - powerful rule engine you are able to connect any device available in - the system and create individual scenes and behaviors for your home. +Description: An open source IoT server - development files + guh is an open source IoT (Internet of Things) server, + which allows to control a lot of different devices from many different + manufacturers. With the powerful rule engine you are able to connect any + device available in the system and create individual scenes and behaviors + for your environment. Package: guh-plugins Section: libs @@ -104,8 +111,9 @@ Depends: libguh1 (= ${binary:Version}), guhd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} -Description: Plugins for guh server home automation systems - guh is an open source home automation server, which allows to control - a lot of different devices from many different manufacturers. With the - powerful rule engine you are able to connect any device available in - the system and create individual scenes and behaviors for your home. +Description: Plugins for guh IoT server + guh is an open source IoT (Internet of Things) server, + which allows to control a lot of different devices from many different + manufacturers. With the powerful rule engine you are able to connect any + device available in the system and create individual scenes and behaviors + for your environment. diff --git a/debian/copyright b/debian/copyright index 60e2e2fe..4a3a9769 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,7 +1,7 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Author: Michael Zanetti Simon Stürz -Download: http://www.github.com/guh +Download: http://www.github.com/guh/guh License: GPL-2+ On Debian systems, the complete text of the GNU General diff --git a/debian/guhd.1 b/debian/guhd.1 index f7780a5a..85bbbcbd 100644 --- a/debian/guhd.1 +++ b/debian/guhd.1 @@ -1,16 +1,17 @@ .\" Manpage for guhd. .\" Contact simon.stuerz@guh.guru to correct errors or typos. -.TH man 1 "August 2015" "1.2" "guhd man page" +.TH man 1 "December 2015" "1.3" "guhd man page" .SH NAME -guhd \- Server for home automation systems +guhd \- An open source IoT (Internet of Things) server .SH SYNOPSIS .B guhd [\fIOPTION\fR] .SH DESCRIPTION -guh (/[guːh]/) is an open source home automation server, which allows to -control a lot of different devices from many different manufacturers. -With the powerful rule engine you are able to connect any device available in -the system and create individual scenes and behaviors for your home. +guh (/[guːh]/) is an open source IoT (Internet of Things) server, +which allows to control a lot of different devices from many different +manufacturers. With the powerful rule engine you are able to connect any +device available in the system and create individual scenes and behaviors +for your environment. .SH OPTIONS .TP \fB\-h\fR, \fB\-\-help\fR @@ -29,7 +30,7 @@ categories will be printed unless they are explicitly muted with "NoWarnings". .RS .TP \fBMain\ debug\ categories:\fR -.IP \fIApplication\fR\ (default\ enabled) +.IP \fIApplication\fR\ (default\ enabled) Print the debug messages from the core application. .IP \fIConnection\fR\ (default\ enabled) Print the debug messages from the TCP connections in guh. @@ -37,11 +38,13 @@ Print the debug messages from the TCP connections in guh. Print the debug messages from the device manager. .IP \fIHardware\fR\ (default\ disabled) Print the debug messages from hardware resources in guh. -.IP \fIJsonRpc\fR\ (default\ disabled) +.IP \fIJsonRpc\fR\ (default\ enabled) Print the debug messages from JSON-RPC API. .IP \fILogEngine\fR\ (default\ disabled) Print the debug messages from logging engine. -.IP \fIRest\fR\ (default\ disbaled) +.IP \fIOAuth2\fR\ (default\ disabled) +Print the debug messages of the OAuth2 resource. +.IP \fIRest\fR\ (default\ enabled) Print the debug messages from REST API. .IP \fIRuleEngine\fR\ (default\ enabled) Print the debug messages from the rule engine. @@ -66,8 +69,8 @@ $ guhd -n -d Hardware .TP To start guhd in the foreground, disable debug messages from the DeviceManager and enable debug messages for JsonRpc and LogEngine: -.IP -$ guhd -n -d NoDeviceManager JsonRpc LogEngine +.IP +$ guhd -n -d NoDeviceManager -d JsonRpc -d LogEngine .SH FILES .TP The settings of the guh server can be found in \fI/etc/guh/guhd.conf\fR diff --git a/debian/guhd.install b/debian/guhd.install index a278ab79..1072265b 100644 --- a/debian/guhd.install +++ b/debian/guhd.install @@ -1,3 +1,4 @@ usr/bin/guhd data/init/* /etc/init.d data/config/guhd.conf /etc/guh/ +data/logrotate/guhd /etc/logrotate.d/ diff --git a/libguh/guhsettings.cpp b/libguh/guhsettings.cpp index acb4856b..e0112ecb 100644 --- a/libguh/guhsettings.cpp +++ b/libguh/guhsettings.cpp @@ -161,7 +161,7 @@ QString GuhSettings::logPath() if (organisationName == "guh-test") { logPath = "/tmp/" + organisationName + "/guhd-test.sqlite"; } else if (GuhSettings::isRoot()) { - logPath = "/var/log/guh/guhd.sqlite"; + logPath = "/var/log/guhd.sqlite"; } else { logPath = QDir::homePath() + "/.config/" + organisationName + "/guhd.sqlite"; } @@ -178,7 +178,7 @@ QString GuhSettings::consoleLogPath() if (organisationName == "guh-test") { consoleLogPath = "/tmp/" + organisationName + "/guhd-test.logs"; } else if (GuhSettings::isRoot()) { - consoleLogPath = "/var/log/guh/guhd.log"; + consoleLogPath = "/var/log/guhd.log"; } else { consoleLogPath = QDir::homePath() + "/.config/" + organisationName + "/guhd.log"; } diff --git a/server/guhcore.cpp b/server/guhcore.cpp index addf96de..68c5d85e 100644 --- a/server/guhcore.cpp +++ b/server/guhcore.cpp @@ -557,8 +557,6 @@ RuleEngine *GuhCore::ruleEngine() const GuhCore::GuhCore(QObject *parent) : QObject(parent) { - qCDebug(dcApplication) << "guh version:" << GUH_VERSION_STRING << "starting up."; - m_logger = new LogEngine(this); qCDebug(dcApplication) << "Creating Device Manager"; @@ -568,6 +566,7 @@ GuhCore::GuhCore(QObject *parent) : m_ruleEngine = new RuleEngine(this); + qCDebug(dcApplication) << "Creating Server Manager"; m_serverManager = new ServerManager(this); connect(m_deviceManager, &DeviceManager::eventTriggered, this, &GuhCore::gotEvent); diff --git a/server/main.cpp b/server/main.cpp index 5ef96049..b2e077fc 100644 --- a/server/main.cpp +++ b/server/main.cpp @@ -107,8 +107,8 @@ int main(int argc, char *argv[]) s_loggingFilters.insert("LogEngine", false); s_loggingFilters.insert("TcpServer", false); s_loggingFilters.insert("WebServer", true); - s_loggingFilters.insert("WebSocketServer", false); - s_loggingFilters.insert("JsonRpc", false); + s_loggingFilters.insert("WebSocketServer", true); + s_loggingFilters.insert("JsonRpc", true); s_loggingFilters.insert("Rest", true); s_loggingFilters.insert("OAuth2", false); @@ -120,8 +120,11 @@ int main(int argc, char *argv[]) QCommandLineParser parser; parser.addHelpOption(); parser.addVersionOption(); - QString applicationDescription = QString("\nguh ( /[guːh]/ ) is an open source home automation server, which allows to\n" - "control a lot of different devices from many different manufacturers.\n\n" + QString applicationDescription = QString("\nguh ( /[guːh]/ ) is an open source IoT (Internet of Things) server, \n" + "which allows to control a lot of different devices from many different. \n" + "manufacturers. With the powerful rule engine you are able to connect any \n" + "device available in the system and create individual scenes and behaviors \n" + "for your environment.\n\n" "guhd %1 (C) 2014-2015 guh\n" "Released under the GNU GENERAL PUBLIC LICENSE Version 2.\n\n" "API version: %2\n").arg(GUH_VERSION_STRING).arg(JSON_PROTOCOL_VERSION); @@ -147,7 +150,9 @@ int main(int argc, char *argv[]) debugDescription += "\n- " + filterName + " (" + (s_loggingFilters.value(filterName) ? "yes" : "no") + ")"; } - QCommandLineOption debugOption(QStringList() << "d" << "debug", debugDescription, "[No]DebugCategory"); + QCommandLineOption allOption(QStringList() << "p" << "print-all", "Enables all debug categories. This parameter overrides all debug category parameters."); + parser.addOption(allOption); + QCommandLineOption debugOption(QStringList() << "d" << "debug-category", debugDescription, "[No]DebugCategory"); parser.addOption(debugOption); parser.process(application); @@ -158,14 +163,20 @@ int main(int argc, char *argv[]) } // check debug area - foreach (QString debugArea, parser.values(debugOption)) { - bool enable = !debugArea.startsWith("No"); - debugArea.remove(QRegExp("^No")); - if (s_loggingFilters.contains(debugArea)) { - s_loggingFilters[debugArea] = enable; - } else { - qCWarning(dcApplication) << "No such debug category:" << debugArea; + if (!parser.isSet(allOption)) { + foreach (QString debugArea, parser.values(debugOption)) { + bool enable = !debugArea.startsWith("No"); + debugArea.remove(QRegExp("^No")); + if (s_loggingFilters.contains(debugArea)) { + s_loggingFilters[debugArea] = enable; + } else { + qCWarning(dcApplication) << "No such debug category:" << debugArea; + } } + } else { + foreach (const QString &debugArea, s_loggingFilters.keys()) + s_loggingFilters[debugArea] = true; + } QLoggingCategory::installFilter(loggingCategoryFilter); @@ -174,9 +185,13 @@ int main(int argc, char *argv[]) // inform about userid int userId = getuid(); if (userId != 0) { - qCDebug(dcApplication) << "guhd started with user ID" << userId; + qCDebug(dcApplication) << "====================================="; + qCDebug(dcApplication) << "guhd" << GUH_VERSION_STRING << "started with user ID" << userId; + qCDebug(dcApplication) << "====================================="; } else { - qCDebug(dcApplication) << "guhd started as root."; + qCDebug(dcApplication) << "====================================="; + qCDebug(dcApplication) << "guhd" << GUH_VERSION_STRING << "started as root."; + qCDebug(dcApplication) << "====================================="; } // create core instance