From: Nicolas Thill Date: Fri, 4 Nov 2011 22:12:42 +0000 (+0000) Subject: packages/restund: update to 0.3.0 (thanks to Alfred E. Heggestad), make it modular... X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e69ab2da578209e02ebd2e84239a9dd48246afa7;p=openwrt%2Fsvn-archive%2Fpackages.git packages/restund: update to 0.3.0 (thanks to Alfred E. Heggestad), make it modular, use start-stop-daemon SVN-Revision: 28757 --- diff --git a/net/restund/Makefile b/net/restund/Makefile index cf82a43e6..656adfa82 100644 --- a/net/restund/Makefile +++ b/net/restund/Makefile @@ -1,54 +1,114 @@ -# -# Makefile -# +# +# Copyright (C) 2010-2011 OpenWrt.org # Copyright (C) 2010 Alfred E. Heggestad # +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# include $(TOPDIR)/rules.mk PKG_NAME:=restund -PKG_VERSION:=0.2.0 +PKG_VERSION:=0.3.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.creytiv.com/pub/ -PKG_MD5SUM:=b8fa2ab40d7952fd78c5d72ab1742232 +PKG_MD5SUM:=e82bdb994b26b8c16d799b3dc8dd0008 + +restund-mods:= \ + mysql \ + +PKG_CONFIG_DEPENDS:= \ + $(patsubst %,CONFIG_PACKAGE_restund-mod-%,$(restund-mods)) \ include $(INCLUDE_DIR)/package.mk -define Package/restund +define Package/restund/Default SECTION:=net CATEGORY:=Network - DEPENDS:=+libre @BROKEN - TITLE:=libre stun server + SUBMENU:=Telephony URL:=http://www.creytiv.com/ endef -#PKG_MAKE_OPTS += USE_MYSQL= +define Package/restund +$(call Package/restund/Default) + TITLE:=Modular STUN/TURN server + DEPENDS:=+libre +libpthread +endef + + +restund-mod-mysql := USE_MYSQL + +RESTUND_MOD_OPTIONS:= \ + $(foreach m,$(restund-mods),$(restund-mod-$(m))=$(if $(CONFIG_PACKAGE_restund-mod-$(m)),1)) define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) \ - LIBRE_MK=$(STAGING_DIR)/usr/share/re/re.mk \ - LIBRE_INC=$(STAGING_DIR)/usr/include/re \ + LIBRE_MK="$(STAGING_DIR)/usr/share/re/re.mk" \ + LIBRE_INC="$(STAGING_DIR)/usr/include/re" \ + LIBRE_SO="$(STAGING_DIR)/usr/lib" \ CC="$(TARGET_CC)" \ - CFLAGS="$(TARGET_CFLAGS)" \ + EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ DESTDIR="$(PKG_INSTALL_DIR)" \ - $(PKG_MAKE_OPTS) \ SYSROOT="$(TOOLCHAIN_DIR)" \ SYSROOT_ALT="$(STAGING_DIR)/usr" \ RELEASE=1 \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + OS="linux" \ + $(RESTUND_MOD_OPTIONS) \ all install endef define Package/restund/install $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/restund $(1)/usr/sbin/ - $(INSTALL_DIR) $(1)/usr/lib/$(PKG_NAME)/modules - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)/modules/*.so $(1)/usr/lib/$(PKG_NAME)/modules/. + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/restund $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/usr/lib/restund/modules + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/restund/modules/auth.so \ + $(PKG_INSTALL_DIR)/usr/lib/restund/modules/binding.so \ + $(PKG_INSTALL_DIR)/usr/lib/restund/modules/stat.so \ + $(PKG_INSTALL_DIR)/usr/lib/restund/modules/status.so \ + $(PKG_INSTALL_DIR)/usr/lib/restund/modules/syslog.so \ + $(PKG_INSTALL_DIR)/usr/lib/restund/modules/turn.so \ + $(1)/usr/lib/restund/modules/ $(INSTALL_DIR) $(1)/etc $(INSTALL_CONF) $(PKG_BUILD_DIR)/etc/restund.conf $(1)/etc/ + $(SED) \ + 's|^\(module_path\)\([ \t]\+\).*$$$$|\1\2/usr/lib/restund/modules|g' \ + $(1)/etc/restund.conf $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/restund.init $(1)/etc/init.d/restund endef + +# +# 1. Name +# 2. Title +# 3. Files +# 4. Depends +# +define BuildPlugin + + define Package/restund-mod-$(1) + $$(call Package/restund/Default) + TITLE:= restund $(2) module + DEPENDS:= restund $(4) + endef + + define Package/restund-mod-$(1)/install + [ -z "$(3)" ] || $(INSTALL_DIR) $$(1)/usr/lib/restund/modules + for f in $(3); do \ + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/restund/modules/$$$$$$$${f}.so \ + $$(1)/usr/lib/restund/modules/ ; \ + done + endef + + $$(eval $$(call BuildPackage,restund-mod-$(1))) +endef + + $(eval $(call BuildPackage,restund)) + +$(eval $(call BuildPlugin,mysql,MySQL database backend,mysql_ser,+PACKAGE_restund-mod-mysql:libmysqlclient)) diff --git a/net/restund/files/restund.init b/net/restund/files/restund.init index 85246b9f6..2374a2795 100644 --- a/net/restund/files/restund.init +++ b/net/restund/files/restund.init @@ -1,18 +1,17 @@ #!/bin/sh /etc/rc.common # +# Copyright (C) 2010-2011 OpenWrt.org # Copyright (C) 2010 Alfred E. Heggestad # START=60 BIN=restund -DEFAULT=/etc/default/$BIN OPTIONS= start() { - [ -f $DEFAULT ] && . $DEFAULT - $BIN $OPTIONS + start-stop-daemon -S -q -x $BIN -- $OPTIONS } stop() { - killall $BIN + start-stop-daemon -K -q -x $BIN } diff --git a/net/restund/patches/101-cross.patch b/net/restund/patches/101-cross.patch new file mode 100644 index 000000000..1934a131a --- /dev/null +++ b/net/restund/patches/101-cross.patch @@ -0,0 +1,38 @@ +--- a/Makefile ++++ b/Makefile +@@ -18,6 +18,7 @@ VERSION := $(VER_MAJOR).$(VER_MINOR).$ + MODULES := binding auth turn stat status + MODULES += $(EXTRA_MODULES) + ++ifndef LIBRE_MK + LIBRE_MK := $(shell [ -f ../re/mk/re.mk ] && \ + echo "../re/mk/re.mk") + ifeq ($(LIBRE_MK),) +@@ -28,19 +29,27 @@ ifeq ($(LIBRE_MK),) + LIBRE_MK := $(shell [ -f /usr/local/share/re/re.mk ] && \ + echo "/usr/local/share/re/re.mk") + endif ++endif + + include $(LIBRE_MK) + + # Optional syslog module ++ifndef USE_SYSLOG + ifneq ($(OS),win32) ++USE_SYSLOG := 1 ++endif ++endif ++ifneq ($(USE_SYSLOG),) + MODULES += syslog + endif + + # Optional MySQL client module ++ifndef USE_MYSQL + USE_MYSQL := $(shell [ -f $(SYSROOT)/include/mysql/mysql.h ] || \ + [ -f $(SYSROOT)/local/include/mysql/mysql.h ] || \ + [ -f $(SYSROOT_ALT)/include/mysql/mysql.h ] || \ + [ -f $(SYSROOT_ALT)/include/mysql5/mysql/mysql.h ] && echo "1") ++endif + ifneq ($(USE_MYSQL),) + MODULES += mysql_ser + endif