summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO82
-rw-r--r--.gitignore6
-rw-r--r--.install95
-rw-r--r--GetDeviceFiles.sh.patch12
-rw-r--r--GetFirmwareUpdates.sh.patch12
-rw-r--r--PKGBUILD190
-rw-r--r--cast-to-bool.patch14
-rw-r--r--homegear-config.patch58
-rw-r--r--homegear-gnutls.patch17
-rw-r--r--homegear-php.patch37
-rw-r--r--homegear-ssl-optional.patch22
-rw-r--r--homegear.install37
-rw-r--r--homegear.logrotate2
-rw-r--r--homegear.service14
14 files changed, 293 insertions, 305 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 343b329dbdd0..ebc40e792eea 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,52 +1,46 @@
-# Generated by makepkg 4.2.1
-# Fri Jan 8 17:29:58 UTC 2016
pkgbase = homegear
- pkgdesc = Interface HomeMatic BidCoS and others with home automation software
- pkgver = 0.5.25
- pkgrel = 2
- url = https://github.com/Homegear/Homegear
- arch = armv7h
+ pkgdesc = Interface your HomeMatic BidCoS, HomeMatic Wired, MAX!, INSTEON or Philips hue devices with your home automation software or your own control scripts
+ pkgver = 0.7.10
+ pkgrel = 1
+ url = https://homegear.eu
+ install = homegear.install
arch = x86_64
arch = i686
- license = GPL
- makedepends = gcc-libs
- makedepends = gnutls>=3.3.0
- makedepends = libgpg-error>=1.14
- makedepends = readline>=6.2
- makedepends = sqlite>=3.7.13
- makedepends = libxml2>=2.8.0
- makedepends = lzo>=2.0.6
- source = https://github.com/Homegear/Homegear/archive/0.5.25.tar.gz
- source = cast-to-bool.patch
- source = GetDeviceFiles.sh.patch
- source = GetFirmwareUpdates.sh.patch
+ arch = armv6h
+ arch = armv7h
+ arch = aarch64
+ license = LGPL3
+ depends = sqlite3
+ depends = libxslt
+ depends = gnutls
+ depends = homegear-nodes-core
+ depends = php7-homegear
+ optdepends = homegear-homematicbidcos: Support for eQ-3 HomeMatic BidCoS (wireless) devices
+ optdepends = homegear-homematicwired: Support for eQ-3 HomeMatic Wired devices
+ optdepends = homegear-insteon: Support for Insteon devices
+ optdepends = homegear-intertechno: Support for Intertechno devices
+ optdepends = homegear-max: Support for eQ-3 MAX! devices
+ optdepends = homegear-philipshue: Support for Philips Hue
+ backup = etc/homegear/main.conf
+ backup = etc/homegear/mqtt.conf
+ backup = etc/homegear/rpcclients.conf
+ backup = etc/homegear/rpcservers.conf
+ backup = etc/homegear/php.ini
+ backup = etc/homegear/families/miscellaneous.conf
+ backup = etc/homegear/devices/254/template.xml
+ backup = etc/logrotate.d/homegear
+ source = https://github.com/Homegear/Homegear/archive/0.7.10.tar.gz
source = homegear.service
source = homegear.logrotate
- md5sums = cd8335a45f8c9fb3e1fe2fd6328f8373
- md5sums = 3f84c8c96fc6b7d197762e61af97a086
- md5sums = b1a820bb631c45f3b0f266f552e24891
- md5sums = ba39981e2b7a1f3cb1428fb839a1786a
- md5sums = e208eff7459ed6ac965c9f3ed64a4619
- md5sums = 57e41d66f3f80d9e8e3caa665dd5e788
+ source = homegear-gnutls.patch
+ source = homegear-config.patch
+ source = homegear-ssl-optional.patch
+ sha512sums = f494396d58580c8059a8eea5e7b196372b507380af3c48a5036e45bb720b2c2259340bc4853600218ba0722460801fe54edc7e7cebfd6c03e19335153658dc9d
+ sha512sums = 52b7b1b37c1d6b958081c97a733a0b17207a66c5b3c2a51f8abd1659aa1220ee6805f9ee47d241fa63b9124534b3958f04fc41b8b2e8132487d904550af5a26c
+ sha512sums = c58a093cc923551e8482503962bfb9f043ee651b2d9954df6a8bf478715848bdac226dc0f3eb4e4f4aa44cdc9c7ca041560db735e27d6cc89122d02e2ffecc2a
+ sha512sums = b55c2e38e3aae22ecd1b3af65aebb7767400cf134f317ffad6f139c4f8681c587fbf7268b098c44796439dc51d9e4c05aadb1fe1d864b8ea1d8902f0409c5127
+ sha512sums = 8bc3908e78f77a496d3c13bee0fa02cad2307b13bc3dc06b05cb5e08c774bc046e58d6c0967ed4216dddf49aac4288b641dc5d5b8006b7c47b9b95abe4fd0cd0
+ sha512sums = 5b25817cbbf5a5fb1d7c8414d36441de18cef3c43693329facb84b4312fd83c92bfcf6100937f3e5c9a7329e4ba80de1418cc0b9374c46d14255a612e8617498
pkgname = homegear
- pkgdesc = Interface your HomeMatic BidCoS, HomeMatic Wired, MAX!, INSTEON or Philips hue devices with your home automation software or your own control scripts.
- install = .install
- depends = gcc-libs
- depends = gnutls>=3.3.0
- depends = libgpg-error>=1.14
- depends = readline>=6.2
- depends = sqlite>=3.7.13
- depends = libxml2>=2.8.0
- depends = lzo>=2.0.6
- depends = unzip
- depends = wget
- depends = libxml2
- depends = python2
- depends = python2-pip
- depends = openssl
- backup = etc/homegear/main.conf
- backup = etc/homegear/physicalinterfaces.conf
- backup = etc/homegear/rpcclients.conf
- backup = etc/homegear/rpcservers.conf
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..20b5b0e6d6a1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+src/
+pkg/
+*.tar.gz
+*.tar.xz
+*.log
+*.sig
diff --git a/.install b/.install
deleted file mode 100644
index 912402156e92..000000000000
--- a/.install
+++ /dev/null
@@ -1,95 +0,0 @@
-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
-}
diff --git a/GetDeviceFiles.sh.patch b/GetDeviceFiles.sh.patch
deleted file mode 100644
index 2cd04649a2fa..000000000000
--- a/GetDeviceFiles.sh.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rup Homegear-0.5.25/Miscellaneous/GetDeviceFiles.sh ../src/Homegear-0.5.25/Miscellaneous/GetDeviceFiles.sh
---- Homegear-0.5.25/Miscellaneous/GetDeviceFiles.sh 2015-06-10 12:49:17.000000000 +0200
-+++ ../src/Homegear-0.5.25/Miscellaneous/GetDeviceFiles.sh 2016-01-05 12:45:20.456666658 +0100
-@@ -29,7 +29,7 @@ wget -P /tmp/HomegearTemp/ https://githu
- tar -zxf /tmp/HomegearTemp/v2_ui.tar.gz -C /tmp/HomegearTemp
- [ $? -ne 0 ] && exit 1
-
--/tmp/HomegearTemp/ubi_reader-2_ui/extract_files.py -o /tmp/HomegearTemp/rootfs /tmp/HomegearTemp/rootfs.ubi
-+python2 /tmp/HomegearTemp/ubi_reader-2_ui/extract_files.py -o /tmp/HomegearTemp/rootfs /tmp/HomegearTemp/rootfs.ubi
- [ $? -ne 0 ] && exit 1
-
- rm -f $FIRMWAREDIR/rftypes/rf_cmm.xml
diff --git a/GetFirmwareUpdates.sh.patch b/GetFirmwareUpdates.sh.patch
deleted file mode 100644
index 30aac7bf2408..000000000000
--- a/GetFirmwareUpdates.sh.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rup Homegear-0.5.25/Miscellaneous/firmwareDir/GetFirmwareUpdates.sh ../src/Homegear-0.5.25/Miscellaneous/firmwareDir/GetFirmwareUpdates.sh
---- Homegear-0.5.25/Miscellaneous/firmwareDir/GetFirmwareUpdates.sh 2015-06-10 12:49:17.000000000 +0200
-+++ ../src/Homegear-0.5.25/Miscellaneous/firmwareDir/GetFirmwareUpdates.sh 2016-01-05 17:33:54.016666637 +0100
-@@ -20,7 +20,7 @@ if test ! -d $FIRMWAREDIR; then
- tar -zxf /tmp/HomegearTemp/v2_ui.tar.gz -C /tmp/HomegearTemp
- [ $? -ne 0 ] && exit 1
-
-- /tmp/HomegearTemp/ubi_reader-2_ui/extract_files.py -o /tmp/HomegearTemp/rootfs /tmp/HomegearTemp/rootfs.ubi
-+ python2 /tmp/HomegearTemp/ubi_reader-2_ui/extract_files.py -o /tmp/HomegearTemp/rootfs /tmp/HomegearTemp/rootfs.ubi
- [ $? -ne 0 ] && exit 1
- fi
-
diff --git a/PKGBUILD b/PKGBUILD
index b4985c9de37a..b402f5c71655 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,134 +1,88 @@
-# Package build for homegear (https://www.homegear.eu/index.php/Main_Page)
-# Maintainer: Michael Lipp <mnl at mnl dot de>
-
-pkgdesc=('Interface HomeMatic BidCoS and others with home automation software')
-pkgbase=('homegear')
-pkgname=('homegear')
-pkgver=0.5.25
-pkgrel=2
-arch=('armv7h' 'x86_64' 'i686')
-license=('GPL')
-url="https://github.com/Homegear/Homegear"
-makedepends=('gcc-libs' 'gnutls>=3.3.0' 'libgpg-error>=1.14' 'readline>=6.2' 'sqlite>=3.7.13' 'libxml2>=2.8.0' 'lzo>=2.0.6')
-source=("https://github.com/Homegear/Homegear/archive/${pkgver}.tar.gz"
- 'cast-to-bool.patch'
- 'GetDeviceFiles.sh.patch'
- 'GetFirmwareUpdates.sh.patch'
- 'homegear.service'
- 'homegear.logrotate')
-md5sums=('cd8335a45f8c9fb3e1fe2fd6328f8373'
- '3f84c8c96fc6b7d197762e61af97a086'
- 'b1a820bb631c45f3b0f266f552e24891'
- 'ba39981e2b7a1f3cb1428fb839a1786a'
- 'e208eff7459ed6ac965c9f3ed64a4619'
- '57e41d66f3f80d9e8e3caa665dd5e788')
+# Maintainer: Niklas <dev@n1klas.net>
+# Contributor: Michael Lipp <mnl at mnl dot de>
+
+pkgname='homegear'
+_gitname='Homegear'
+pkgdesc='Interface your HomeMatic BidCoS, HomeMatic Wired, MAX!, INSTEON or Philips hue devices with your home automation software or your own control scripts'
+pkgver=0.7.10
+pkgrel=1
+arch=('x86_64' 'i686' 'armv6h' 'armv7h' 'aarch64')
+license=('LGPL3')
+url="https://homegear.eu"
+depends=('sqlite3' 'libxslt' 'gnutls' 'homegear-nodes-core' 'php7-homegear')
+optdepends=('homegear-homematicbidcos: Support for eQ-3 HomeMatic BidCoS (wireless) devices'
+ 'homegear-homematicwired: Support for eQ-3 HomeMatic Wired devices'
+ 'homegear-insteon: Support for Insteon devices'
+ 'homegear-intertechno: Support for Intertechno devices'
+ 'homegear-max: Support for eQ-3 MAX! devices'
+ 'homegear-philipshue: Support for Philips Hue')
+source=("https://github.com/Homegear/${_gitname}/archive/${pkgver}.tar.gz"
+ 'homegear.service'
+ 'homegear.logrotate'
+ 'homegear-gnutls.patch'
+ 'homegear-config.patch'
+ 'homegear-ssl-optional.patch')
+sha512sums=('f494396d58580c8059a8eea5e7b196372b507380af3c48a5036e45bb720b2c2259340bc4853600218ba0722460801fe54edc7e7cebfd6c03e19335153658dc9d'
+ '52b7b1b37c1d6b958081c97a733a0b17207a66c5b3c2a51f8abd1659aa1220ee6805f9ee47d241fa63b9124534b3958f04fc41b8b2e8132487d904550af5a26c'
+ 'c58a093cc923551e8482503962bfb9f043ee651b2d9954df6a8bf478715848bdac226dc0f3eb4e4f4aa44cdc9c7ca041560db735e27d6cc89122d02e2ffecc2a'
+ 'b55c2e38e3aae22ecd1b3af65aebb7767400cf134f317ffad6f139c4f8681c587fbf7268b098c44796439dc51d9e4c05aadb1fe1d864b8ea1d8902f0409c5127'
+ '8bc3908e78f77a496d3c13bee0fa02cad2307b13bc3dc06b05cb5e08c774bc046e58d6c0967ed4216dddf49aac4288b641dc5d5b8006b7c47b9b95abe4fd0cd0'
+ '5b25817cbbf5a5fb1d7c8414d36441de18cef3c43693329facb84b4312fd83c92bfcf6100937f3e5c9a7329e4ba80de1418cc0b9374c46d14255a612e8617498')
+install='homegear.install'
+backup=('etc/homegear/main.conf'
+ 'etc/homegear/mqtt.conf'
+ 'etc/homegear/rpcclients.conf'
+ 'etc/homegear/rpcservers.conf'
+ 'etc/homegear/php.ini'
+ 'etc/homegear/families/miscellaneous.conf'
+ 'etc/homegear/devices/254/template.xml'
+ 'etc/logrotate.d/homegear')
prepare() {
- cd "${srcdir}/Homegear-${pkgver}"
+ cd "${srcdir}/${_gitname}-${pkgver}"
+
+ # Use the our version number instead of the script which would have fetched it from Github
+ sed -i -e "s#m4_esyscmd_s(\[./getVersion.sh\])#${pkgver}#" configure.ac
+ # Put the modules in /usr/lib instead of /var/lib because that is where they belong
+ sed -i -e 's#libdir = $(localstatedir)/lib/homegear/modules#libdir = $(prefix)/lib/homegear/modules#' homegear-miscellaneous/src/Makefile.am
- patch -Np1 -i "${srcdir}/cast-to-bool.patch"
- patch -Np1 -i "${srcdir}/GetDeviceFiles.sh.patch"
- patch -Np1 -i "${srcdir}/GetFirmwareUpdates.sh.patch"
+ patch -p1 -i "${srcdir}"/homegear-gnutls.patch
+ patch -p1 -i "${srcdir}"/homegear-config.patch
+ patch -p1 -i "${srcdir}"/homegear-ssl-optional.patch
}
build() {
- cd "${srcdir}/Homegear-${pkgver}"
+ cd "${srcdir}/${_gitname}-${pkgver}"
- make config=release verbose=true
+ ./bootstrap
+ ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --libdir=/usr/lib
+ make
}
-package_homegear() {
- pkgdesc='Interface your HomeMatic BidCoS, HomeMatic Wired, MAX!, INSTEON or Philips hue devices with your home automation software or your own control scripts.'
- depends=('gcc-libs' 'gnutls>=3.3.0' 'libgpg-error>=1.14' 'readline>=6.2' 'sqlite>=3.7.13' 'libxml2>=2.8.0' 'lzo>=2.0.6' 'unzip' 'wget' 'libxml2' 'python2' 'python2-pip' 'openssl')
- install='.install'
- backup=('etc/homegear/main.conf'
- 'etc/homegear/physicalinterfaces.conf'
- 'etc/homegear/rpcclients.conf'
- 'etc/homegear/rpcservers.conf')
-
- cd "${srcdir}/Homegear-${pkgver}"
-
- mkdir -p "${pkgdir}/usr/bin"
- cp bin/Release/homegear "${pkgdir}/usr/bin"
- chown root:root "${pkgdir}/usr/bin"
- chmod 755 "${pkgdir}/usr/bin/homegear"
-
- mkdir -p "${pkgdir}/etc/homegear"
- for f in main.conf rpcclients.conf rpcservers.conf physicalinterfaces.conf; do
- cp Miscellaneous/$f "${pkgdir}/etc/homegear"
- done
- chmod 755 "${pkgdir}/etc/homegear"
- chmod 644 "${pkgdir}"/etc/homegear/*
-
- mkdir -p "${pkgdir}/etc/homegear/devices/0"
- chmod 755 "${pkgdir}/etc/homegear/devices"
- chmod 755 "${pkgdir}/etc/homegear/devices/0"
-
- mkdir -p "${pkgdir}/etc/homegear/devices/1"
- chmod 755 "${pkgdir}/etc/homegear/devices/0"
-
- mkdir -p "${pkgdir}/etc/homegear/devices/2"
- cp Miscellaneous/Device\ Description\ Files/INSTEON/* "${pkgdir}/etc/homegear/devices/2"
- chmod 755 "${pkgdir}/etc/homegear/devices/2"
- chmod 644 "${pkgdir}"/etc/homegear/devices/2/*
-
- mkdir -p "${pkgdir}/etc/homegear/devices/4"
- cp Miscellaneous/Device\ Description\ Files/MAX/* "${pkgdir}/etc/homegear/devices/4"
- chmod 755 "${pkgdir}/etc/homegear/devices/4"
- chmod 644 "${pkgdir}"/etc/homegear/devices/4/*
-
- mkdir -p "${pkgdir}/etc/homegear/devices/5"
- cp Miscellaneous/Device\ Description\ Files/Philips\ hue/* "${pkgdir}/etc/homegear/devices/5"
- chmod 755 "${pkgdir}/etc/homegear/devices/5"
- chmod 644 "${pkgdir}"/etc/homegear/devices/5/*
-
- mkdir -p "${pkgdir}/etc/homegear/devices/254"
- cp Miscellaneous/Device\ Description\ Files/Miscellaneous/* "${pkgdir}/etc/homegear/devices/254"
- chmod 755 "${pkgdir}/etc/homegear/devices/254"
- chmod 644 "${pkgdir}"/etc/homegear/devices/254/*
-
- chown root:root "${pkgdir}/etc/homegear"
-
- mkdir -p "${pkgdir}/etc/logrotate.d"
- cp Miscellaneous/logrotate "${pkgdir}/etc/logrotate.d/homegear"
- chown root:root "${pkgdir}/etc/logrotate.d/homegear"
- chmod 644 "${pkgdir}/etc/logrotate.d/homegear"
+package() {
+ cd "${srcdir}/${_gitname}-${pkgver}"
- mkdir -p "${pkgdir}/etc/security/limits.d"
- chown root:root "${pkgdir}/etc/security/limits.d"
- echo "homegear soft rtprio 100" > "${pkgdir}/etc/security/limits.d/homegear"
- echo "homegear hard rtprio 100" >> "${pkgdir}/etc/security/limits.d/homegear"
- chown root:root "${pkgdir}/etc/security/limits.d/homegear"
- chmod 644 "${pkgdir}/etc/security/limits.d/homegear"
+ make DESTDIR="${pkgdir}" install
- mkdir -p "${pkgdir}/var/lib/homegear/firmware"
- cp Miscellaneous/firmwareDir/GetFirmwareUpdates.sh "${pkgdir}/var/lib/homegear/firmware"
- chown -R root:root "${pkgdir}/var/lib/homegear/firmware"
- chmod -R 550 "${pkgdir}/var/lib/homegear/firmware"
+ install -dm755 "${pkgdir}"/etc/homegear
+ cp -r misc/Config\ Directory/* "${pkgdir}"/etc/homegear
+ rm "${pkgdir}"/etc/homegear/homegear-{start,stop}.sh
+ chmod 644 "${pkgdir}"/etc/homegear/*.conf
- mkdir -p "${pkgdir}/var/lib/homegear/modules"
- cp lib/Modules/Release/*.so "${pkgdir}/var/lib/homegear/modules"
- FILES="${pkgdir}"/var/lib/homegear/modules/*
- for f in $FILES; do
- f2=`echo $f | sed 's#.*/##' | sed 's/^lib/mod_/'`
- mv $f "${pkgdir}"/var/lib/homegear/modules/$f2
- done
- chown -R root:root "${pkgdir}/var/lib/homegear/modules"
- chmod -R 550 "${pkgdir}/var/lib/homegear/modules"
+ install -dm750 "${pkgdir}"/var/lib/homegear
+ install -dm755 "${pkgdir}"/var/log/homegear
- mkdir -p "${pkgdir}/var/lib/homegear/www"
- cp -R Miscellaneous/www/* "${pkgdir}/var/lib/homegear/www"
- chown -R root:root "${pkgdir}/var/lib/homegear/www"
- chmod -R 550 "${pkgdir}/var/lib/homegear/www"
+ cp -r misc/State\ Directory/* "${pkgdir}"/var/lib/homegear
+ rm -r "${pkgdir}"/var/lib/homegear/www/rpc/.idea
+ find "${pkgdir}"/var/lib/homegear/www -type d -exec chmod 550 {} \;
+ find "${pkgdir}"/var/lib/homegear/www -type f -exec chmod 440 {} \;
+ install -dm750 "${pkgdir}"/var/lib/homegear/flows/data
+ install -dm750 "${pkgdir}"/var/lib/homegear/phpinclude
+ install -dm550 "${pkgdir}"/var/lib/homegear/scripts
+ install -dm750 "${pkgdir}"/var/lib/homegear/firmware
- cp Miscellaneous/GetDeviceFiles.sh "${pkgdir}/var/lib/homegear"
- chown root:root "${pkgdir}/var/lib/homegear/GetDeviceFiles.sh"
- chmod 755 "${pkgdir}/var/lib/homegear/GetDeviceFiles.sh"
- cp Miscellaneous/DeviceTypePatch.patch "${pkgdir}/var/lib/homegear"
- chown root:root "${pkgdir}/var/lib/homegear/DeviceTypePatch.patch"
- chmod 644 "${pkgdir}/var/lib/homegear/DeviceTypePatch.patch"
+ install -Dm755 homegear-miscellaneous/misc/Device\ Description\ Files/Template.xml "${pkgdir}"/etc/homegear/devices/254/template.xml
- mkdir -p "${pkgdir}/usr/lib/systemd/system"
- cp "${srcdir}/homegear.service" "${pkgdir}/usr/lib/systemd/system"
- chmod 644 "${pkgdir}/usr/lib/systemd/system/homegear.service"
+ install -Dm755 "${srcdir}"/homegear.service "${pkgdir}"/usr/lib/systemd/system/homegear.service
+ install -Dm755 "${srcdir}"/homegear.logrotate "${pkgdir}"/etc/logrotate.d/homegear
}
diff --git a/cast-to-bool.patch b/cast-to-bool.patch
deleted file mode 100644
index 4edf4bcc19db..000000000000
--- a/cast-to-bool.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -rup Homegear-0.5.25/Modules/Base/HelperFunctions/HelperFunctions.cpp ../src/Homegear-0.5.25/Modules/Base/HelperFunctions/HelperFunctions.cpp
---- Homegear-0.5.25/Modules/Base/HelperFunctions/HelperFunctions.cpp 2015-06-10 12:49:17.000000000 +0200
-+++ ../src/Homegear-0.5.25/Modules/Base/HelperFunctions/HelperFunctions.cpp 2016-01-03 22:52:48.237300951 +0100
-@@ -93,7 +93,7 @@ HelperFunctions::~HelperFunctions()
- bool HelperFunctions::fileExists(std::string filename)
- {
- std::ifstream in(filename.c_str());
-- return in;
-+ return (bool)in;
- }
-
- int32_t HelperFunctions::isDirectory(std::string path, bool& result)
-Only in ../src/Homegear-0.5.25/: lib
-Only in ../src/Homegear-0.5.25/: obj
diff --git a/homegear-config.patch b/homegear-config.patch
new file mode 100644
index 000000000000..4eaa421bfdae
--- /dev/null
+++ b/homegear-config.patch
@@ -0,0 +1,58 @@
+diff --git a/misc/Config Directory/main.conf b/misc/Config Directory/main.conf
+index 9f6716e..bd3eceb 100644
+--- a/misc/Config Directory/main.conf
++++ b/misc/Config Directory/main.conf
+@@ -2,10 +2,10 @@
+ # See for more details: https://doc.homegear.eu/data/homegear/configuration.html#main-configuration-main-conf
+
+ # Default: runAsUser = root
+-# runAsUser = homegear
++runAsUser = homegear
+
+ # Default: runAsGroup = root
+-# runAsGroup = homegear
++runAsGroup = homegear
+
+ # Set the debug log level
+ # 0=none, 1=critical, 2=error, 3=warning, 4=info, 5=debug, >5=more debug information
+@@ -36,7 +36,7 @@ workingDirectory = /var/lib/homegear
+
+ # The socket files are placed into this directory. If socketPath is empty, the executable path is used.
+ # Default: socketPath =
+-socketPath = /var/run/homegear
++socketPath = /run/homegear
+
+ # If dataPath is empty, the executable path is used.
+ # Default: dataPath =
+@@ -189,7 +189,7 @@ enableFlows = true
+
+ # Path where Node-BLUE is located.
+ # Default: flowsPath = /var/lib/homegear/flows
+-flowsPath = /var/lib/homegear/flows
++flowsPath = /usr/lib/homegear/flows
+
+ # Default: flowsPathPermissions = 770
+ # flowsPathPermissions = 770
+@@ -219,11 +219,11 @@ nodeBlueDebugOutput = true
+
+ # Path to the family modules.
+ # Default: modulePath = /var/lib/homegear/modules
+-modulePath = /var/lib/homegear/modules
++modulePath = /usr/lib/homegear/modules
+
+ # Path to the directory with firmware updates
+ # Default: firmwarePath = /usr/share/homegear/firmware
+-firmwarePath = /usr/share/homegear/firmware
++firmwarePath = /var/lib/homegear/firmware
+
+ # Path to a directory where Homegear can store temporary data
+ # Default: tempPath = /var/lib/homegear/tmp
+@@ -233,7 +233,7 @@ tempPath = /var/lib/homegear/tmp
+ # Default: lockFilePath = /var/lock
+ # /var/run/ is not the correct path for lock files. But as /var/lock is not user-writeable
+ # on some systems, we decided to move the lock files to /var/run/homegear.
+-lockFilePath = /var/run/homegear
++lockFilePath = /run/homegear
+
+ # If unset permissions are not set on start of Homegear.
+ # Default: lockFilePathPermissions = 770
diff --git a/homegear-gnutls.patch b/homegear-gnutls.patch
new file mode 100644
index 000000000000..2963e885c628
--- /dev/null
+++ b/homegear-gnutls.patch
@@ -0,0 +1,17 @@
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 5342ae3..956efbc 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -8,12 +8,6 @@ LIBS += -Wl,-Bstatic -lphp7-homegear -Wl,-Bdynamic -lz -lexslt -lresolv -ledit -
+ # }}}
+ endif
+
+-if HAVE_CURL
+-if HAVE_CURL_HEADERS
+-LIBS += -lcurl-gnutls
+-endif
+-endif
+-
+ if HAVE_MYSQLCLIENT
+ LIBS += -lmysqlclient
+ endif
diff --git a/homegear-php.patch b/homegear-php.patch
new file mode 100644
index 000000000000..cef7e214c107
--- /dev/null
+++ b/homegear-php.patch
@@ -0,0 +1,37 @@
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 5342ae3..5dcbdd6 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -4,7 +4,7 @@ AM_CPPFLAGS = -Wall -std=c++11 -DFORTIFY_SOURCE=2 -DGCRYPT_NO_DEPRECATED
+ AM_LDFLAGS = -Wl,-rpath=/lib/homegear -Wl,-rpath=/usr/lib/homegear -Wl,-rpath=/usr/local/lib/homegear
+ if HAVE_PHP_HEADERS
+ # {{{ PHP libraries
+-LIBS += -Wl,-Bstatic -lphp7-homegear -Wl,-Bdynamic -lz -lexslt -lresolv -ledit -lrt -lmcrypt -lltdl -lgmp -lenchant -lrt -lm -lnsl -lxml2 -lxslt -lcrypt -lcrypto -lssl -lgnutls
++LIBS += -Wl,-Bstatic -lphp-homegear -Wl,-Bdynamic -lz -lexslt -lresolv -ledit -lrt -lmcrypt -lltdl -lgmp -lenchant -lrt -lm -lnsl -lxml2 -lxslt -lcrypt -lcrypto -lssl -lgnutls
+ # }}}
+ endif
+
+@@ -34,8 +34,8 @@ libscriptengine_a_SOURCES = ScriptEngine/php_homegear_globals.cpp ScriptEngine/p
+ homegear_LDADD += libscriptengine.a
+ libscriptengine_a_CPPFLAGS = -Wall -std=c++11 -DFORTIFY_SOURCE=2 -DGCRYPT_NO_DEPRECATED
+ if BSDSYSTEM
+-libscriptengine_a_CPPFLAGS += -I/usr/include/php7-homegear -I/usr/include/php7-homegear/main -I/usr/include/php7-homegear/sapi -I/usr/include/php7-homegear/TSRM -I/usr/include/php7-homegear/Zend -I/usr/include/php7-homegear/php -I/usr/include/php7-homegear/php/main -I/usr/include/php7-homegear/php/sapi -I/usr/include/php7-homegear/php/TSRM -I/usr/include/php7-homegear/php/Zend
++libscriptengine_a_CPPFLAGS += -I/usr/include/php-homegear -I/usr/include/php-homegear/main -I/usr/include/php-homegear/sapi -I/usr/include/php-homegear/TSRM -I/usr/include/php-homegear/Zend -I/usr/include/php-homegear/php -I/usr/include/php-homegear/php/main -I/usr/include/php-homegear/php/sapi -I/usr/include/php-homegear/php/TSRM -I/usr/include/php-homegear/php/Zend
+ else
+-libscriptengine_a_CPPFLAGS += -I/usr/include/php7-homegear -I/usr/include/php7-homegear/main -I/usr/include/php7-homegear/sapi -I/usr/include/php7-homegear/TSRM -I/usr/include/php7-homegear/Zend -I/usr/include/php7-homegear/php -I/usr/include/php7-homegear/php/main -I/usr/include/php7-homegear/php/sapi -I/usr/include/php7-homegear/php/TSRM -I/usr/include/php7-homegear/php/Zend
++libscriptengine_a_CPPFLAGS += -I/usr/include/php-homegear -I/usr/include/php-homegear/main -I/usr/include/php-homegear/sapi -I/usr/include/php-homegear/TSRM -I/usr/include/php-homegear/Zend -I/usr/include/php-homegear/php -I/usr/include/php-homegear/php/main -I/usr/include/php-homegear/php/sapi -I/usr/include/php-homegear/php/TSRM -I/usr/include/php-homegear/php/Zend
+ endif
+ #endif
+diff --git a/configure.ac b/configure.ac
+index 399a410..296d433 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -70,7 +70,7 @@ esac
+ AC_CHECK_LIB([mysqlclient], [mysql_init], [AM_CONDITIONAL(HAVE_MYSQLCLIENT, true)], [AM_CONDITIONAL(HAVE_MYSQLCLIENT, false)])
+ AC_CHECK_HEADERS([curl/curl.h], [AM_CONDITIONAL(HAVE_CURL_HEADERS, true)], [AM_CONDITIONAL(HAVE_CURL_HEADERS, false)])
+ AC_CHECK_LIB([curl], [curl_easy_send], [AM_CONDITIONAL(HAVE_CURL, true)], [AM_CONDITIONAL(HAVE_CURL, false)])
+-AC_CHECK_HEADERS([php7-homegear/main/php_config.h], [AM_CONDITIONAL(HAVE_PHP_HEADERS, true)], [AM_CONDITIONAL(HAVE_PHP_HEADERS, false)])
++AC_CHECK_HEADERS([php-homegear/main/php_config.h], [AM_CONDITIONAL(HAVE_PHP_HEADERS, true)], [AM_CONDITIONAL(HAVE_PHP_HEADERS, false)])
+
+ AC_DEFINE_UNQUOTED([GITCOMMITSHABASE], [`./getGitCommitBase.sh`], [Define git commit SHA of libhomegear-base])
+ AC_DEFINE_UNQUOTED([GITCOMMITSHAHOMEGEAR], [`./getGitCommitHomegear.sh`], [Define git commit SHA of Homegear])
diff --git a/homegear-ssl-optional.patch b/homegear-ssl-optional.patch
new file mode 100644
index 000000000000..2ecedc5a2ec7
--- /dev/null
+++ b/homegear-ssl-optional.patch
@@ -0,0 +1,22 @@
+diff --git a/misc/Config Directory/rpcservers.conf b/misc/Config Directory/rpcservers.conf
+index eedea67..5db64d0 100644
+--- a/misc/Config Directory/rpcservers.conf
++++ b/misc/Config Directory/rpcservers.conf
+@@ -105,7 +105,7 @@ contentPath = /var/lib/homegear/www/rpc
+ webSocket = true
+
+ # Set ssl to "true" to enable SSL support
+-ssl = true
++ssl = false
+
+ # You can specify the authentication type your server uses here.
+ # Can be one of the following:
+@@ -172,7 +172,7 @@ contentPath = /var/lib/homegear/www/rpc
+ webSocket = true
+
+ # Set ssl to "true" to enable SSL support
+-ssl = true
++ssl = false
+
+ # You can specify the authentication type your server uses here.
+ # Can be one of the following:
diff --git a/homegear.install b/homegear.install
new file mode 100644
index 000000000000..841289f07879
--- /dev/null
+++ b/homegear.install
@@ -0,0 +1,37 @@
+fix_owner_perms() {
+ chown -R homegear:homegear /var/lib/homegear
+ chown homegear:homegear /var/log/homegear
+}
+
+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
+
+ echo '>>> SSL on ports 2002 and 2003 is disabled by default.'
+ echo '>>> Run the following commands and then enable SSL in /etc/homegear/rpcservers.conf:'
+ echo '>>> # openssl genrsa -out /etc/homegear/homegear.key 2048'
+ echo '>>> # openssl req -new -key /etc/homegear/homegear.key -out /etc/homegear/homegear.csr'
+ echo '>>> # openssl x509 -req -in /etc/homegear/homegear.csr -signkey /etc/homegear/homegear.key -out /etc/homegear/homegear.crt'
+
+ 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
+}
diff --git a/homegear.logrotate b/homegear.logrotate
index d030b24a08ac..58e402dce565 100644
--- a/homegear.logrotate
+++ b/homegear.logrotate
@@ -8,6 +8,6 @@
create 640 homegear homegear
sharedscripts
postrotate
- systemctl restart homegear
+ systemctl reload homegear
endscript
}
diff --git a/homegear.service b/homegear.service
index 21d020205bb5..9760e5fb7967 100644
--- a/homegear.service
+++ b/homegear.service
@@ -1,15 +1,11 @@
[Unit]
-Description=Homegear server
-After=network.target
+Description=Program to interface smart home devices with home automation software
+After=network.target
[Service]
-Type=forking
-User=homegear
-Group=homegear
-UMask=002
-LimitRTPRIO=100
-PIDFile=/var/run/homegear/pid
-ExecStart=/usr/bin/homegear -p /var/run/homegear/pid -d
+Type=simple
+ExecStart=/usr/bin/homegear
+ExecReload=/usr/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target