From 4988cbc735131ea90af79019190cd1f9b5ee2db2 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Fri, 28 Feb 2014 18:09:15 +0100 Subject: [PATCH] hnetd: add hnetd package --- hnetd/Makefile | 80 ++++++++++++++++++++++++++++++++++++++ hnetd/files/hnetd.defaults | 6 +++ hnetd/files/hnetd.init | 42 ++++++++++++++++++++ hnetd/files/ohp-script | 48 +++++++++++++++++++++++ 4 files changed, 176 insertions(+) create mode 100644 hnetd/Makefile create mode 100644 hnetd/files/hnetd.defaults create mode 100644 hnetd/files/hnetd.init create mode 100644 hnetd/files/ohp-script diff --git a/hnetd/Makefile b/hnetd/Makefile new file mode 100644 index 0000000..0e89a25 --- /dev/null +++ b/hnetd/Makefile @@ -0,0 +1,80 @@ +# +# Copyright (C) 2012-2013 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:=hnetd +PKG_SOURCE_VERSION:=f733b81679ac3d0fb8157a9056afe55854a1c956 +PKG_VERSION:=2014-02-28-$(PKG_SOURCE_VERSION) +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=git://github.com/sbyx/hnetd.git +PKG_MAINTAINER:=Steven Barth + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +# Spammy debug builds for now +CMAKE_OPTIONS += -DL_LEVEL=7 + +# OpenWRT target +CMAKE_OPTIONS += -DBACKEND=openwrt + +define Package/hnetd + SECTION:=net + CATEGORY:=Network + TITLE:=HNCP Homenet daemon + URL:=https://github.com/sbyx/hnetd + DEPENDS:=+odhcpd +odhcp6c +netifd + DEPENDS+=+@IPV6 +endef + +define Package/hnet-full + SECTION:=net + CATEGORY:=Network + TITLE:=HNCP Homenet metapackage (hnetd + ohybridproxy + babels) + URL:=https://github.com/sbyx/hnetd + DEPENDS:=+odhcpd +odhcp6c +netifd +hnetd +ohybridproxy +babels + DEPENDS+=+@IPV6 +endef + +define Package/hnetd/description +This package provides a daemon which implementats distributed prefix assignment +and service discovery for a home network consisting of multiple routers +connected to multiple service providers. It provides a netifd protocol "hnet" +for use in /etc/config/network. +endef + +define Package/hnetd/install + $(INSTALL_DIR) $(1)/usr/sbin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/hnetd $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/lib/netifd/proto + $(INSTALL_BIN) $(PKG_BUILD_DIR)/openwrt/hnet.sh $(1)/lib/netifd/proto + ln -s hnetd $(1)/usr/sbin/hnet-call + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/hnetd.init $(1)/etc/init.d/hnetd + $(INSTALL_BIN) ./files/ohp-script $(1)/usr/sbin/hnetd-ohp-script + $(INSTALL_BIN) $(PKG_BUILD_DIR)/generic/hnetd-routing $(1)/usr/sbin/hnetd-routing + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_BIN) ./files/hnetd.defaults $(1)/etc/uci-defaults/x-hnetd.defaults +endef + +define Package/hnet-full/install + true +endef + +define Package/hnetd/postinst +#!/bin/sh +[ -n "$${IPKG_INSTROOT}" ] || (. /etc/uci-defaults/x-hnetd.defaults) && rm -f /etc/uci-defaults/x-hnetd.defaults +exit 0 +endef + +$(eval $(call BuildPackage,hnetd)) +$(eval $(call BuildPackage,hnet-full)) diff --git a/hnetd/files/hnetd.defaults b/hnetd/files/hnetd.defaults new file mode 100644 index 0000000..85c8cb2 --- /dev/null +++ b/hnetd/files/hnetd.defaults @@ -0,0 +1,6 @@ +#!/bin/sh + +uci batch < +# +# Copyright (c) 2014 cisco Systems, Inc. +# +# Created: Fri Jan 17 11:46:30 2014 mstenber +# Last modified: Mon Feb 3 14:39:15 2014 mstenber +# Edit time: 15 min +# + +# This is minimalist init.d-like start/stop script for +# ohybridproxy. However, as ohybridproxy receives it's configuration +# via command line, the 'start' command is also equivalent to +# 'restart', and has bunch of extra arguments.. + +OHP=ohybridproxy + +start() { + $OHP $* & +} + +stop() { + killall -9 $OHP +} + + +CMD=$1 +# For debugging purposes +LOGNAME=`basename $0` +echo "$*" | logger -t "$LOGNAME" +case $CMD in + start) + shift + stop + start $* + ;; + stop) + stop + ;; + *) + echo "Only start [config]/stop supported" + exit 1 + ;; +esac -- 2.30.2