[PATCH v2] Added an automatism which will retrive Router-Coordinates from the old Netmon system

mayosemmel mayosemmel at googlemail.com
Sa Aug 20 16:18:22 CEST 2016


Ist unter Aufsicht von Tim applied worden.

Jan
Am Samstag, den 20.08.2016, 16:09 +0200 schrieb Tim Niemeyer:
> Hi
> 
> Dies könnte besser sein:
> * Script löschen, nach erfolgreichen Download.
> 
> Ist aber nicht so tragisch, weil es dann ja beim nächsten Aufruf
> passieren wird.
> 
> Von daher sieht es gut aus:
> Reviewed-by: Tim Niemeyer <tim at tn-x.org>
> 
> Tim
> 
> Am Samstag, den 16.07.2016, 19:29 +0200 schrieb Jan Kraus:
> > Signed-off-by: Jan Kraus <mayosemmel at gmail.com>
> > ---
> > Changes in v2: Added Check for default coordinates 0/0
> > ---
> >  src/packages/fff/fff-sysupgrade/Makefile           |  6 +--
> >  .../files/usr/lib/micron.d/fff-sysupgrade          |  1 +
> >  .../files/usr/sbin/copy_netmon_coordinates.sh      | 63 ++++++++++++++++++++++
> >  3 files changed, 67 insertions(+), 3 deletions(-)
> >  create mode 100644 src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade
> >  create mode 100755 src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh
> > 
> > diff --git a/src/packages/fff/fff-sysupgrade/Makefile b/src/packages/fff/fff-sysupgrade/Makefile
> > index ded9852..e790c82 100644
> > --- a/src/packages/fff/fff-sysupgrade/Makefile
> > +++ b/src/packages/fff/fff-sysupgrade/Makefile
> > @@ -1,8 +1,8 @@
> >  include $(TOPDIR)/rules.mk
> >  
> >  PKG_NAME:=fff-sysupgrade
> > -PKG_VERSION:=0.0.1
> > -PKG_RELEASE:=1
> > +PKG_VERSION:=0.0.2
> > +PKG_RELEASE:=2
> >  
> >  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
> > +    DEPENDS:=+fff-boardname +micrond
> >  endef
> >  
> >  define Package/fff-sysupgrade/description
> > diff --git a/src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade b/src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade
> > new file mode 100644
> > index 0000000..312972f
> > --- /dev/null
> > +++ b/src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade
> > @@ -0,0 +1 @@
> > +*/5 * * * * /usr/sbin/copy_netmon_coordinates.sh
> > \ No newline at end of file
> > diff --git a/src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh b/src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh
> > new file mode 100755
> > index 0000000..4c20974
> > --- /dev/null
> > +++ b/src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh
> > @@ -0,0 +1,63 @@
> > +#!/bin/sh
> > +
> > +delete_myself()
> > +{
> > +	echo "This Script will be deleted now!"
> > +	rm -f /usr/lib/micron.d/fff-sysupgrade
> > +	rm -f "$0"
> > +	exit 0
> > +}
> > +
> > +#Get Mac Address of br-mesh if already up
> > +if ! mac=$( cat /sys/class/net/br-mesh/address ); then
> > +	echo "Interface br-mesh is not available!"
> > +	exit 1
> > +fi
> > +
> > +#Check if Coordinates are already set
> > +if uci get system. at system[0].latitude && uci get system. at system[0].longitude; then
> > +	echo "Coordinates are already set."
> > +	delete_myself
> > +fi
> > +
> > +#Get Router from Netmon Database
> > +xml_data=$( wget -q -O - "http://fe80::ff:feee:1%br-mesh/api/rest/api.php?rquest=router&mac=${mac//:}" 2>&1)
> > +
> > +if [ -z "$xml_data" ]; then
> > +	echo "xml_data is not set"
> > +	exit 1
> > +elif echo "$xml_data"|grep "HTTP/1.1 404 Not Found" ;then
> > +	echo "This Router is not present in the Netmon Database."
> > +	delete_myself
> > +fi
> > +
> > +#Reduce XML_DATA to Router only
> > +xml_data=$( echo $xml_data |grep -o '<router>.*<\/router>' |sed -e 's/<user>.*<\/user>//g' |sed -e 's/<chipset>.*<\/chipset>//g' |sed -e 's/<chipset>.*<\/chipset>//g' )
> > +
> > +#Get needed Variables
> > +hostname=$( echo $xml_data |grep -o  '<hostname>.*<\/hostname>'|sed -e 's/<\/\?hostname>//g' )
> > +description=$( echo $xml_data |grep -o  '<description>.*<\/description>'|sed -e 's/<\/\?description>//g' )
> > +latitude=$( echo $xml_data |grep -o  '<latitude>.*<\/latitude>'|sed -e 's/<\/\?latitude>//g' )
> > +longitude=$( echo $xml_data |grep -o  '<longitude>.*<\/longitude>'|sed -e 's/<\/\?longitude>//g' )
> > +
> > +#Check for netmon default coordinates
> > +if [ "$latitude" -eq 0 ] && [ "$longitude" -eq 0 ]; then
> > +	echo "Unable to retrieve coordinates from Netmon."
> > +	echo "Maybe the coordinates are suppressed."
> > +	delete_myself
> > +fi
> > +
> > +uci set system. at system[0]=system
> > +echo "Setting hostname $hostname"
> > +uci set system. at system[0].hostname="$hostname"
> > +echo "Setting description $description"
> > +uci set system. at system[0].description="$description"
> > +echo "Setting latitude $latitude"
> > +uci set system. at system[0].latitude="$latitude"
> > +echo "Setting longitude $longitude"
> > +uci set system. at system[0].longitude="$longitude"
> > +uci commit
> > +
> > +echo "Coordinates are now copied from Netmon. Router will be rebooted."
> > +reboot
> > +exit 0
> > \ No newline at end of file
> > -- 
> > 2.1.4
> > 
> 

-------------- 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/20160820/5f8cb6a6/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev