/[mdap]/tftp-iselect.sh
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /tftp-iselect.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 81 - (hide annotations)
Tue Nov 20 18:14:16 2007 UTC (16 years, 4 months ago) by dpavlin
File MIME type: application/x-sh
File size: 1238 byte(s)
 r124@brr:  dpavlin | 2007-11-20 19:14:10 +0100
 - enable sorting by board or version
 - fix permissions of firmware

1 dpavlin 22 #!/bin/sh
2    
3     tftp=/srv/tftp/
4     tmp=/tmp/tftp
5 dpavlin 76 fw_info=bin/fw-info.pl
6 dpavlin 81 sort=$1
7     test -z "$sort" && sort="version";
8     if [ "$sort" == "version" ] ; then
9     alt_sort="board"
10     SORT="sort -k1n"
11     else
12     alt_sort="version"
13     SORT="sort -k2"
14     fi
15 dpavlin 22
16 dpavlin 76 #which=`find $tftp -type f | xargs -i $fw_info {} 2>/dev/null | sort | sed -e "s!$tftp!!" -e 's!^!<s>!' -e 's!^<s>\(.* BANT-R\)!\1!' | iselect -c -n "Select firmware file"`
17 dpavlin 81 $fw_info $tftp/ 2>/dev/null | sed -e "s!$tftp/*!!" > $tmp.all
18 dpavlin 22
19 dpavlin 81 echo -e "Currently selected versions to flash:\n" > $tmp
20 dpavlin 22
21 dpavlin 77 grep " BANT-.$" $tmp.all > $tmp.selected
22 dpavlin 76 cat $tmp.selected >> $tmp
23 dpavlin 22
24 dpavlin 81 echo -e "\nAll versions available by $sort:" >> $tmp
25     echo -e "<s:$alt_sort>Sort by $alt_sort\n" >> $tmp
26 dpavlin 76
27 dpavlin 81 grep -v -f $tmp.selected $tmp.all | $SORT | sed -e 's!^!<s>!' >> $tmp
28 dpavlin 76
29     which=`iselect -c -n "Select firmware" < $tmp`
30    
31     test -z "$which" && echo "No change" && exit
32    
33 dpavlin 81 if [ ! -z "`echo $which | grep -E '(board|version)'`" ] ; then
34     $0 $which
35     else
36 dpavlin 22
37 dpavlin 81 version=`echo $which | cut -d" " -f1`
38     board=`echo $which | cut -d" " -f2`
39     path=`echo "$which" | cut -c34-`
40 dpavlin 78
41 dpavlin 81 #echo "$version|$board|$path"
42 dpavlin 22
43 dpavlin 81 cp $tftp/$path $tftp/$board.new && mv $tftp/$board.new $tftp/$board || exit
44     chmod 644 $tftp/$board || exit
45 dpavlin 22
46 dpavlin 81 echo "Using $path for $board [$version]"
47    
48     fi
49    

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26