summaryrefslogtreecommitdiff
path: root/openwrt/rhctl
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/rhctl')
-rw-r--r--openwrt/rhctl/Makefile73
-rwxr-xr-xopenwrt/rhctl/files/rhctlsh6
-rw-r--r--openwrt/rhctl/files/switchctl.conf6
-rwxr-xr-xopenwrt/rhctl/files/switchctl.init26
4 files changed, 111 insertions, 0 deletions
diff --git a/openwrt/rhctl/Makefile b/openwrt/rhctl/Makefile
new file mode 100644
index 0000000..051a0ca
--- /dev/null
+++ b/openwrt/rhctl/Makefile
@@ -0,0 +1,73 @@
+#
+# Copyright (C) 2008 Christian Pointner,
+# <equinox@helsinki.at>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# This Makefile builds rhctl Package for OpenWRT
+#
+# $Id: $
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=rhctl
+PKG_VERSION:=0.1
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://localhost/
+PKG_MD5SUM:=72255c3437630155453616ba18d8fb25
+
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/rhctl
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=radio helsinki control tools
+ URL:=http://www.helsinki.at
+ MAINTAINER:=Christian Pointner <equinox@helsinki.at>
+ DEPENDS:=+socat
+endef
+
+define Package/rhctl/conffiles
+/etc/rhctl/switchctl.conf
+endef
+
+define Package/rhctl/description
+rhctl is a collection of daemons and tools intended to control the
+ main audio switch of Radio Helsinki.
+endef
+
+define Build/Configure
+ (cd $(PKG_BUILD_DIR); \
+ touch include.mk; \
+ )
+endef
+
+define Build/Compile
+ rm -rf $(PKG_INSTALL_DIR)
+ mkdir -p $(PKG_INSTALL_DIR)
+
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ $(TARGET_CONFIGURE_OPTS) \
+ TARGET=Linux \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS) -ldl"
+ $(STRIP) $(PKG_BUILD_DIR)/switchctl
+endef
+
+define Package/rhctl/install
+ $(INSTALL_DIR) $(1)/etc/rhctl
+ $(INSTALL_DATA) ./files/switchctl.conf $(1)/etc/rhctl/
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/switchctl $(1)/usr/bin/
+ $(INSTALL_BIN) ./files/rhctlsh $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/switchctl.init $(1)/etc/init.d/switchctl
+endef
+
+$(eval $(call BuildPackage,rhctl))
diff --git a/openwrt/rhctl/files/rhctlsh b/openwrt/rhctl/files/rhctlsh
new file mode 100755
index 0000000..47d5873
--- /dev/null
+++ b/openwrt/rhctl/files/rhctlsh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+RUN_D=/var/run/rhctl
+SOCK=$RUN_D/switchctl.sock
+
+/usr/bin/socat UNIX-CONNECT:$SOCK STDIO
diff --git a/openwrt/rhctl/files/switchctl.conf b/openwrt/rhctl/files/switchctl.conf
new file mode 100644
index 0000000..0364e0d
--- /dev/null
+++ b/openwrt/rhctl/files/switchctl.conf
@@ -0,0 +1,6 @@
+master_main 01
+master_music 02
+standby_main 03
+standby_music 04
+studio 05
+ext_studio 06
diff --git a/openwrt/rhctl/files/switchctl.init b/openwrt/rhctl/files/switchctl.init
new file mode 100755
index 0000000..c463f40
--- /dev/null
+++ b/openwrt/rhctl/files/switchctl.init
@@ -0,0 +1,26 @@
+#!/bin/sh /etc/rc.common
+START=50
+
+BIN=switchctl
+DAEMON=/usr/bin/$BIN
+DESC=$BIN
+RUN_D=/var/run/rhctl
+PIDFILE=$RUN_D/$BIN.pid
+
+start() {
+ echo -n "Starting $DESC:"
+ mkdir -p $RUN_D
+ $DAEMON --write-pid $PIDFILE
+ echo "."
+}
+
+stop() {
+ echo -n "Stopping $DESC:"
+ if [ -f $PIDFILE ]; then
+ kill `cat $PIDFILE` > /dev/null 2>&1
+ rm -f $PIDFILE > /dev/null 2>&1
+ else
+ echo -n "not running"
+ fi
+ echo "."
+}