From c6bbc6d4ca942d3cf6a6045966e66c1b59a4a271 Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 21 May 2015 16:18:20 +0000 Subject: Initial code import. --- PKGBUILD | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ eibd.conf | 2 ++ eibd.patch | 25 ++++++++++++++++++++++++ eibd.service | 12 ++++++++++++ eibd.socket | 8 ++++++++ 5 files changed, 110 insertions(+) create mode 100644 PKGBUILD create mode 100644 eibd.conf create mode 100644 eibd.patch create mode 100644 eibd.service create mode 100644 eibd.socket diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..9c8faa6 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer: Sven Fischer +# Contributor: Thijs Vermeir + +pkgbase=('bcusdk') +pkgname=('eibd') +pkgver=0.0.5 +pkgrel=6 +pkgdesc="A free development environment for BCU1 and BCU2" +arch=('i686' 'x86_64' 'arm' 'armv7h') +url="http://www.auto.tuwien.ac.at/~mkoegler/index.php/bcusdk" +license=('GPL') +depends=('pthsem>=2.0.8' 'gcc-libs-multilib') +options=('!libtool') +source=(http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_${pkgver}.tar.gz + eibd.patch eibd.socket eibd.service eibd.conf) +md5sums=('5f81bc4e6bb53564573d573e795a9a5f' + 'b9e50d68138fb74a4d0f6370a720d8fe' + '82e079c823fa226146ba49b47c76bab7' + '9919fe034fb3f3b1ad8c45a9daef0dde' + '815323eebff8bc442c1e653a34e6b0b4') + +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + patch -p1 -i ${srcdir}/eibd.patch +} + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --enable-onlyeibd \ + --enable-usb \ + --enable-ft12 \ + --enable-eibnetip \ + --enable-eibnetipserver \ + --enable-eibnetiptunnel + + cd "${srcdir}/${pkgbase}-${pkgver}/common" + make + + cd "${srcdir}/${pkgbase}-${pkgver}/eibd" + make +} + +package_eibd() { + pkgdesc="Daemon as interface to the EIB / KNX bus" + + install -Dm644 "${srcdir}/eibd.socket" $pkgdir/usr/lib/systemd/system/eibd.socket + install -Dm644 "${srcdir}/eibd.service" $pkgdir/usr/lib/systemd/system/eibd.service + install -Dm644 "${srcdir}/eibd.conf" $pkgdir/etc/conf.d/eibd.conf + + cd "${srcdir}/${pkgbase}-${pkgver}/eibd" + make DESTDIR="${pkgdir}" install + + cd "${srcdir}/${pkgbase}-${pkgver}/common" + make DESTDIR="${pkgdir}" install + + #cd ${pkgdir} + #rm -rf usr/share + #cd usr/bin + #rm -rf `ls | grep -v eib` +} diff --git a/eibd.conf b/eibd.conf new file mode 100644 index 0000000..82d7147 --- /dev/null +++ b/eibd.conf @@ -0,0 +1,2 @@ +# Option file for eibd +EIBD_OPTS="-D -T -S -i " diff --git a/eibd.patch b/eibd.patch new file mode 100644 index 0000000..daa9eb7 --- /dev/null +++ b/eibd.patch @@ -0,0 +1,25 @@ +diff -rupN bcusdk-0.0.5.orig/eibd/server/eibd.cpp bcusdk-0.0.5/eibd/server/eibd.cpp +--- bcusdk-0.0.5.orig/eibd/server/eibd.cpp 2011-02-27 19:57:20.000000000 +0100 ++++ bcusdk-0.0.5/eibd/server/eibd.cpp 2014-02-25 18:21:56.199884864 +0100 +@@ -358,7 +358,7 @@ main (int ac, char *ag[]) + } + + l2 = Create (ag[index], arg.backendflags, &t); +- if (!l2->init ()) ++ if (!l2 || !l2->init ()) + die ("initialisation of the backend failed"); + l3 = new Layer3 (l2, &t); + if (arg.port) +diff -rupN bcusdk-0.0.5.orig/eibd/usb/linux_usbfs.c bcusdk-0.0.5/eibd/usb/linux_usbfs.c +--- bcusdk-0.0.5.orig/eibd/usb/linux_usbfs.c 2011-01-26 11:50:08.000000000 +0100 ++++ bcusdk-0.0.5/eibd/usb/linux_usbfs.c 2014-02-25 18:23:21.549887409 +0100 +@@ -52,7 +52,8 @@ int pthread_mutex_trylock(pthread_mutex_ + return 0; + } + +-int clock_gettime(clockid_t clk_id, struct timespec *tp) ++#define clock_gettime(A,B) xclock_gettime(A, B) ++int xclock_gettime(clockid_t clk_id, struct timespec *tp) + { + pth_int_time (tp); + return 0; diff --git a/eibd.service b/eibd.service new file mode 100644 index 0000000..2ebff51 --- /dev/null +++ b/eibd.service @@ -0,0 +1,12 @@ +[Unit] +Description=EIB Daemon +After=network.target + +[Service] +EnvironmentFile=/etc/conf.d/eibd.conf +ExecStart=/usr/bin/eibd -d -p /run/eibd.pid $EIBD_OPTS +Type=forking +PIDFile=/run/eibd.pid + +[Install] +WantedBy=multi-user.target diff --git a/eibd.socket b/eibd.socket new file mode 100644 index 0000000..22831fe --- /dev/null +++ b/eibd.socket @@ -0,0 +1,8 @@ +[Unit] +Conflicts=eibd.service + +[Socket] +ListenDatagram=6720 + +[Install] +WantedBy=sockets.target -- cgit v1.2.3-70-g09d2 From 9d2fa3741d47ccaa8bbf54a4bedfd175953e0cdb Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 21 May 2015 16:19:35 +0000 Subject: Use general dependency `gcc-libs`. The previous use of `gcc-libs-multilib` made compilation on platforms other than x86_64 impossible, and seems to be unnecessary. --- PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PKGBUILD b/PKGBUILD index 9c8faa6..3d7ac10 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -9,7 +9,7 @@ pkgdesc="A free development environment for BCU1 and BCU2" arch=('i686' 'x86_64' 'arm' 'armv7h') url="http://www.auto.tuwien.ac.at/~mkoegler/index.php/bcusdk" license=('GPL') -depends=('pthsem>=2.0.8' 'gcc-libs-multilib') +depends=('pthsem>=2.0.8' 'gcc-libs') options=('!libtool') source=(http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_${pkgver}.tar.gz eibd.patch eibd.socket eibd.service eibd.conf) -- cgit v1.2.3-70-g09d2 From b1f505af1ef88d75a651b5fe5744bec327c60d8f Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 21 May 2015 16:30:01 +0000 Subject: Remove $pkgbase as we only build one package. Using a $pkgbase for just one package makes things unncessary complicated, and was probably just a relic from the past or too eager planning for the future. --- PKGBUILD | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index 3d7ac10..dc0f9cf 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,11 +1,11 @@ # Maintainer: Sven Fischer # Contributor: Thijs Vermeir -pkgbase=('bcusdk') -pkgname=('eibd') +pkgname=eibd +_pkgname=bcusdk pkgver=0.0.5 pkgrel=6 -pkgdesc="A free development environment for BCU1 and BCU2" +pkgdesc="Daemon as interface to the EIB / KNX bus" arch=('i686' 'x86_64' 'arm' 'armv7h') url="http://www.auto.tuwien.ac.at/~mkoegler/index.php/bcusdk" license=('GPL') @@ -20,12 +20,12 @@ md5sums=('5f81bc4e6bb53564573d573e795a9a5f' '815323eebff8bc442c1e653a34e6b0b4') prepare() { - cd "${srcdir}/${pkgbase}-${pkgver}" + cd "${srcdir}/${_pkgname}-${pkgver}" patch -p1 -i ${srcdir}/eibd.patch } build() { - cd "${srcdir}/${pkgbase}-${pkgver}" + cd "${srcdir}/${_pkgname}-${pkgver}" ./configure \ --prefix=/usr \ @@ -36,24 +36,22 @@ build() { --enable-eibnetipserver \ --enable-eibnetiptunnel - cd "${srcdir}/${pkgbase}-${pkgver}/common" + cd "${srcdir}/${_pkgname}-${pkgver}/common" make - cd "${srcdir}/${pkgbase}-${pkgver}/eibd" + cd "${srcdir}/${_pkgname}-${pkgver}/eibd" make } -package_eibd() { - pkgdesc="Daemon as interface to the EIB / KNX bus" - +package() { install -Dm644 "${srcdir}/eibd.socket" $pkgdir/usr/lib/systemd/system/eibd.socket install -Dm644 "${srcdir}/eibd.service" $pkgdir/usr/lib/systemd/system/eibd.service install -Dm644 "${srcdir}/eibd.conf" $pkgdir/etc/conf.d/eibd.conf - cd "${srcdir}/${pkgbase}-${pkgver}/eibd" + cd "${srcdir}/${_pkgname}-${pkgver}/eibd" make DESTDIR="${pkgdir}" install - cd "${srcdir}/${pkgbase}-${pkgver}/common" + cd "${srcdir}/${_pkgname}-${pkgver}/common" make DESTDIR="${pkgdir}" install #cd ${pkgdir} -- cgit v1.2.3-70-g09d2 From df7d2892bcb474f7973a5c7e7b5852f8659dc297 Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 21 May 2015 16:36:29 +0000 Subject: Small cleanup. --- PKGBUILD | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index dc0f9cf..e3b2fa2 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -12,7 +12,7 @@ license=('GPL') depends=('pthsem>=2.0.8' 'gcc-libs') options=('!libtool') source=(http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_${pkgver}.tar.gz - eibd.patch eibd.socket eibd.service eibd.conf) + eibd.patch eibd.socket eibd.service eibd.conf) md5sums=('5f81bc4e6bb53564573d573e795a9a5f' 'b9e50d68138fb74a4d0f6370a720d8fe' '82e079c823fa226146ba49b47c76bab7' @@ -44,18 +44,13 @@ build() { } package() { - install -Dm644 "${srcdir}/eibd.socket" $pkgdir/usr/lib/systemd/system/eibd.socket - install -Dm644 "${srcdir}/eibd.service" $pkgdir/usr/lib/systemd/system/eibd.service - install -Dm644 "${srcdir}/eibd.conf" $pkgdir/etc/conf.d/eibd.conf - - cd "${srcdir}/${_pkgname}-${pkgver}/eibd" - make DESTDIR="${pkgdir}" install + cd "${srcdir}" + install -Dm644 eibd.socket eibd.service -t "${pkgdir}/usr/lib/systemd/system" + install -Dm644 eibd.conf -t "${pkgdir}/etc/conf.d" cd "${srcdir}/${_pkgname}-${pkgver}/common" make DESTDIR="${pkgdir}" install - #cd ${pkgdir} - #rm -rf usr/share - #cd usr/bin - #rm -rf `ls | grep -v eib` + cd "${srcdir}/${_pkgname}-${pkgver}/eibd" + make DESTDIR="${pkgdir}" install } -- cgit v1.2.3-70-g09d2 From 0f273b1fad07dfb146e1094d79c22c86c39cb2ef Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 21 May 2015 16:53:04 +0000 Subject: Remove the `!libtool` option as it's the default. --- PKGBUILD | 1 - 1 file changed, 1 deletion(-) diff --git a/PKGBUILD b/PKGBUILD index e3b2fa2..4bd3cc0 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -10,7 +10,6 @@ arch=('i686' 'x86_64' 'arm' 'armv7h') url="http://www.auto.tuwien.ac.at/~mkoegler/index.php/bcusdk" license=('GPL') depends=('pthsem>=2.0.8' 'gcc-libs') -options=('!libtool') source=(http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_${pkgver}.tar.gz eibd.patch eibd.socket eibd.service eibd.conf) md5sums=('5f81bc4e6bb53564573d573e795a9a5f' -- cgit v1.2.3-70-g09d2 From 59add62d538d571b672baab4d6f4636ea17f598d Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 21 May 2015 17:17:09 +0000 Subject: Don't fork in systemd service. There is no reason to fork, as eibd doesn't insist on forking. --- PKGBUILD | 2 +- eibd.service | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index 4bd3cc0..86eaaa0 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -15,7 +15,7 @@ source=(http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_${pkgver}.tar.gz md5sums=('5f81bc4e6bb53564573d573e795a9a5f' 'b9e50d68138fb74a4d0f6370a720d8fe' '82e079c823fa226146ba49b47c76bab7' - '9919fe034fb3f3b1ad8c45a9daef0dde' + '84480896abe84911aa02fe623475f0aa' '815323eebff8bc442c1e653a34e6b0b4') prepare() { diff --git a/eibd.service b/eibd.service index 2ebff51..2ad47c0 100644 --- a/eibd.service +++ b/eibd.service @@ -4,9 +4,7 @@ After=network.target [Service] EnvironmentFile=/etc/conf.d/eibd.conf -ExecStart=/usr/bin/eibd -d -p /run/eibd.pid $EIBD_OPTS -Type=forking -PIDFile=/run/eibd.pid +ExecStart=/usr/bin/eibd $EIBD_OPTS [Install] WantedBy=multi-user.target -- cgit v1.2.3-70-g09d2 From 767c40b61d0d197c903f79cf37dd24fb499daa80 Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 21 May 2015 17:50:48 +0000 Subject: Don't run service as root. It's a really bad idea to run eibd as root, it even advocates so itself. This is especially bad as eibd is now officially unmaintained. So, don't run as root. --- PKGBUILD | 2 +- eibd.service | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/PKGBUILD b/PKGBUILD index 86eaaa0..101bf31 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -15,7 +15,7 @@ source=(http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_${pkgver}.tar.gz md5sums=('5f81bc4e6bb53564573d573e795a9a5f' 'b9e50d68138fb74a4d0f6370a720d8fe' '82e079c823fa226146ba49b47c76bab7' - '84480896abe84911aa02fe623475f0aa' + '6535a482ea51ff5f8d9abf3d560fca1a' '815323eebff8bc442c1e653a34e6b0b4') prepare() { diff --git a/eibd.service b/eibd.service index 2ad47c0..133a19e 100644 --- a/eibd.service +++ b/eibd.service @@ -3,6 +3,7 @@ Description=EIB Daemon After=network.target [Service] +User=daemon EnvironmentFile=/etc/conf.d/eibd.conf ExecStart=/usr/bin/eibd $EIBD_OPTS -- cgit v1.2.3-70-g09d2 From 712817025779e06ed3f1885c107ff63afd8e71b4 Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 21 May 2015 17:54:30 +0000 Subject: Bump $pkgrel. --- PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PKGBUILD b/PKGBUILD index 101bf31..7f6b56c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,7 +4,7 @@ pkgname=eibd _pkgname=bcusdk pkgver=0.0.5 -pkgrel=6 +pkgrel=7 pkgdesc="Daemon as interface to the EIB / KNX bus" arch=('i686' 'x86_64' 'arm' 'armv7h') url="http://www.auto.tuwien.ac.at/~mkoegler/index.php/bcusdk" -- cgit v1.2.3-70-g09d2