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

mayosemmel mayosemmel at googlemail.com
Fr Nov 4 02:29:23 CET 2016


Hi,

ist ja quasi das Originalpaket mit der empfohlenen Commit-ID drin.
Deshalb:
Reviewed-by: Jan Kraus <mayosemmel at gmail.com>

Wenn in der kommenden 2ten Beta alles gut läuft, sollten wir den Jungs
von WlanSlovenia entsprechende Rückmeldung geben. Dann können wir
anschließend auch wieder direkt den Upstrem verwenden.

Grüße Jan

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/aac6d606/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev