[PATCH v16 6/6] Remove references to community.cfg

mail at adrianschmutzler.de mail at adrianschmutzler.de
Fr Okt 6 00:20:08 CEST 2017


Tested on Uplink and Mesh.

Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Adrian Schmutzler
> Sent: Donnerstag, 5. Oktober 2017 15:38
> To: franken-dev at freifunk.net
> Subject: [PATCH v16 6/6] Remove references to community.cfg
> 
> This removes all references to community.cfg except in the buildscript and
> except the file itself.
> 
> Changes in v13:
>  - Fixed timeserver and upgrade path to be set by keyxchange
> 
> Changes in v14:
>  - Removed interface ID for timeserver
> 
> Changes in v15/16:
>  - Nothing (only line numbers)
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> ---
>  .../fff-fastd/files/etc/uci-defaults/55_fff-fastd  | 41
> +++++++++++-----------
>  .../fff-hoods/files/lib/functions/fff/keyxchange   | 15 ++++++++
>  .../fff/fff-hoods/files/usr/sbin/configurehood     |  6 ++++
>  .../fff/fff-support/files/usr/sbin/show_info       |  1 -
>  src/packages/fff/fff-sysupgrade/Makefile           |  4 +--
>  .../fff/fff-sysupgrade/files/etc/sysupgrade.sh     |  9 ++++-
>  src/packages/fff/fff-timeserver/Makefile           |  2 +-
>  .../files/etc/uci-defaults/51-fff-timeserver       |  3 +-
>  8 files changed, 53 insertions(+), 28 deletions(-)  create mode 100644
> src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
>  mode change 100755 => 100644
> src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
> 
> diff --git
> a/src/packages/fff/fff-fastd/files/etc/uci-defaults/55_fff-fastd
> b/src/packages/fff/fff-fastd/files/etc/uci-defaults/55_fff-fastd
> index 8ce8425..72970bd 100644
> --- a/src/packages/fff/fff-fastd/files/etc/uci-defaults/55_fff-fastd
> +++ b/src/packages/fff/fff-fastd/files/etc/uci-defaults/55_fff-fastd
> @@ -1,28 +1,27 @@
> -/etc/init.d/fastd disable
> +#!/bin/sh
> 
> -. /etc/community.cfg
> -project="$VPN_PROJECT"
> +/etc/init.d/fastd disable
> 
>  >/etc/config/fastd
> 
>  uci batch <<EOF
> -  set fastd.${project}='fastd'
> -  set fastd.${project}.enabled='1'
> -  set fastd.${project}.config_peer_dir="/etc/fastd/${project}/peers"
> -  set fastd.${project}.syslog_level='warn'
> -  set fastd.${project}.method='null'
> -  set fastd.${project}.mode='tap'
> -  set fastd.${project}.interface="${project}VPN"
> -  set fastd.${project}.mtu='1426'
> -  set fastd.${project}.on_up="/etc/fastd/${project}/up.sh"
> -  set fastd.${project}.secure_handshakes='0'
> -  set fastd.${project}.secret="generate"
> +  set fastd.fff='fastd'
> +  set fastd.fff.enabled='1'
> +  set fastd.fff.config_peer_dir="/etc/fastd/fff/peers"
> +  set fastd.fff.syslog_level='warn'
> +  set fastd.fff.method='null'
> +  set fastd.fff.mode='tap'
> +  set fastd.fff.interface="fffVPN"
> +  set fastd.fff.mtu='1426'
> +  set fastd.fff.on_up="/etc/fastd/fff/up.sh"
> +  set fastd.fff.secure_handshakes='0'
> +  set fastd.fff.secret="generate"
>  EOF
> 
> -[ ! -d /etc/fastd/${project} ] &&  mkdir -p /etc/fastd/${project} -ln -s
> /tmp/fastd_${project}_peers /etc/fastd/${project}/peers -echo "#!/bin/sh"
> > /etc/fastd/${project}/up.sh -echo "ip link set up dev ${project}VPN" >>
> /etc/fastd/${project}/up.sh -echo "echo enable >
> /sys/devices/virtual/net/${project}VPN/batman_adv/no_rebroadcast" >>
> /etc/fastd/${project}/up.sh -echo "batctl if add ${project}VPN" >>
> /etc/fastd/${project}/up.sh -chmod +x /etc/fastd/${project}/up.sh
> +[ ! -d /etc/fastd/fff ] &&  mkdir -p /etc/fastd/fff ln -s
> +/tmp/fastd_fff_peers /etc/fastd/fff/peers echo "#!/bin/sh" >
> +/etc/fastd/fff/up.sh echo "ip link set up dev fffVPN" >>
> +/etc/fastd/fff/up.sh echo "echo enable >
> /sys/devices/virtual/net/fffVPN/batman_adv/no_rebroadcast" >>
> /etc/fastd/fff/up.sh
> +echo "batctl if add fffVPN" >> /etc/fastd/fff/up.sh chmod +x
> +/etc/fastd/fff/up.sh
> diff --git a/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
> b/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
> new file mode 100644
> index 0000000..ddae6b3
> --- /dev/null
> +++ b/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
> @@ -0,0 +1,15 @@
> +#!/bin/sh
> +# Copyright 2017 Adrian Schmutzler
> +# License GPLv3
> +
> +getUpgradePath() {
> +	if [ -s /tmp/keyxchangev2data ]; then
> +		json_load "$(cat /tmp/keyxchangev2data)"
> +		json_select hood
> +		json_get_var upath upgrade_path
> +		echo "$upath"
> +	else
> +		return 1
> +	fi
> +	return 0
> +}
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 0233056..3886435 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -2,6 +2,7 @@
> 
>  . /usr/share/libubox/jshn.sh
>  . /lib/functions/fff/wireless
> +. /lib/functions/fff/timeserver
> 
>  rm /tmp/keyxchangev2data
> 
> @@ -131,6 +132,7 @@ if [ -s /tmp/keyxchangev2data ]; then
>  		json_get_var mesh_bssid mesh_bssid
>  		json_get_var mesh_essid mesh_essid
>  		json_get_var essid essid
> +		json_get_var ntpip ntp_ip
>  		# i think the next things we don't active this in the first
> version! we can do it later
>  		#json_get_var channel2 channel2
>  		#json_get_var mode2 mode2
> @@ -185,6 +187,10 @@ if [ -s /tmp/keyxchangev2data ]; then
>  		echo "Loading wifi"
>  		wifi
> 
> +		oldntp="$(uci -q get system.ntp.server)"
> +		newntp="${ntpip}" # requires routable address, no
> link-local
> +		[ "$newntp" = "$oldntp" ] || setTimeserver "${newntp}" #
> only rewrite if changed
> +
>  		# copy the file to webroot so that other Meshrouter can
> download it;
>  		# copy only after all other steps so IF can be reentered if
> something goes wrong
>  		cp /tmp/keyxchangev2data /www/public/ diff --git
> a/src/packages/fff/fff-support/files/usr/sbin/show_info
> b/src/packages/fff/fff-support/files/usr/sbin/show_info
> index fc7cffb..3914391 100755
> --- a/src/packages/fff/fff-support/files/usr/sbin/show_info
> +++ b/src/packages/fff/fff-support/files/usr/sbin/show_info
> @@ -1,6 +1,5 @@
>  #!/bin/sh
> 
> -. /etc/community.cfg
>  . /etc/firmware_release
> 
>  board_name=$(uci -q get board.model.name) diff --git
> a/src/packages/fff/fff-sysupgrade/Makefile
> b/src/packages/fff/fff-sysupgrade/Makefile
> index 3224662..f29cf73 100644
> --- a/src/packages/fff/fff-sysupgrade/Makefile
> +++ b/src/packages/fff/fff-sysupgrade/Makefile
> @@ -1,7 +1,7 @@
>  include $(TOPDIR)/rules.mk
> 
>  PKG_NAME:=fff-sysupgrade
> -PKG_VERSION:=0.0.4
> +PKG_VERSION:=5
>  PKG_RELEASE:=4
> 
>  PKG_BUILD_DIR:=$(BUILD_DIR)/fff-sysupgrade
> @@ -13,7 +13,7 @@ define Package/fff-sysupgrade
>      CATEGORY:=Freifunk
>      TITLE:=Freifunk-Franken sysupgrade
>      URL:=http://www.freifunk-franken.de
> -    DEPENDS:=+fff-boardname + at BUSYBOX_CONFIG_WGET
> +    DEPENDS:=+fff-boardname +fff-hoods + at BUSYBOX_CONFIG_WGET
>  endef
> 
>  define Package/fff-sysupgrade/description
> diff --git a/src/packages/fff/fff-sysupgrade/files/etc/sysupgrade.sh
> b/src/packages/fff/fff-sysupgrade/files/etc/sysupgrade.sh
> index df9d519..8aaa924 100755
> --- a/src/packages/fff/fff-sysupgrade/files/etc/sysupgrade.sh
> +++ b/src/packages/fff/fff-sysupgrade/files/etc/sysupgrade.sh
> @@ -1,9 +1,16 @@
>  #!/bin/sh
>  cd /tmp/
> 
> +. /lib/functions/fff/keyxchange
>  . /etc/firmware_release
> 
> -. /etc/community.cfg
> +UPGRADE_PATH="$(getUpgradePath)"
> +
> +if [ -z "$UPGRADE_PATH" ]; then
> +  echo "Upgrade path not set! Aborting."
> +  echo ""
> +  exit 1
> +fi
> 
>  BOARD=$(uci get board.model.name)
> 
> diff --git a/src/packages/fff/fff-timeserver/Makefile
> b/src/packages/fff/fff-timeserver/Makefile
> index 4a2decd..d88d646 100644
> --- a/src/packages/fff/fff-timeserver/Makefile
> +++ b/src/packages/fff/fff-timeserver/Makefile
> @@ -1,7 +1,7 @@
>  include $(TOPDIR)/rules.mk
> 
>  PKG_NAME:=fff-timeserver
> -PKG_VERSION:=0.0.1
> +PKG_VERSION:=2
>  PKG_RELEASE:=1
> 
>  PKG_BUILD_DIR:=$(BUILD_DIR)/fff-timeserver
> diff --git
> a/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
> b/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
> old mode 100755
> new mode 100644
> index aa485ab..fe5979d
> ---
> a/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
> +++
> b/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
> @@ -1,9 +1,8 @@
>  #!/bin/sh
> 
>  . /lib/functions/fff/timeserver
> -. /etc/community.cfg
> 
> -setTimeserver "${NTPD_IP}"
> +# No initialization here, this is done in configurehood
> 
>  uci -q set "system. at system[0].timezone=CET-1CEST,M3.5.0,M10.5.0/3"
> 
> --
> 2.7.4
> 
> --
> franken-dev mailing list
> franken-dev at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net



Mehr Informationen über die Mailingliste franken-dev