Преглед изворни кода

ola: Add an Open Lighting Architecture package.

The Open Lighting Architecture is a framework for lighting control information.
It supports a range of protocols and over a dozen USB devices. It can run as a
standalone service, which is useful for converting signals between protocols,
or alternatively using the OLA API, it can be used as the backend for lighting
control software. OLA runs on many different platforms including ARM, which
makes it a perfect fit for low cost Ethernet to DMX gateways.

Signed-off-by: Christian Beier <dontmind@freeshell.org>
Christian Beier пре 10 година
родитељ
комит
47c306512d
2 измењених фајлова са 143 додато и 0 уклоњено
  1. 128
    0
      net/ola/Makefile
  2. 15
    0
      net/ola/files/olad.init

+ 128
- 0
net/ola/Makefile Прегледај датотеку

@@ -0,0 +1,128 @@
1
+#
2
+# Copyright (C) 2006-2011 OpenWrt.org
3
+# Copyright (C) 2015 Christian Beier <dontmind@freeshell.org>
4
+#
5
+# This is free software, licensed under the GNU General Public License v2.
6
+# See /LICENSE for more information.
7
+#
8
+
9
+include $(TOPDIR)/rules.mk
10
+
11
+PKG_NAME:=ola
12
+PKG_VERSION:=0.9.3
13
+PKG_RELEASE:=1
14
+
15
+PKG_SOURCE_PROTO:=git
16
+PKG_SOURCE_URL:=git@github.com:OpenLightingProject/ola.git
17
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
18
+PKG_SOURCE_VERSION:=d949ab88ab2c12d4d94b50a0a0df633d634f08fd
19
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
20
+PKG_LICENSE:=LGPL-2.1+
21
+
22
+PKG_FIXUP:=libtool
23
+PKG_INSTALL:=1
24
+
25
+PKG_BUILD_PARALLEL:=1
26
+PKG_USE_MIPS16:=0
27
+
28
+PKG_BUILD_DEPENDS:=protobuf/host ola/host
29
+
30
+include $(INCLUDE_DIR)/package.mk
31
+
32
+
33
+define Package/ola
34
+  SECTION:=net
35
+  CATEGORY:=Network
36
+  TITLE:=Open Lighting Architecture Daemon
37
+  URL:=https://www.openlighting.org/
38
+  MAINTAINER:=Christian Beier <dontmind@freeshell.org>
39
+  DEPENDS:=+protobuf +libusb-1.0 +libuuid +libstdcpp +libpthread +librt +zlib +libncurses +sudo
40
+endef
41
+
42
+define Package/ola/description
43
+  OLA (Open Lighting Architecture) is a framework that allows applications to 
44
+  send and receive DMX512, using various hardware devices and 'DMX over IP'
45
+  protocols. It enables software controllers talk to DMX hardware.
46
+endef
47
+
48
+
49
+include $(INCLUDE_DIR)/host-build.mk
50
+
51
+# When building the host part, disable as much as possible to speed up
52
+# the configure step and avoid missing host dependencies.
53
+# Stolen from http://git.buildroot.net/buildroot/commit/?id=66056a5179ef49f2ec10ba5d7fbd1a58863d1350
54
+define Host/Configure
55
+   $(call Host/Configure/Default,\
56
+	--disable-all-plugins \
57
+	--disable-slp \
58
+	--disable-osc \
59
+	--disable-uart \
60
+	--disable-libusb \
61
+	--disable-libftdi \
62
+	--disable-http  \
63
+	--disable-examples \
64
+	--disable-unittests \
65
+	--disable-doxygen-html \
66
+	--disable-doxygen-doc)
67
+endef
68
+
69
+# only build the ola_protoc thingy
70
+define Host/Compile
71
+	cd $(HOST_BUILD_DIR); \
72
+	    $(MAKE) protoc/ola_protoc
73
+endef
74
+
75
+# only need ola_protoc
76
+define Host/Install
77
+	$(INSTALL_DIR) $(STAGING_DIR_HOST)/bin
78
+	$(CP) $(HOST_BUILD_DIR)/protoc/ola_protoc $(STAGING_DIR_HOST)/bin/
79
+endef
80
+
81
+$(eval $(call HostBuild))
82
+
83
+
84
+
85
+define Build/Configure
86
+  $(call Build/Configure/Default,\
87
+	--disable-dependency-tracking \
88
+	--disable-static \
89
+	--disable-fatal-warnings \
90
+	--disable-unittests \
91
+	--disable-http  \
92
+	--with-ola-protoc=$(STAGING_DIR_HOST)/bin/ola_protoc)
93
+endef
94
+
95
+
96
+define Build/InstallDev
97
+	mkdir -p $(1)/usr/include
98
+	$(CP) $(PKG_INSTALL_DIR)/usr/include/ola $(1)/usr/include/
99
+	mkdir -p $(1)/usr/include
100
+	$(CP) $(PKG_INSTALL_DIR)/usr/include/olad $(1)/usr/include/
101
+	mkdir -p $(1)/usr/lib
102
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
103
+endef
104
+
105
+define Package/ola/install
106
+	$(INSTALL_DIR) $(1)/usr/bin
107
+	$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
108
+	$(INSTALL_DIR) $(1)/usr/lib
109
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib
110
+	$(INSTALL_DIR) $(1)/etc/init.d
111
+	$(INSTALL_BIN) ./files/olad.init $(1)/etc/init.d/olad
112
+	$(INSTALL_DIR) $(1)/usr/share/ola/pids
113
+	$(CP) $(PKG_INSTALL_DIR)/usr/share/ola/pids/* $(1)/usr/share/ola/pids
114
+endef
115
+
116
+define Package/ola/postinst
117
+#!/bin/sh
118
+
119
+# make sure the conf dir exists and is writeable by the group olad uses
120
+mkdir -p /etc/ola
121
+chgrp nogroup /etc/ola
122
+chmod 775 $(1)/etc/ola
123
+
124
+exit 0
125
+endef
126
+
127
+
128
+$(eval $(call BuildPackage,ola))

+ 15
- 0
net/ola/files/olad.init Прегледај датотеку

@@ -0,0 +1,15 @@
1
+#!/bin/sh /etc/rc.common
2
+# Copyright (C) 2009-2011 OpenWrt.org
3
+# Copyright (C) 2015 Christian Beier <dontmind@freeshell.org>
4
+
5
+USE_PROCD=1
6
+
7
+START=90
8
+
9
+start_service() {
10
+    procd_open_instance
11
+    procd_set_param command sudo -u nobody /usr/bin/olad --syslog --log-level 3 --config-dir /etc/ola
12
+    procd_set_param respawn
13
+    procd_close_instance
14
+}
15
+