summarylogtreecommitdiffstats
path: root/homegear.install
diff options
context:
space:
mode:
Diffstat (limited to 'homegear.install')
-rw-r--r--homegear.install95
1 files changed, 95 insertions, 0 deletions
diff --git a/homegear.install b/homegear.install
new file mode 100644
index 000000000000..912402156e92
--- /dev/null
+++ b/homegear.install
@@ -0,0 +1,95 @@
+fix_owner_perms() {
+ chmod 440 /etc/homegear/rpcclients.conf
+ chown homegear:homegear /etc/homegear/rpcclients.conf
+
+ mkdir -p /var/run/homegear
+ chown homegear:homegear /var/run/homegear
+ chmod 750 /var/run/homegear
+
+ mkdir -p /var/lib/homegear
+ chown homegear:homegear /var/lib/homegear
+ chmod 750 /var/lib/homegear
+
+ mkdir -p /var/log/homegear
+ chown homegear:homegear /var/log/homegear
+ chmod 750 /var/log/homegear
+
+ chown -R homegear:homegear /var/lib/homegear/scripts
+ chmod -R 550 /var/lib/homegear/scripts
+
+ chmod -R 550 /var/lib/homegear/firmware
+
+ chown -R homegear:homegear /var/lib/homegear/modules
+ chmod -R 550 /var/lib/homegear/modules
+ find /var/lib/homegear/www -type d -exec chmod 550 {} \;
+ find /var/lib/homegear/www -type f -exec chmod 440 {} \;
+}
+
+post_install() {
+ result=`id -u homegear 2>/dev/null`
+ if [ "0$result" -eq "0" ]; then
+ useradd --system --shell /bin/false homegear >/dev/null 2>&1
+ [ $? -ne 0 ] && exit 1
+ usermod -a -G dialout homegear 2>/dev/null
+ usermod -a -G gpio homegear 2>/dev/null
+ usermod -a -G spi homegear 2>/dev/null
+ fi
+
+ if test ! -e /var/lib/homegear/scripts; then
+ rm -Rf /tmp/HomegearScriptsDir
+ [ $? -ne 0 ] && exit 1
+ mkdir /tmp/HomegearScriptsDir
+ [ $? -ne 0 ] && exit 1
+ wget -P /tmp/HomegearScriptsDir/ http://homegear.eu/downloads/Homegear_PHP_XMLRPC_Client.zip
+ [ $? -ne 0 ] && exit 1
+ unzip -d /tmp/HomegearScriptsDir /tmp/HomegearScriptsDir/Homegear_PHP_XMLRPC_Client.zip
+ [ $? -ne 0 ] && exit 1
+ rm /tmp/HomegearScriptsDir/Homegear_PHP_XMLRPC_Client.zip
+ mkdir /var/lib/homegear/scripts
+ [ $? -ne 0 ] && exit 1
+ mv /tmp/HomegearScriptsDir/* /var/lib/homegear/scripts
+ [ $? -ne 0 ] && exit 1
+ chown -R homegear:homegear /var/lib/homegear/scripts
+ chmod -R 550 /var/lib/homegear/scripts
+ rm -Rf /tmp/HomegearScriptsDir
+ fi
+
+ pip2 install python-lzo
+
+ if test ! -e /etc/homegear/devices/0/rf_s.xml; then
+ echo "Downloading device description files..."
+ /var/lib/homegear/GetDeviceFiles.sh
+ fi
+
+ echo "Downloading current firmware updates..."
+ /var/lib/homegear/firmware/GetFirmwareUpdates.sh
+ [ $? -ne 0 ] && exit 1
+
+ if test ! -e /etc/homegear/homegear.crt; then
+ openssl genrsa -out /etc/homegear/homegear.key 2048
+ openssl req -batch -new -key /etc/homegear/homegear.key -out /etc/homegear/homegear.csr
+ openssl x509 -req -in /etc/homegear/homegear.csr -signkey /etc/homegear/homegear.key -out /etc/homegear/homegear.crt
+ rm /etc/homegear/homegear.csr
+ chown homegear:homegear /etc/homegear/homegear.key
+ chmod 400 /etc/homegear/homegear.key
+ openssl dhparam -check -text -5 1024 -out /etc/homegear/dh1024.pem
+ chown homegear:homegear /etc/homegear/dh1024.pem
+ chmod 400 /etc/homegear/dh1024.pem
+ fi
+
+ fix_owner_perms
+}
+
+post_upgrade() {
+ fix_owner_perms
+}
+
+post_remove() {
+ if test -e /etc/homegear; then
+ chown -R root:root /etc/homegear
+ fi
+ if test -e /var/lib/homegear; then
+ chown -R root:root /var/lib/homegear
+ fi
+ userdel homegear > /dev/null 2>&1
+}