summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Hicken2016-08-16 14:29:10 +0200
committerJan Hicken2016-08-16 14:36:49 +0200
commitcf573a5f008e6dbbf176186536b5b5840d279311 (patch)
treee1ed726b39c25c6fd1587b5884d32d74e19da640
parentb12674073935f55aeca331845cd4b7d70a51a976 (diff)
downloadaur-cf573a5f008e6dbbf176186536b5b5840d279311.tar.gz
Update to v5.7, distribute files across file system.
- Main perl script: /usr/bin/perl.pl - State files and logs: /var/lib/fhem - Modules and www: /usr/share/fhem - Added fhem user and put into group tty for serial communication
-rw-r--r--.SRCINFO25
-rw-r--r--.gitignore12
-rw-r--r--PKGBUILD58
-rw-r--r--fhem.install15
-rw-r--r--fhem.service6
-rw-r--r--sysusers.conf2
-rw-r--r--tmpfiles.conf1
7 files changed, 98 insertions, 21 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2e6c022c24a2..de3ac6275dcf 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,31 @@
+# Generated by mksrcinfo v8
+# Tue Aug 16 12:36:49 UTC 2016
pkgbase = fhem
pkgdesc = A perl server for house automation
- pkgver = 5.6
+ pkgver = 5.7
pkgrel = 1
url = http://fhem.de
+ install = fhem.install
arch = any
license = GPL
depends = perl
- backup = opt/fhem/fhem.cfg
- source = http://fhem.de/fhem-5.6.tar.gz
+ depends = perl-io-socket-ssl
+ depends = perl-json
+ depends = perl-libwww
+ depends = perl-xml-simple
+ depends = perl-xml-libxml
+ optdepends = perl-device-serialport: Communication through serial port
+ optdepends = perl-net-telnte: Telnet support
+ optdepends = perl-net-snmp: SNMP support
+ backup = etc/fhem.cfg
+ source = http://fhem.de/fhem-5.7.tar.gz
source = fhem.service
- sha256sums = 19cb2d939bc76524c232ea619b27f25f262109c9b351bd9b83411d6886be4ba9
- sha256sums = 999335174932e30ac5d4ee80fb74a576ff76dbb52d64704f6f7240c58b19a697
+ source = sysusers.conf
+ source = tmpfiles.conf
+ sha256sums = 179fd251edb0bc7dbd775d7d6597fcfe7df88c2f7b39c5bbecf17defaa6b9539
+ sha256sums = 7adaffd1036198c8f942a7cbcdc187ba59557eccdfcd19aa28ed5f578810ce14
+ sha256sums = 79c1235e00e7159622fe42d5963a87ed9c7f5ba677ee3e3e469ee271de0025c3
+ sha256sums = 216cbb566c38b893f7036e8e32997a3595c1cf618688be00371d9d49f715a2bd
pkgname = fhem
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..d5fde1b1b4a1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,12 @@
+# makepkg folders
+src/
+pkg/
+
+# built packages
+*.tar
+*.tar.sig
+*.tar.xz
+*.tar.xz.sig
+
+# sources
+*.tar.gz
diff --git a/PKGBUILD b/PKGBUILD
index 81ab4d616e41..617f96199658 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,25 +1,59 @@
-# Maintainer: Robert Knauer <robert@privatdemail.net>
+# Maintainer: Jan Hicken <firstname [dot] lastname [at] posteo [dot] de>
+# Former maintainer: Robert Knauer <robert@privatdemail.net>
pkgname=fhem
-pkgver=5.6
+pkgver=5.7
pkgrel=1
pkgdesc="A perl server for house automation"
arch=('any')
-url="http://fhem.de"
+url='http://fhem.de'
license=('GPL')
-depends=('perl')
-backup=('opt/fhem/fhem.cfg')
+depends=('perl' 'perl-io-socket-ssl' 'perl-json' 'perl-libwww' 'perl-xml-simple' 'perl-xml-libxml')
+optdepends=('perl-device-serialport: Communication through serial port'
+ 'perl-net-telnte: Telnet support'
+ 'perl-net-snmp: SNMP support')
+backup=('etc/fhem.cfg')
+install="${pkgname}.install"
source=(
"http://fhem.de/${pkgname}-${pkgver}.tar.gz"
'fhem.service'
+ 'sysusers.conf'
+ 'tmpfiles.conf'
)
-sha256sums=(
- '19cb2d939bc76524c232ea619b27f25f262109c9b351bd9b83411d6886be4ba9'
- '999335174932e30ac5d4ee80fb74a576ff76dbb52d64704f6f7240c58b19a697'
-)
+sha256sums=('179fd251edb0bc7dbd775d7d6597fcfe7df88c2f7b39c5bbecf17defaa6b9539'
+ '7adaffd1036198c8f942a7cbcdc187ba59557eccdfcd19aa28ed5f578810ce14'
+ '79c1235e00e7159622fe42d5963a87ed9c7f5ba677ee3e3e469ee271de0025c3'
+ '216cbb566c38b893f7036e8e32997a3595c1cf618688be00371d9d49f715a2bd')
+
+prepare() {
+ cd "${pkgname}-${pkgver}"
+
+ # Fix path setup in Makefile
+ sed -i 's|^RELATIVE_PATH=YES|RELATIVE_PATH=NO|' Makefile
+ sed -i 's|^BINDIR=.*|BINDIR=/usr/bin|' Makefile
+ sed -i 's|^MODDIR=.*|MODDIR=/usr/share/fhem|' Makefile
+ sed -i 's|^VARDIR=.*|VARDIR=/var/lib/fhem|' Makefile
+ sed -i 's|^MANDIR=.*|MANDIR=/usr/share/man/man1|' Makefile
+ sed -i 's|^ETCDIR=.*|ETCDIR=/etc|' Makefile
+ sed -i 's|^DEMODIR=.*|DEMODIR=/usr/share/fhem|' Makefile
+}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make ROOT="${pkgdir}/" install
- install -Dm 644 "${srcdir}/fhem.service" "${pkgdir}/usr/lib/systemd/system/fhem.service"
+ install -Dm 0644 fhem.service "${pkgdir}/usr/lib/systemd/system/fhem.service"
+ install -Dm 0644 sysusers.conf "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+ install -Dm 0644 tmpfiles.conf "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+
+ cd "${pkgname}-${pkgver}"
+ make ROOT="${pkgdir}" install
+
+ # Remove unnecessary stuff
+ rm -r "${pkgdir}/usr/share/fhem/contrib/DEBIAN"
+ rm -r "${pkgdir}/usr/share/fhem/contrib/FB7270"
+ rm -r "${pkgdir}/usr/share/fhem/contrib/FB7390"
+ rm -r "${pkgdir}/usr/share/fhem/contrib/init-scripts"
+ rm -r "${pkgdir}/usr/share/fhem/contrib/lcd4linux"
+ rm -r "${pkgdir}/usr/share/fhem/contrib/PRESENCE/deb"
+ rm -r "${pkgdir}/usr/share/fhem/contrib/RaspberryPi"
+ rm -r "${pkgdir}/usr/share/fhem/contrib/Synology"
+ rmdir --ignore-fail-on-non-empty --parents "${pkgdir}/var/lib/fhem"
}
diff --git a/fhem.install b/fhem.install
new file mode 100644
index 000000000000..59a3577a84cf
--- /dev/null
+++ b/fhem.install
@@ -0,0 +1,15 @@
+pkgname='fhem'
+
+post_install() {
+ systemd-sysusers $pkgname.conf
+ systemd-tmpfiles --create $pkgname.conf
+}
+
+post_upgrade() {
+ if [[ -e /opt/fhem/fhem.cfg ]]; then
+ echo "Found config from previous version, copying /opt/fhem/fhem.cfg to /etc/fhem.cfg"
+ cp /opt/fhem/fhem.cfg /etc/fhem.cfg
+ fi
+
+ systemctl daemon-reload
+}
diff --git a/fhem.service b/fhem.service
index 458259886abd..12503db20dac 100644
--- a/fhem.service
+++ b/fhem.service
@@ -3,11 +3,9 @@ Description=FHEM Perl Server
After=syslog.target network.target
[Service]
-Type=oneshot
-RemainAfterExit=yes
+Type=forking
User=fhem
-WorkingDirectory=/opt/fhem
-ExecStart=/usr/bin/perl fhem.pl fhem.cfg
+ExecStart=/usr/bin/fhem.pl /etc/fhem.cfg
[Install]
WantedBy=multi-user.target
diff --git a/sysusers.conf b/sysusers.conf
new file mode 100644
index 000000000000..9edd97a6910a
--- /dev/null
+++ b/sysusers.conf
@@ -0,0 +1,2 @@
+u fhem - "FHEM" /var/lib/fhem
+m fhem tty
diff --git a/tmpfiles.conf b/tmpfiles.conf
new file mode 100644
index 000000000000..d4f05a531c87
--- /dev/null
+++ b/tmpfiles.conf
@@ -0,0 +1 @@
+d /var/lib/fhem 0700 fhem fhem -