domoticz: update to 3.9571 and clean up FHS handling
Upstream has merged a simplified version of the FHS patch, with a few
changes...
Scripts are actually configuration. There are examples, but the point is
that you write your own.
So they should live in the data directory (e.g. /var/lib/domoticz) not
in /usr/share/domoticz. The only exception is the dzVents runtime.
So.... the upstream patch handles the dzVents runtime bit. Drop the part
of our patch which added -scripts, because it can just be based in the
userdata directory and we don't need to change that.
Ship the default scripts/ directory in /etc/domoticz/scripts, and on
startup make a *symlink* to it from /var/lib/domoticz/scripts.
Symlink from /etc/domoticz/scripts/dzVents{data,generated_scripts} to
temporary directories under /var/lib/domoticz/dzVents so that those
directories (which are written to by Domoticz) don't land on the root
file system. Anyone with a writeable file system who *wants* the data/
directory to be persistent, can change that. Just as they can change
the userdata config option to point to a real file system somewhere.
Also drop the renaming of the OpenZWave Config/ directory. It's purely
cosmetric so there's no need for us to carry that change. It can go
upstream first, if it really offends anyone.
Drop the patches which are now merged upstream, and turn off the newly
added USE_OPENSSL_STATIC. Add -noupdates to the command line.
Finally, gzip the static www files to save space. In the common case,
clients will use "Accept-Encodiong: gzip" and Domoticz will serve them
as-is. It can also decompress on the fly if it really has to, but now we
aren't asking it to *compress* on the fly, which is probably a losing
proposition on an OpenWRT box.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
7 years ago domoticz: update to 3.9571 and clean up FHS handling
Upstream has merged a simplified version of the FHS patch, with a few
changes...
Scripts are actually configuration. There are examples, but the point is
that you write your own.
So they should live in the data directory (e.g. /var/lib/domoticz) not
in /usr/share/domoticz. The only exception is the dzVents runtime.
So.... the upstream patch handles the dzVents runtime bit. Drop the part
of our patch which added -scripts, because it can just be based in the
userdata directory and we don't need to change that.
Ship the default scripts/ directory in /etc/domoticz/scripts, and on
startup make a *symlink* to it from /var/lib/domoticz/scripts.
Symlink from /etc/domoticz/scripts/dzVents{data,generated_scripts} to
temporary directories under /var/lib/domoticz/dzVents so that those
directories (which are written to by Domoticz) don't land on the root
file system. Anyone with a writeable file system who *wants* the data/
directory to be persistent, can change that. Just as they can change
the userdata config option to point to a real file system somewhere.
Also drop the renaming of the OpenZWave Config/ directory. It's purely
cosmetric so there's no need for us to carry that change. It can go
upstream first, if it really offends anyone.
Drop the patches which are now merged upstream, and turn off the newly
added USE_OPENSSL_STATIC. Add -noupdates to the command line.
Finally, gzip the static www files to save space. In the common case,
clients will use "Accept-Encodiong: gzip" and Domoticz will serve them
as-is. It can also decompress on the fly if it really has to, but now we
aren't asking it to *compress* on the fly, which is probably a losing
proposition on an OpenWRT box.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
7 years ago domoticz: update to 3.9571 and clean up FHS handling
Upstream has merged a simplified version of the FHS patch, with a few
changes...
Scripts are actually configuration. There are examples, but the point is
that you write your own.
So they should live in the data directory (e.g. /var/lib/domoticz) not
in /usr/share/domoticz. The only exception is the dzVents runtime.
So.... the upstream patch handles the dzVents runtime bit. Drop the part
of our patch which added -scripts, because it can just be based in the
userdata directory and we don't need to change that.
Ship the default scripts/ directory in /etc/domoticz/scripts, and on
startup make a *symlink* to it from /var/lib/domoticz/scripts.
Symlink from /etc/domoticz/scripts/dzVents{data,generated_scripts} to
temporary directories under /var/lib/domoticz/dzVents so that those
directories (which are written to by Domoticz) don't land on the root
file system. Anyone with a writeable file system who *wants* the data/
directory to be persistent, can change that. Just as they can change
the userdata config option to point to a real file system somewhere.
Also drop the renaming of the OpenZWave Config/ directory. It's purely
cosmetric so there's no need for us to carry that change. It can go
upstream first, if it really offends anyone.
Drop the patches which are now merged upstream, and turn off the newly
added USE_OPENSSL_STATIC. Add -noupdates to the command line.
Finally, gzip the static www files to save space. In the common case,
clients will use "Accept-Encodiong: gzip" and Domoticz will serve them
as-is. It can also decompress on the fly if it really has to, but now we
aren't asking it to *compress* on the fly, which is probably a losing
proposition on an OpenWRT box.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
7 years ago domoticz: update to 3.9571 and clean up FHS handling
Upstream has merged a simplified version of the FHS patch, with a few
changes...
Scripts are actually configuration. There are examples, but the point is
that you write your own.
So they should live in the data directory (e.g. /var/lib/domoticz) not
in /usr/share/domoticz. The only exception is the dzVents runtime.
So.... the upstream patch handles the dzVents runtime bit. Drop the part
of our patch which added -scripts, because it can just be based in the
userdata directory and we don't need to change that.
Ship the default scripts/ directory in /etc/domoticz/scripts, and on
startup make a *symlink* to it from /var/lib/domoticz/scripts.
Symlink from /etc/domoticz/scripts/dzVents{data,generated_scripts} to
temporary directories under /var/lib/domoticz/dzVents so that those
directories (which are written to by Domoticz) don't land on the root
file system. Anyone with a writeable file system who *wants* the data/
directory to be persistent, can change that. Just as they can change
the userdata config option to point to a real file system somewhere.
Also drop the renaming of the OpenZWave Config/ directory. It's purely
cosmetric so there's no need for us to carry that change. It can go
upstream first, if it really offends anyone.
Drop the patches which are now merged upstream, and turn off the newly
added USE_OPENSSL_STATIC. Add -noupdates to the command line.
Finally, gzip the static www files to save space. In the common case,
clients will use "Accept-Encodiong: gzip" and Domoticz will serve them
as-is. It can also decompress on the fly if it really has to, but now we
aren't asking it to *compress* on the fly, which is probably a losing
proposition on an OpenWRT box.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
7 years ago |
|
- #!/bin/sh /etc/rc.common
-
- START=99
- USE_PROCD=1
- PROG=/usr/bin/domoticz
- PIDFILE=/var/run/domoticz.pid
-
- start_domoticz() {
- local section="$1"
- local loglevel sslcert sslpass sslwww syslog userdata
-
- config_get loglevel "$section" "loglevel"
- config_get sslcert "$section" "sslcert"
- config_get sslkey "$section" "sslkey"
- config_get sslpass "$section" "sslpass"
- config_get ssldhparam "$section" "ssldhparam"
- config_get sslwww "$section" "sslwww"
- config_get syslog "$section" "syslog"
- config_get userdata "$section" "userdata" userdata /var/lib/domoticz
-
- [ -n "$loglevel" ] && procd_append_param command -loglevel "$loglevel"
- [ -n "$syslog" ] && procd_append_param command -syslog "$syslog"
-
- [ -d "${userdata}" ] || {
- mkdir -p "${userdata}"
- chmod 0770 "$userdata"
- chown domoticz:domoticz "$userdata"
- }
-
- # By default, ${userdata}/scripts is a symlink to /etc/domoticz/scripts
- # and the two dzVents directories under there which Domoticz will actually
- # write to at runtime are symlinked back to /var/lib again.
- [ -d "${userdata}/scripts" ] || ln -sf /etc/domoticz/scripts "${userdata}/scripts"
- for DIR in data generated_scripts; do
- [ -d /var/lib/domoticz/dzVents/$DIR ] || {
- mkdir -p /var/lib/domoticz/dzVents/$DIR
- chown domoticz.domoticz /var/lib/domoticz/dzVents/$DIR
- }
- done
- procd_append_param command -userdata "$userdata"
-
- [ -n "$sslcert" -a "${sslwww:-0}" -gt 0 ] && {
- procd_append_param command -sslcert "$sslcert"
- procd_append_param command -sslwww "$sslwww"
- [ -n "$sslkey" ] && procd_append_param command -sslkey "$sslkey"
- [ -n "$sslpass" ] && procd_append_param command -sslpass "$sslpass"
- [ -n "$ssldhparam" ] && procd_append_param command -ssldhparam "$ssldhparam"
- } || procd_append_param command -sslwww 0
- }
-
- start_service() {
- procd_open_instance
-
- procd_set_param command "$PROG"
- procd_append_param command -noupdates
- procd_append_param command -approot /usr/share/domoticz/
-
- config_load "domoticz"
- config_get_bool disabled "$section" "disabled" 0
- [ "$disabled" -gt 0 ] && return 1
- config_foreach start_domoticz domoticz
-
- procd_set_param pidfile "$PIDFILE"
- procd_set_param respawn
- procd_set_param stdout 0
- procd_set_param term_timeout 10
- procd_set_param user "domoticz"
-
- procd_close_instance
- }
|