[PATCH 1/1] Temporarily added tunneldigger package as a fff package.

Tim Niemeyer tim at tn-x.org
Fr Nov 4 08:05:25 CET 2016


Hi

Und applied.

Danke!

Tim

Am Montag, den 31.10.2016, 19:21 +0100 schrieb Steffen Pankratz:
> Because we want to test this tunneldigger version in order to move on
> with https://github.com/wlanslovenija/firmware-packages-opkg/pull/10
> 
> Signed-off-by: Steffen Pankratz <kratz00 at gmx.de>
> ---
>  buildscript                                        |  7 +-
>  src/packages/fff/tunneldigger/Makefile             | 47 +++++++++++++
>  src/packages/fff/tunneldigger/files/config.default |  8 +++
>  .../fff/tunneldigger/files/tunneldigger.init       | 80 ++++++++++++++++++++++
>  4 files changed, 136 insertions(+), 6 deletions(-)
>  create mode 100644 src/packages/fff/tunneldigger/Makefile
>  create mode 100644 src/packages/fff/tunneldigger/files/config.default
>  create mode 100755 src/packages/fff/tunneldigger/files/tunneldigger.init
> 
> diff --git a/buildscript b/buildscript
> index 0205bd0..03c7d23 100755
> --- a/buildscript
> +++ b/buildscript
> @@ -39,15 +39,10 @@ ROUTING=(routing
>           e870c3373eea80df852d42fac3f40aaffd7a0f58)
>  ROUTING_PKGS="alfred"
>  
> -WLANSLOVENIJA=(wlanslovenija
> -       https://github.com/wlanslovenija/firmware-packages-opkg
> -       fec592e0540ef883bc8b27b77e7ff45d93ed3f24)
> -WLANSLOVENIJA_PKGS="tunneldigger"
> -
>  FFF=(fff)
>  FFF_PKGS="-a"
>  
> -FEEDS=(OPENWRT ROUTING GLUON WLANSLOVENIJA FFF)
> +FEEDS=(OPENWRT ROUTING GLUON FFF)
>  
>  checkout_git(){
>      local DIRECTORY=$1
> diff --git a/src/packages/fff/tunneldigger/Makefile b/src/packages/fff/tunneldigger/Makefile
> new file mode 100644
> index 0000000..a8838f1
> --- /dev/null
> +++ b/src/packages/fff/tunneldigger/Makefile
> @@ -0,0 +1,47 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=tunneldigger
> +PKG_VERSION:=0.4.5
> +PKG_RELEASE:=1
> +PKG_REV:=0bae1419da12de64d1c7571c5f6649d39d682052
> +
> +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
> +PKG_SOURCE_URL:=git://github.com/wlanslovenija/tunneldigger.git
> +PKG_SOURCE_PROTO:=git
> +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
> +PKG_SOURCE_VERSION:=$(PKG_REV)
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +define Package/tunneldigger
> +  SECTION:=net
> +  CATEGORY:=Network
> +  DEPENDS:=+libnl-tiny +kmod-l2tp +kmod-l2tp-ip +kmod-l2tp-eth +librt +libpthread
> +  TITLE:=tunneldigger
> +endef
> +
> +TARGET_CFLAGS += \
> +	-I$(STAGING_DIR)/usr/include/libnl-tiny \
> +	-I$(STAGING_DIR)/usr/include \
> +	-DLIBNL_TINY
> +
> +define Build/Prepare
> +	$(call Build/Prepare/Default)
> +	mv $(PKG_BUILD_DIR)/client/* $(PKG_BUILD_DIR)
> +	sed -i s/-lnl/-lnl-tiny/g $(PKG_BUILD_DIR)/Makefile
> +endef
> +
> +define Package/tunneldigger/install
> +	$(INSTALL_DIR) $(1)/usr/bin
> +	$(INSTALL_BIN) $(PKG_BUILD_DIR)/l2tp_client $(1)/usr/bin/tunneldigger
> +	$(INSTALL_DIR) $(1)/etc/init.d
> +	$(INSTALL_BIN) ./files/tunneldigger.init $(1)/etc/init.d/tunneldigger
> +	$(INSTALL_DIR) $(1)/etc/config
> +	$(INSTALL_DATA) ./files/config.default $(1)/etc/config/tunneldigger
> +endef
> +
> +define Package/tunneldigger/conffiles
> +/etc/config/tunneldigger
> +endef
> +
> +$(eval $(call BuildPackage,tunneldigger))
> diff --git a/src/packages/fff/tunneldigger/files/config.default b/src/packages/fff/tunneldigger/files/config.default
> new file mode 100644
> index 0000000..571621a
> --- /dev/null
> +++ b/src/packages/fff/tunneldigger/files/config.default
> @@ -0,0 +1,8 @@
> +config broker
> +	list address 'x.y.z.w:8942'
> +	list address 'x.y.z.w:53'
> +	list address 'x.y.z.w:123'
> +	option uuid 'abcd'
> +	option interface 'l2tp0'
> +	option limit_bw_down '1024'
> +	option enabled '0'
> diff --git a/src/packages/fff/tunneldigger/files/tunneldigger.init b/src/packages/fff/tunneldigger/files/tunneldigger.init
> new file mode 100755
> index 0000000..875ecba
> --- /dev/null
> +++ b/src/packages/fff/tunneldigger/files/tunneldigger.init
> @@ -0,0 +1,80 @@
> +#!/bin/sh /etc/rc.common
> +
> +. $IPKG_INSTROOT/lib/functions/network.sh
> +
> +START=90
> +
> +PIDPATH=/var/run
> +tunnel_id=1
> +
> +missing() {
> +	echo "Not starting tunneldigger - missing $1" >&2
> +}
> +
> +config_cb() {
> +	local cfg="$CONFIG_SECTION"
> +	config_get configname "$cfg" TYPE
> +	case "$configname" in
> +		broker)
> +			config_get_bool enabled "$cfg" enabled 1
> +			config_get addresses "$cfg" address
> +			config_get uuid "$cfg" uuid
> +			config_get interface "$cfg" interface
> +			config_get limit_bw_down "$cfg" limit_bw_down
> +			config_get hook_script "$cfg" hook_script
> +			config_get bind_interface "$cfg" bind_interface
> +
> +			[ $enabled -eq 0 ] && return
> +
> +			local broker_opts=""
> +			for address in $addresses; do
> +			  append broker_opts "-b ${address}"
> +			done
> +
> +			[ ! -z "${limit_bw_down}" ] && append broker_opts "-L ${limit_bw_down}"
> +			[ ! -z "${hook_script}" ] && append broker_opts "-s ${hook_script}"
> +			[ ! -z "${bind_interface}" ] && {
> +				# Resolve logical interface name.
> +				unset _bind_interface
> +				network_get_device _bind_interface "${bind_interface}" || _bind_interface="${bind_interface}"
> +				append broker_opts "-I ${_bind_interface}"
> +			}
> +
> +			if [ -z "$uuid" ]; then
> +				missing uuid
> +				return
> +			elif [ -z "$interface" ]; then
> +				missing interface
> +				return
> +			fi
> +
> +			echo "Starting tunneldigger on ${interface}"
> +			/sbin/start-stop-daemon -S -q -b -m -p ${PIDPATH}/tunneldigger.${interface}.pid -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface} -t ${tunnel_id} ${broker_opts}
> +
> +			let tunnel_id++
> +		;;
> +	esac
> +}
> +
> +start() {
> +	config_load tunneldigger
> +}
> +
> +stop() {
> +	for PIDFILE in `find ${PIDPATH}/ -name "tunneldigger\.*\.pid"`; do
> +		PID="$(cat ${PIDFILE})"
> +		IFACE="$(echo ${PIDFILE} | awk -F\/tunneldigger '{print $2}' | cut -d'.' -f2)"
> +		echo "Stopping tunneldigger for interface ${IFACE}"
> +		start-stop-daemon -K -q -p $PIDFILE
> +		while test -d "/proc/${PID}"; do
> +			echo "  waiting for tunneldigger to stop"
> +			sleep 1
> +		done
> +		echo "  tunneldigger stopped"
> +	done
> +}
> +
> +restart() {
> +	stop
> +	start
> +}
> -- 
> 2.10.1
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 473 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20161104/01507fc8/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev