diff options
author | Niklas | 2017-10-26 01:28:18 +0200 |
---|---|---|
committer | Niklas | 2017-10-26 01:28:18 +0200 |
commit | 4885309d9a70524100ffb94926a766b79c91c5e6 (patch) | |
tree | 1a6dff7991ec930768174a58f99c02ab8036c978 | |
parent | 62c8e7d900449eab01bb1df54e3e141615fa87dc (diff) | |
download | aur-4885309d9a70524100ffb94926a766b79c91c5e6.tar.gz |
update 0.7.10, everything reworked
-rw-r--r-- | .SRCINFO | 82 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | .install | 95 | ||||
-rw-r--r-- | GetDeviceFiles.sh.patch | 12 | ||||
-rw-r--r-- | GetFirmwareUpdates.sh.patch | 12 | ||||
-rw-r--r-- | PKGBUILD | 190 | ||||
-rw-r--r-- | cast-to-bool.patch | 14 | ||||
-rw-r--r-- | homegear-config.patch | 58 | ||||
-rw-r--r-- | homegear-gnutls.patch | 17 | ||||
-rw-r--r-- | homegear-php.patch | 37 | ||||
-rw-r--r-- | homegear-ssl-optional.patch | 22 | ||||
-rw-r--r-- | homegear.install | 37 | ||||
-rw-r--r-- | homegear.logrotate | 2 | ||||
-rw-r--r-- | homegear.service | 14 |
14 files changed, 293 insertions, 305 deletions
@@ -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 - @@ -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 |