Changeset 1198
- Timestamp:
- 06/26/2009 16:28:21 (14 months ago)
- File:
-
- 1 edited
-
Profiles/CCS/bin/epee-diff (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
Profiles/CCS/bin/epee-diff
r1197 r1198 6 6 # $Id$ 7 7 8 shopt -s xpg_echo 9 10 function do_ssh() 11 { 12 case $host in 13 (zweihander|epee-*) 14 args=($node) 15 ;; 16 (*) 17 case $node in 18 (epee-head) 19 args=epee 20 ;; 21 (epee-node-*) 22 args=(-p $((2200 + `printf '%d' "'${node#epee-node-}'"` - 95)) epee) 23 ;; 24 esac 25 ;; 26 esac 27 28 ssh ${args[*]} "$packages" 29 } 30 31 [[ -t 1 ]] && declare reset='\e[0m' bright='\e[1m' dim='\e[2m' underscore='\e[4m' blink='\e[5m' reverse='\e[7m' hidden='\e[8m' black='\e[30m' red='\e[31m' green='\e[32m' yellow='\e[33m' blue='\e[34m' magenta='\e[35m' cyan='\e[36m' white='\e[37m' _black='\e[40m' _red='\e[41m' _green='\e[42m' _yellow='\e[43m' _blue='\e[44m' _magenta='\e[45m' _cyan='\e[46m' _white='\e[47m' 32 33 packages='apt-show-versions' 34 ignore=(ipmasq netstat-nat) 35 nodes=(epee-{head,node-{a,b,c}}) 8 36 host=`hostname -s` 37 temp=`mktemp /tmp/epee-diff-XXXXXX` 9 38 10 if [[ ! $host =~ ^epee- ]]; then 11 echo "`basename $0`: not on epee.ccs.ucsb.edu" 12 exit 1 39 if [[ ${nodes[*]/$host/} == ${nodes[*]} ]]; then 40 node=epee-head 41 42 do_ssh > $temp 43 else 44 node=$host 45 46 $packages > $temp 13 47 fi 14 48 15 apt-show-versions > ~/$host 49 for node in ${nodes[*]/$node/}; do 50 echo "$bright$blue$host$reset <> $bright$yellow$node$reset:" 51 diff -u <(do_ssh) $temp | pcregrep '^[+-](?![+-]{2})' | (IFS='|'; grep -Ev "^[+-](${ignore[*]})/") | sed -e "s/^+/ `echo $bright$blue+$reset`/;s/^-/ `echo $bright$yellow-$reset`/" 52 done 16 53 17 function do_diff() 18 { 19 diff -u $1 $host | pcregrep '^[+-](?![+-]{2})' 20 } 21 22 case $host in 23 (epee-node-a) 24 do_diff epee-head | grep -Ev '^-(ipmasq|netstat-nat)/' 25 ;; 26 (epee-node-b) 27 do_diff epee-node-a 28 ;; 29 (epee-node-c) 30 do_diff epee-node-b 31 ;; 32 esac 54 rm $temp
Note: See TracChangeset
for help on using the changeset viewer.
