source: SH_SHM/trunk/setup/install.csh @ 26

Revision 26, 12.1 KB checked in by marcus, 14 years ago (diff)

r11 | svn | 2008-01-16 21:38:42 +0100 (Mi, 16 Jan 2008) | 1 line

installation script sets userroot relative to /home/klaus

  • Property svn:executable set to *
Line 
1#! /bin/csh
2#
3# file install.csh
4#      ===========
5#
6# version 4, 18-Jun-2006
7#
8# Installation script for SH/SHM package
9# K. Stammler, 13-Nov-2003
10
11set ext="undefined"
12if  ("`uname`" == "Linux")  then
13        set ext="linux"
14else if  ("`uname`" == "SunOS")  then
15        set ext="sol2.5.1"
16endif
17
18if  ("$1" == "")  then
19        echo "Usage: $0 <installpath> [<sourcepath>]"
20        echo ""
21        echo "   Steps to install are:"
22        echo "   (i)   create installation directory (e.g. 'mkdir $PWD/shprog')"
23        echo "   (ii)  create tar file directory (e.g. 'mkdir $PWD/shtar')"
24        echo "   (iii) cd to tar file directory and get files:"
25   echo "         ftp://ftp.szgrf.bgr.de/pub/software/SH-SHM.tar.gz"
26   echo "         ftp://ftp.szgrf.bgr.de/pub/software/fk-$ext.tar.gz"
27   echo "         ftp://ftp.szgrf.bgr.de/pub/software/locsat-$ext.tar.gz"
28   echo "         ftp://ftp.szgrf.bgr.de/pub/software/SHM-install.csh"
29        echo "   (iv)  make SHM-install.csh executable 'chmod a+x ./SHM-install.csh'"
30        echo "   (v)   call e.g. './SHM-install.csh $PWD/shprog'"
31        echo "         Note that the parameter must be the absolute path to the"
32        echo "         installation directory"
33        echo ""
34        echo -n "Do you want run run the installation now ? [y/n] "
35        set reply="$<"
36        if  ("$reply" == "y" || "$reply" == "Y")  then
37                set res=`which wget`
38                if  (! -e $res)  then
39                        echo "need 'wget' to continue.  Please install"
40                        exit
41                endif
42                echo -n "Where should SH/SHM be installed? Enter full pathname: "
43                set dstpath="$<"
44                if  (! -d $dstpath)  mkdir $dstpath
45                if  (! -w $dstpath)  then
46                        echo "Cannot write to $dstpath.  Abort."
47                        exit
48                endif
49                set srcpath=$HOME/shpackage
50                if  (-d $srcpath)  then
51                        echo "SH package directory $srcpath already exists."
52                        echo "Please rename or delete it and restart the installation program."
53                        exit
54                endif
55                echo -n "Create SH package directory $srcpath ? [y/n] "
56                set reply="$<"
57                if  ("$reply" == "y" || "$reply" == "Y")  then
58                        mkdir $srcpath
59                else
60                        exit
61                endif
62                echo "download SH/SHM package"
63                (cd $srcpath; wget ftp://ftp.szgrf.bgr.de/pub/software/SH-SHM.tar.gz)
64                echo "download FK package"
65                (cd $srcpath; wget ftp://ftp.szgrf.bgr.de/pub/software/fk-$ext.tar.gz)
66                echo "download LocSAT package"
67                (cd $srcpath; wget ftp://ftp.szgrf.bgr.de/pub/software/locsat-$ext.tar.gz)
68        else
69                exit
70        endif
71
72else
73
74        # get parameters
75        set dstpath=$1
76        set srcpath=$2
77        if  ("$srcpath" == "")  set srcpath=$PWD
78
79endif
80
81# check parameters
82if  (! -d $srcpath)  then
83        echo "$0 : source path $srcpath not found.  Abort."
84        exit
85endif
86if  (! -w $dstpath)  then
87        echo "$0 : cannot write to installation path $dstpath.  Abort."
88        exit
89endif
90if  ("$srcpath" == "$dstpath")  then
91        echo "$0 : source path and installation path must not be equal.  Sorry."
92        exit
93endif
94
95# find input files
96set pack_shm=""
97set pack_fk=""
98set pack_locsat=""
99
100if  (-e $srcpath/SH-SHM.tar.gz)  then
101        set pack_shm=$srcpath/SH-SHM.tar.gz
102else
103        set pack_shm=`ls $srcpath/SH-* | tail -1`
104endif
105if  ("`uname`" == "Linux")  then
106        if  (-e $srcpath/fk-linux.tar.gz)  set pack_fk=$srcpath/fk-linux.tar.gz
107        if  (-e $srcpath/locsat-linux.tar.gz)  set pack_locsat=$srcpath/locsat-linux.tar.gz
108else if  ("`uname`" == "SunOS")  then
109        if  (-e $srcpath/fk-sol2.5.1.tar.gz)  set pack_fk=$srcpath/fk-sol2.5.1.tar.gz
110        if  (-e $srcpath/locsat-sol2.5.1.tar.gz)  set pack_locsat=$srcpath/locsat-sol2.5.1.tar.gz
111else
112endif
113
114if  (-e $srcpath/libahio.a.$ext)  then
115        set use_ah=1
116else
117        set use_ah=0
118endif
119
120
121# default values
122set compile_shm="yes"
123set compile_fk="no"
124set compile_locsat="no"
125set displ_res="undef"
126set userroot='$HOME/shfiles'
127if  ("`uname`" == "Linux")  then
128        set linux_colors="yes"
129else
130        set linux_colors="no"
131endif
132
133# find text editor
134set editor=""
135foreach  ed  (textedit nedit vuepad xedit)
136        set res=`which $ed`
137        if  (-e "$res")  then
138                set editor=$ed
139                break
140        endif
141end
142
143# check for some programs in search path
144set plist = ( gzip make makedepend gcc uil ar ranlib xterm )
145foreach p ($plist)
146        set res=`which $p`
147        if  (! -e "$res")  then
148                echo "Program $p not found in search path.  Please add."
149                exit
150        endif
151end
152
153
154# enter setup menu
155
156set cmd=""
157while  ("$cmd" != "i")
158
159        echo ""
160        echo "(p)  SHM-package:              $pack_shm"
161        echo "(f)  FK-package:               $pack_fk"
162        echo "(l)  LocSAT-package:           $pack_locsat"
163        echo "(u)  user root path:           $userroot"
164        echo "(e)  window based texteditor:  $editor"
165        echo "(cp) compile SHM:              $compile_shm"
166        echo "(cf) compile FK:               $compile_fk"
167        echo "(cl) compile LocSAT:           $compile_locsat"
168#       echo "(r)  resolution:               $displ_res"
169        echo "(c)  linux colors:             $linux_colors"
170        echo "(i)  Start Installation"
171        echo "(q)  Quit Installation"
172        echo ""
173        echo "if all settings are ok, enter 'i'"
174        echo ""
175        echo -n "cmd: "
176        set cmd="$<"
177
178        if  ("$cmd" == "q")  exit
179        if  ("$cmd" == "p")  then
180                echo -n "SHM-package: "
181                set pack_shm="$<"
182        endif
183        if  ("$cmd" == "f")  then
184                echo -n "FK-package: "
185                set pack_fk="$<"
186        endif
187        if  ("$cmd" == "l")  then
188                echo -n "LocSAT-package: "
189                set pack_locsat="$<"
190        endif
191        if  ("$cmd" == "cp")  then
192                if  ("$compile_shm" == "yes")  then
193                        set compile_shm="no"
194                else
195                        set compile_shm="yes"
196                endif
197        endif
198        if  ("$cmd" == "cf")  then
199                if  ("$compile_fk" == "yes")  then
200                        set compile_fk="no"
201                else
202                        set compile_fk="yes"
203                endif
204        endif
205        if  ("$cmd" == "cl")  then
206                if  ("$compile_locsat" == "yes")  then
207                        set compile_locsat="no"
208                else
209                        set compile_locsat="yes"
210                endif
211        endif
212        if  ("$cmd" == "r")  then
213                if  ("$displ_res" == "xga")  then
214                        set displ_res="wxga"
215                else if  ("$displ_res" == "wxga")  then
216                        set displ_res="sxga"
217                else
218                        set displ_res="xga"
219                endif
220        endif
221        if  ("$cmd" == "c")  then
222                if  ("$linux_colors" == "yes")  then
223                        set linux_colors="no"
224                else
225                        set linux_colors="yes"
226                endif
227        endif
228        if  ("$cmd" == "e")  then
229                echo -n "window based texteditor: "
230                set editor="$<"
231                if  (! -e $editor)  then
232                        echo "$editor does not exist."
233                        echo -n "Enter <Return> ..."
234                        set x="$<"
235                        set editor=""
236                endif
237        endif
238        if  ("$cmd" == "u")  then
239                echo -n "user root path: "
240                set userroot="$<"
241                if  (! -e $userroot)  then
242                        mkdir $userroot
243                        if  (! -e $userroot)  then
244                                echo "cannot create $userroot. Reset to default."
245                                echo -n "Enter <Return> ..."
246                                set x="$<"
247                                set userroot=$HOME/shfiles
248                        endif
249                endif
250        endif
251        if  ("$cmd" == "i")  then
252                if  ("$editor" == "")   then
253                        echo "Please specify window based texteditor executable."
254                        echo -n "Enter <Return> ..."
255                        set x="$<"
256                        set cmd="."
257                endif
258        endif
259
260end
261
262
263# check paths again
264if  (! -e $pack_shm)  then
265        echo "$0 : echo SHM-package $pack_shm not found.  Abort."
266        exit
267endif
268if  (! -e $pack_fk)  then
269        echo "$0 : FK-package not found.  Abort."
270        exit
271endif
272if  (! -e $pack_locsat)  then
273        echo "$0 : LocSAT-package not found.  Abort."
274        exit
275endif
276
277
278# copy and extract SHM
279echo "extracting SHM-package"
280cd $dstpath
281cp $pack_shm .
282set pack_shm=$pack_shm:t
283gzip -d $pack_shm
284set pack_shm=$pack_shm:r
285if  (! -e $pack_shm)  then
286        set pack_shm=`ls SH-?.??_SHM-?.??.tar | tail -1`
287        if  ("$pack_shm" == "")  then
288                echo "SHM package extraction error.  Abort."
289                exit
290        else if  (! -e $pack_shm)  then
291                echo "SHM package extraction error.  Abort."
292                exit
293        endif
294endif
295chmod +w $pack_shm
296tar xf $pack_shm
297\rm $pack_shm
298
299## this is for testing the installation program
300#\cp /home/klaus/new-shm-files/shsetup.template $dstpath/sh/setup
301#\cp /home/klaus/new-shm-files/shm.uil $dstpath/sh/source/motif
302
303# create setup file from template
304echo "prepare setup file"
305cd sh/setup
306if  ("`uname`" == "Linux")  then
307        set remstr="#OS-linux "
308else if  ("`uname`" == "SunOS")  then
309        set remstr="#OS-sol2 "
310else
311        echo "$0 : sorry, this operating system is not supported"
312        exit
313endif
314set locsatpath=$dstpath/sh/util/locsat
315set plth=`echo $locsatpath | wc -c`
316if  ($plth > 25)  then
317        if  (-e $HOME/lcs)  \rm $HOME/lcs
318        ln -s $locsatpath $HOME/lcs
319        set locsatpath=$HOME/lcs
320        set plth=`echo $locsatpath | wc -c`
321        if  ($plth > 25)  then
322                echo "$0 : cannot find short locsat path.  Abort."
323                exit
324        endif
325endif
326if  (-e shsetup)  \rm shsetup
327sed "s/$remstr//" shsetup.template | sed "s@##ROOTPATH##@$dstpath/sh@" | \
328        sed "s@##LOCSATPATH##@$locsatpath@" | sed "s@##EDITOR##@$editor@" | \
329        sed 's/-DSH_SETUP_SZGRF//' | sed "s@##USERROOT##@$userroot@" >shsetup
330if  ($use_ah == 0)  then
331        if  (-e shsetup.x)  \rm shsetup.x
332        sed 's/-DSH_SETUP_AH//' shsetup | sed 's/-lahio//' >shsetup.x
333        \rm shsetup
334        mv shsetup.x shsetup
335endif
336if  ($?MACHTYPE == 1)  then
337        if  ("`echo $MACHTYPE | grep 64`" != "")  then
338                if  (-d /usr/X11R6/lib64)  then
339                        if  (-e shsetup.x)  \rm shsetup.x
340                        sed 's/\/usr\/X11R6\/lib/\/usr\/X11R6\/lib64/' shsetup >shsetup.x
341                        \rm shsetup
342                        mv shsetup.x shsetup
343                endif
344        endif
345endif
346source shsetup
347
348# create directories for evt files
349mkdir $SH_USERROOT/evt
350mkdir $SH_USERROOT/evt/evid
351mkdir $SH_USERROOT/evt/evtout
352
353# find screen resolution
354set displ_res=`$dstpath/sh/util/get_screen_resolution.csh`
355if  ($#displ_res != 3)  then
356        echo "cannot find screen resolution, please set manually"
357        set displ_res="sxga"
358else
359        echo "found screen resolution $displ_res"
360        set displ_res=$displ_res[3]
361endif
362
363set origsetup=$dstpath/sh/inputs/shm-config-default.txt
364if  (! -e $origsetup)  then
365        echo "Installation program error.  Sorry."
366        exit
367endif
368set thissetup=$dstpath/sh/inputs/shm-config.txt
369if  (-e $thissetup)  \rm $thissetup
370cp $origsetup $thissetup
371
372# settings for small displays (laptops)
373if  ("$displ_res" != "" && "$displ_res" != "sxga")  then
374        if  (-e $thissetup.x)  \rm $thissetup.x
375        sed "s/shm-cof-sxga-geometry/shm-conf-$displ_res-geometry/" $thissetup >$thissetup.x
376        mv $thissetup.x $thissetup
377endif
378
379# linux colors
380if  ("$linux_colors" == "yes")  then
381        # do nothing, this is default
382else
383        if  (-e $thissetup.x)  \rm $thissetup.x
384        sed 's/reverse_xors                 true/reverse_xors                 false/' $thissetup>$thisetup.x
385        mv $thissetup.x $thissetup
386endif
387
388# compile SHM
389if  ("$compile_shm" == "yes")  then
390        echo "compiling SHM"
391        cd $SH_ROOT
392        # remove all o's and a's
393        set olist=`find . -name \*.o -print`
394        \rm $olist
395        cd $SH_LIB
396        if  (-e libahio.a)  mv libahio.a libahio.ax
397        \rm *.a
398        if  (-e libahio.ax)  mv libahio.ax libahio.a
399        cd $SH_ROOT
400        make depend_shm
401        make shm
402        make world
403endif
404
405# install FK
406echo "extract FK package"
407cd $SH_UTIL
408if  (-e fk_src)  \rm -rf fk_src
409cp $pack_fk .
410set pack_fk=$pack_fk:t
411gzip -d $pack_fk
412set pack_fk=$pack_fk:r
413chmod +w $pack_fk
414tar xf $pack_fk
415\rm $pack_fk
416if  (-e fk)  \rm fk
417ln -s fk_src/fk fk
418
419# compile FK
420if  ("$compile_fk" == "yes")  then
421        echo "compile FK package"
422        cd fk_src
423        \rm *.o
424        make
425endif
426
427# install LocSAT
428echo "extract LocSAT package"
429cd $SH_UTIL
430if  (-e locsat)  \rm -rf locsat
431mkdir locsat
432cp $pack_locsat .
433set pack_locsat=$pack_locsat:t
434gzip -d $pack_locsat
435set pack_locsat=$pack_locsat:r
436chmod +w $pack_locsat
437tar xf $pack_locsat
438\rm $pack_locsat
439if  (-e LocSAT)  \rm LocSAT
440ln -s locsat/bin/LocSAT LocSAT
441
442# compile LocSAT
443if  ("$compile_locsat" == "yes")  then
444        echo "compile LocSAT package"
445        cd locsat
446        set olist=`find . -name \*.o -print`
447        \rm $olist
448        set olist=`find . -name \*.a -print`
449        \rm $olist
450        cd $SH_UTIL/locsat/libsrc
451        make
452        cd $SH_UTIL/locsat/bin/LocSAT
453        make
454endif
455
456# add SHM resources to .Xdefaults
457set resrc=""
458if  (-e ~/.Xdefaults)  set resrc=~/.Xdefaults
459if  ("$resrc" == "")  then
460        if  (-e ~/.Xresources)  set resrc=~/.Xresources
461endif
462if  ("$resrc" == "")  then
463        set resrc="~/.Xdefaults"
464        touch $resrc
465endif
466set res=`grep "SHM*background" $resrc`
467if  ("$res" == "")  then
468        echo "SHM*locsat_prefix_text.value:       tab"  >>$resrc
469        echo "SHM*fk_frqlo_text.value:            0.4"  >>$resrc
470        echo "SHM*fk_frqhi_text.value:            3.0"  >>$resrc
471        echo "SHM*fk_slowness_text.value:         15"   >>$resrc
472        echo "SHM*fk_resol_text.value:            51"   >>$resrc
473        echo "SHM*fk_colnum_text.value:           10"   >>$resrc
474        echo "SHM*filter_butpar_hi_text.value:    1Hz"  >>$resrc
475        echo "SHM*filter_butpar_lo_text.value:    100s" >>$resrc
476        echo "SHM*filter_butpar_order_text.value: 4"    >>$resrc
477        echo "SHM*opick_thresh_text.value:        10.0" >>$resrc
478        echo "SHM*opick_duration_text.value:      1.0"  >>$resrc
479        echo "SHM*opick_break_text.value:         0.00" >>$resrc
480endif
481xrdb $resrc
482
483
484echo ""
485echo ""
486echo "Please call"
487echo ""
488echo "source $dstpath/sh/setup/shsetup"
489echo ""
490echo "before using SH or SHM.  Put this line into your .cshrc file"
491echo ""
492
Note: See TracBrowser for help on using the repository browser.