[pisa-src] r1515 - trunk/openwrt/create-config.sh

  • From: Tobias Heer <tobias.heer@xxxxxxxxxxxxxxxxx>
  • To: pisa-src@xxxxxxxxxxxxx
  • Date: Wed, 04 Nov 2009 15:00:57 +0100

Author: heer
Date: Wed Nov  4 15:00:57 2009
New Revision: 1515

Log:
Created script for generating config directory from a template directory

Added:
   trunk/openwrt/create-config.sh   (contents, props changed)

Added: trunk/openwrt/create-config.sh
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ trunk/openwrt/create-config.sh      Wed Nov  4 15:00:57 2009        (r1515)
@@ -0,0 +1,71 @@
+#!/bin/sh
+# quick script to prepare an OpenWrt tree for flashing PISA routers
+#
+# Relies on the '-i' GNU extension for sed and on GNU patch.
+
+### helper functions ###
+usage() {
+    echo $0 "<router-template> <new-router-name> <new-router-number> 
<wifi-mac>"
+    echo "This program will create a new router config from a router name, a 
router number and its wifi mac address."
+    exit $1
+}
+
+check_directory () {
+    if ! test -d "$2"; then
+        echo $1 directory does not exist.
+        exit 1
+    fi
+}
+
+#This runs in a subshell to avoid changing directory unintentionally.
+sanitize_path () {
+    (cd $1; pwd)
+}
+
+recursive_replace () {
+
+       echo $2 - $3
+    find files $1 -type f -exec sed -i "s/$2/$3/g" "{}" \;
+}
+
+### set variables ###
+
+ROUTER_NAME=$2
+ROUTER_NUMBER=$3
+ROUTER_WIFI_MAC=$4
+TEMPLATE_PATH=$1
+ROUTER_CHANNEL=$5
+
+echo $#
+if  [ "$#" != "5" ] ;  then
+   usage 0
+       
+fi
+
+
+
+### sanity checks ###
+case $1 in
+    -h|--help)
+        usage 0;;
+    */*|"")
+        usage 1;;
+esac
+
+
+
+
+### copy template to new router directory ###
+
+check_directory template ${TEMPLATE_PATH}
+
+echo "Creating directory $ROUTER_NAME"
+cp -r $TEMPLATE_PATH $ROUTER_NAME
+
+
+### Replace template paceholders ###
+echo "Replacing Placeholders"
+recursive_replace $ROUTER_NAME "##ROUTER_NAME##" $ROUTER_NAME
+recursive_replace $ROUTER_NAME "##ROUTER_NUMBER##" $ROUTER_NUMBER
+recursive_replace $ROUTER_NAME "##ROUTER_WIFI_MAC##" $ROUTER_WIFI_MAC
+recursive_replace $ROUTER_NAME "##ROUTER_CHANNEL##" $ROUTER_CHANNEL

Other related posts: