Portability issues
[anna.git] / example / diameter / launcher / DEPLOY.sh
1 #!/bin/ksh
2
3 # Functions & variables
4 SETUPS_DIR=../../../source/diameter/stack/setups
5 MSGDTD=../../../include/anna/diameter/codec/message.dtd
6 DCTDTD=../../../include/anna/diameter/stack/dictionary.dtd
7 BASE_PROT=commands_baseProtocol.xml
8 EXEC=/opt/bin/anna/example_diameter_launcher
9 DPATH_dflt=$HOME/ADL
10
11 _exit () {
12    echo
13    echo $1
14    echo
15    exit
16 }
17
18 createRunScript () {
19
20   echo "#!/bin/ksh" > run.sh
21   echo "EXE=\`cat .exe 2>/dev/null\`" >> run.sh
22   echo "STARTED=\`ps -fea | grep \"\$EXE\" | grep -v grep\`" >> run.sh
23   echo "[ \"\$EXE\" != \"\" -a \"\$STARTED\" != \"\" ] && { echo \"Already started!\"; echo \"\$STARTED\" ; exit ; }" >> run.sh
24   echo "./pre-start.sh" >> run.sh
25   echo "> launcher.traces" >> run.sh
26   echo "EXE=\"./ADL-launcher\"" >> run.sh
27   echo "echo \$EXE > .exe"  >> run.sh
28   echo >> run.sh
29   echo -n "\$EXE " >> run.sh
30   for i in `cat args.txt | grep -v "^#"`
31   do
32     echo -n "$i " >> run.sh
33   done
34   echo "&" >> run.sh
35   chmod a+x run.sh
36   rm args.txt
37 }
38
39 createDictionaryPaths () {
40
41
42 for i in stacks/*commands*xml
43   do
44     stacks/dependence.sh $i >/dev/null
45     stack=`basename $i`
46     if test "$stack" != "$BASE_PROT"
47     then
48       > .dictionary__${stack}
49       for j in `cat ${i}.dep`
50       do
51         echo -n "${j}," >> .dictionary__${stack}
52       done
53       echo "stacks/$BASE_PROT,stacks/${stack}" >> .dictionary__${stack}
54     fi
55   done
56
57   # Default:
58   ln -s .dictionary__commands_qosControl.xml .dictionary
59 }
60
61 #############
62 # EXECUTION #
63 #############
64 echo
65 echo "---------------------------------------"
66 echo "Anna Diameter Launcher (ADL) deployment"
67 echo "---------------------------------------"
68 echo
69 echo "Input deployment path [$DPATH_dflt]:"
70 read DPATH
71 [[ "$DPATH" = "" ]] && DPATH=$DPATH_dflt
72 [[ -d $DPATH ]] && _exit "The path '$DPATH' already exists. Remove it before continue..."
73
74 echo "Basic checkings ..."
75 [[ ! -f $EXEC ]] && _exit "Anna Diameter Launcher (ADL) is not installed in the system. Execute 'sudo scons install' for 'anna' suite."
76 [[ ! -d $SETUPS_DIR ]] && _exit "Diameter stacks not found ($SETUPS_DIR). Perhaps you executed this script out of its parent path."
77
78 echo "Copying ..."
79 mkdir -p $DPATH
80 mkdir -p $DPATH/stacks
81 cp $EXEC $DPATH/ADL-launcher
82 cp resources/* $DPATH
83 cp $SETUPS_DIR/*xml $DPATH/stacks
84 cp $SETUPS_DIR/*sh $DPATH/stacks
85 cp $SETUPS_DIR/readme.txt $DPATH/stacks
86 cp $MSGDTD $DPATH
87 cp $DCTDTD $DPATH
88
89 echo "Preparing ..."
90 cd $DPATH
91 createRunScript
92 createDictionaryPaths
93 cd - >/dev/null
94
95 # Help:
96 echo
97 echo "Go to '$DPATH' and see README file"
98 echo
99 echo "Done!"
100 echo
101 echo
102
103