aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2015-01-03 11:53:07 +0100
committerSteven Barth <steven@midlink.org>2015-01-03 11:53:07 +0100
commit2993533747d777bafa1c7f1f137c27824e50d06c (patch)
tree22672fb8c364ea8eab0fbfcb3a6edd73f3b40994
parent186706e9667fdf8ca808297616e3d00ce80c8439 (diff)
parent1a9bc1c43a78ec4c8cce1449f26d434a6aaf7b35 (diff)
Merge pull request #714 from tru7/net-linknx
linknx: new package
-rw-r--r--net/linknx/Makefile62
-rw-r--r--net/linknx/files/linknx.config8
-rw-r--r--net/linknx/files/linknx.init22
-rw-r--r--net/linknx/files/linknx.xml.dist16
4 files changed, 108 insertions, 0 deletions
diff --git a/net/linknx/Makefile b/net/linknx/Makefile
new file mode 100644
index 000000000..3c188580d
--- /dev/null
+++ b/net/linknx/Makefile
@@ -0,0 +1,62 @@
+#
+# Copyright (C) 2008-2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=linknx
+PKG_VERSION:=0.0.1.32
+PKG_RELEASE:=1
+PKG_MD5SUM:=7ecc1208f59bceb05068c752b2250b63
+
+PKG_MAINTAINER:=Othmar Truniger <tru7@users.noreply.github.com>
+PKG_LICENSE:=GPL-2.0+
+
+PKG_SOURCE_URL:=@SF/linknx
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+PKG_BUILD_DEPENDS:=pthsem curl libesmtp
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+include $(INCLUDE_DIR)/package.mk
+
+define Package/linknx
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=KNX home automation platform
+ URL:=http://sourceforge.net/projects/linknx/
+ DEPENDS:=pthsem +lua +luac +libstdcpp +libcurl +libesmtp
+endef
+
+define Build/Configure
+ (cd $(PKG_BUILD_DIR); touch aclocal.m4 Makefile.in config.h.in configure; \
+ $(SED) 's,\"2.0.4\",\"2.0.4\"\n_pth_version=\"2.0.8\",g' $(PKG_BUILD_DIR)/configure )
+ $(call Build/Configure/Default,--verbose --without-pth-test --with-pth=$(STAGING_DIR) --without-log4cpp --with-lua --with-libcurl --without-mysql, \
+ CXXFLAGS="$(TARGET_CFLAGS) -fno-builtin -lcrypt" \
+ )
+endef
+
+define Build/Compile
+ $(MAKE) -C $(PKG_BUILD_DIR)/ \
+ LIBDIR="$(TARGET_LDFLAGS)" \
+ CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) " \
+ LD="$(TARGET_CROSS)ld -shared" \
+ LUA="$(STAGING_DIR_HOST)/bin/lua" \
+ LUAC="$(STAGING_DIR_HOST)/bin/luac" \
+ CFLAGS="$(TARGET_CFLAGS) -nodefaultlibs" all
+endef
+
+define Package/linknx/install
+ mkdir -p $(1)/usr/bin
+ $(CP) $(PKG_BUILD_DIR)/src/linknx $(1)/usr/bin/
+ mkdir -p $(1)/etc/init.d
+ $(CP) ./files/linknx.init $(1)/etc/init.d/linknx
+ mkdir -p $(1)/etc/config
+ $(CP) ./files/linknx.config $(1)/etc/config/linknx
+ $(CP) ./files/linknx.xml.dist $(1)/etc/linknx.xml.dist
+endef
+
+$(eval $(call BuildPackage,linknx))
diff --git a/net/linknx/files/linknx.config b/net/linknx/files/linknx.config
new file mode 100644
index 000000000..be1161946
--- /dev/null
+++ b/net/linknx/files/linknx.config
@@ -0,0 +1,8 @@
+config daemon args
+ # daemon is started as 'linknx --config=$conf $options'
+ # use 'linknx --help' to get all possible options'
+ #
+ # typical example
+ option conf '/etc/linknx.xml'
+ option options '-w --daemon=/var/lib/linknx/linknx.log --pid-file=/var/run/linknx.log'
+
diff --git a/net/linknx/files/linknx.init b/net/linknx/files/linknx.init
new file mode 100644
index 000000000..574bf4197
--- /dev/null
+++ b/net/linknx/files/linknx.init
@@ -0,0 +1,22 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
+
+START=98
+STOP=10
+NAME=linknx
+PROG=/usr/bin/$NAME
+
+. /lib/functions.sh
+
+start() {
+ local conf options
+ config_load "$NAME"
+ config_get conf args conf '/etc/linknx.xml'
+ config_get options args options ''
+ test -f $conf || cp -p /etc/linknx.xml.dist $conf
+ service_start $PROG --config=$conf $options
+}
+
+stop() {
+ service_stop $PROG
+}
diff --git a/net/linknx/files/linknx.xml.dist b/net/linknx/files/linknx.xml.dist
new file mode 100644
index 000000000..cb5073d9d
--- /dev/null
+++ b/net/linknx/files/linknx.xml.dist
@@ -0,0 +1,16 @@
+<config>
+ <objects>
+ </objects>
+
+ <rules>
+ </rules>
+
+ <services>
+ <xmlserver type="inet" port="1028"/>
+ <knxconnection url="ip:localhost"/>
+ <persistence type="file" path="/var/lib/linknx/persist"/>
+ <emailserver type="smtp" host="localhost:25" from="linknx@local.local" />
+ </services>
+ <logging format="basic" level="INFO" />
+
+</config>