Artifact
de6ec68c4a2ce6578d7e92a4c3f4d728db082afb:
0000: 23 21 2f 62 69 6e 2f 62 61 73 68 0a 0a 70 72 65 #!/bin/bash..pre
0010: 66 69 78 3d 24 31 0a 63 6d 64 3d 24 32 0a 74 61 fix=$1.cmd=$2.ta
0020: 72 67 65 74 3d 24 33 0a 0a 69 66 20 5b 20 22 24 rget=$3..if [ "$
0030: 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 22 LD_LIBRARY_PATH"
0040: 20 21 3d 20 22 22 20 5d 3b 74 68 65 6e 0a 20 20 != "" ];then.
0050: 63 66 67 66 69 6c 65 3d 22 24 70 72 65 66 69 78 cfgfile="$prefix
0060: 2f 62 69 6e 2f 2e 24 28 6c 73 62 5f 72 65 6c 65 /bin/.$(lsb_rele
0070: 61 73 65 20 2d 73 72 29 2f 63 66 67 2e 73 68 22 ase -sr)/cfg.sh"
0080: 0a 20 20 65 63 68 6f 20 22 49 4e 46 4f 3a 20 55 . echo "INFO: U
0090: 73 69 6e 67 20 4c 44 5f 4c 49 42 52 41 52 59 5f sing LD_LIBRARY_
00a0: 50 41 54 48 3d 24 4c 44 5f 4c 49 42 52 41 52 59 PATH=$LD_LIBRARY
00b0: 5f 50 41 54 48 22 20 3e 26 32 0a 28 20 63 61 74 _PATH" >&2.( cat
00c0: 20 3c 3c 20 5f 5f 45 4f 46 0a 69 66 20 5b 20 22 << __EOF.if [ "
00d0: 5c 24 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 \$LD_LIBRARY_PAT
00e0: 48 22 20 21 3d 20 22 22 20 5d 3b 74 68 65 6e 0a H" != "" ];then.
00f0: 20 20 65 78 70 6f 72 74 20 4c 44 5f 4c 49 42 52 export LD_LIBR
0100: 41 52 59 5f 50 41 54 48 3d 24 4c 44 5f 4c 49 42 ARY_PATH=$LD_LIB
0110: 52 41 52 59 5f 50 41 54 48 3a 5c 24 4c 44 5f 4c RARY_PATH:\$LD_L
0120: 49 42 52 41 52 59 5f 50 41 54 48 0a 65 6c 73 65 IBRARY_PATH.else
0130: 0a 20 20 65 78 70 6f 72 74 20 4c 44 5f 4c 49 42 . export LD_LIB
0140: 52 41 52 59 5f 50 41 54 48 3d 24 4c 44 5f 4c 49 RARY_PATH=$LD_LI
0150: 42 52 41 52 59 5f 50 41 54 48 0a 66 69 0a 5f 5f BRARY_PATH.fi.__
0160: 45 4f 46 0a 29 20 3e 20 24 63 66 67 66 69 6c 65 EOF.) > $cfgfile
0170: 0a 20 20 65 63 68 6f 20 0a 65 6c 73 65 0a 20 20 . echo .else.
0180: 65 63 68 6f 20 22 49 4e 46 4f 3a 20 4c 44 5f 4c echo "INFO: LD_L
0190: 49 42 52 41 52 59 5f 50 41 54 48 20 6e 6f 74 20 IBRARY_PATH not
01a0: 73 65 74 22 20 3e 26 32 0a 66 69 0a 0a 23 20 65 set" >&2.fi..# e
01b0: 63 68 6f 20 22 23 21 2f 62 69 6e 2f 62 61 73 68 cho "#!/bin/bash
01c0: 22 20 3e 20 24 74 61 72 67 65 74 0a 23 20 69 66 " > $target.# if
01d0: 20 5b 20 22 24 4c 44 5f 4c 49 42 52 41 52 59 5f [ "$LD_LIBRARY_
01e0: 50 41 54 48 22 20 21 3d 20 22 22 20 5d 3b 74 68 PATH" != "" ];th
01f0: 65 6e 0a 23 20 20 20 65 63 68 6f 20 22 73 6f 75 en.# echo "sou
0200: 72 63 65 20 24 70 72 65 66 69 78 2f 62 69 6e 2f rce $prefix/bin/
0210: 2e 5c 24 28 6c 73 62 5f 72 65 6c 65 61 73 65 20 .\$(lsb_release
0220: 2d 73 72 29 2f 63 66 67 2e 73 68 22 20 3e 3e 20 -sr)/cfg.sh" >>
0230: 24 74 61 72 67 65 74 0a 23 20 66 69 0a 23 20 65 $target.# fi.# e
0240: 63 68 6f 20 22 65 78 65 63 20 24 70 72 65 66 69 cho "exec $prefi
0250: 78 2f 62 69 6e 2f 2e 5c 24 28 6c 73 62 5f 72 65 x/bin/.\$(lsb_re
0260: 6c 65 61 73 65 20 2d 73 72 29 2f 24 63 6d 64 20 lease -sr)/$cmd
0270: 5c 22 5c 24 40 5c 22 22 20 3e 3e 20 24 74 61 72 \"\$@\"" >> $tar
0280: 67 65 74 0a 65 63 68 6f 20 22 23 21 2f 62 69 6e get.echo "#!/bin
0290: 2f 62 61 73 68 22 20 3e 20 24 74 61 72 67 65 74 /bash" > $target
02a0: 0a 0a 69 66 20 5b 5b 20 24 63 6d 64 20 3d 7e 20 ..if [[ $cmd =~
02b0: 64 62 6f 61 72 64 20 5d 5d 3b 20 74 68 65 6e 0a dboard ]]; then.
02c0: 20 20 20 20 63 61 74 20 3e 3e 20 24 74 61 72 67 cat >> $targ
02d0: 65 74 20 3c 3c 27 45 4f 46 27 0a 0a 23 20 64 69 et <<'EOF'..# di
02e0: 73 61 62 6c 65 20 69 66 20 6e 6f 74 20 72 75 6e sable if not run
02f0: 6e 69 6e 67 20 6f 6e 20 68 6f 6d 65 68 6f 73 74 ning on homehost
0300: 0a 69 66 20 5b 5b 20 2d 65 20 2e 68 6f 6d 65 68 .if [[ -e .homeh
0310: 6f 73 74 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 68 ost ]]; then. h
0320: 6f 6d 65 68 6f 73 74 6e 61 6d 65 3d 24 28 20 68 omehostname=$( h
0330: 6f 73 74 20 60 63 61 74 20 2e 68 6f 6d 65 68 6f ost `cat .homeho
0340: 73 74 60 20 7c 20 61 77 6b 20 27 7b 70 72 69 6e st` | awk '{prin
0350: 74 20 24 4e 46 7d 27 20 7c 20 73 65 64 20 27 73 t $NF}' | sed 's
0360: 2f 5c 2e 24 2f 2f 27 20 29 0a 20 20 68 6f 73 74 /\.$//' ). host
0370: 6e 61 6d 65 3d 24 28 20 68 6f 73 74 6e 61 6d 65 name=$( hostname
0380: 20 2d 66 20 29 0a 0a 20 20 69 66 20 5b 5b 20 21 -f ).. if [[ !
0390: 20 28 24 68 6f 6d 65 68 6f 73 74 6e 61 6d 65 20 ($homehostname
03a0: 3d 3d 20 24 68 6f 73 74 6e 61 6d 65 29 20 5d 5d == $hostname) ]]
03b0: 3b 20 74 68 65 6e 0a 20 20 20 20 65 63 68 6f 20 ; then. echo
03c0: 22 45 52 52 4f 52 3a 20 74 68 69 73 20 68 6f 73 "ERROR: this hos
03d0: 74 20 28 24 68 6f 73 74 6e 61 6d 65 29 20 69 73 t ($hostname) is
03e0: 20 6e 6f 74 20 74 68 65 20 68 6f 6d 65 68 6f 73 not the homehos
03f0: 74 20 28 24 68 6f 6d 65 68 6f 73 74 6e 61 6d 65 t ($homehostname
0400: 29 20 66 6f 72 20 74 68 69 73 20 6d 65 67 61 74 ) for this megat
0410: 65 73 74 20 72 75 6e 20 61 72 65 61 2e 20 20 43 est run area. C
0420: 61 6e 6e 6f 74 20 73 74 61 72 74 20 64 61 73 68 annot start dash
0430: 62 6f 61 72 64 2e 22 0a 20 20 20 20 65 63 68 6f board.". echo
0440: 20 22 20 20 20 20 20 20 20 50 6c 65 61 73 65 20 " Please
0450: 6c 6f 67 20 69 6e 74 6f 20 68 6f 6d 65 68 6f 73 log into homehos
0460: 74 20 62 65 66 6f 72 65 20 6c 61 75 6e 63 68 69 t before launchi
0470: 6e 67 20 64 61 73 68 62 6f 61 72 64 2e 22 0a 20 ng dashboard.".
0480: 20 20 20 65 78 69 74 20 31 0a 20 20 66 69 0a 66 exit 1. fi.f
0490: 69 0a 0a 23 20 63 68 65 63 6b 20 74 68 61 74 20 i..# check that
04a0: 24 44 49 53 50 4c 41 59 20 69 73 20 73 65 74 0a $DISPLAY is set.
04b0: 69 66 20 5b 5b 20 2d 7a 20 24 44 49 53 50 4c 41 if [[ -z $DISPLA
04c0: 59 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 65 63 Y ]]; then. ec
04d0: 68 6f 20 27 45 52 52 4f 52 3a 20 24 44 49 53 50 ho 'ERROR: $DISP
04e0: 4c 41 59 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 LAY environment
04f0: 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 74 20 variable is not
0500: 73 65 74 3b 20 6d 65 67 61 74 65 73 74 20 64 61 set; megatest da
0510: 73 68 62 6f 61 72 64 20 72 65 71 75 69 72 65 73 shboard requires
0520: 20 58 20 64 69 73 70 6c 61 79 20 61 64 64 72 65 X display addre
0530: 73 73 20 74 6f 20 62 65 20 73 65 74 20 69 6e 20 ss to be set in
0540: 24 44 49 53 50 4c 41 59 2e 27 0a 20 20 20 65 78 $DISPLAY.'. ex
0550: 69 74 20 31 0a 66 69 0a 0a 23 20 63 68 65 63 6b it 1.fi..# check
0560: 20 74 68 61 74 20 24 44 49 53 50 4c 41 59 20 69 that $DISPLAY i
0570: 73 20 70 72 6f 70 65 72 0a 69 66 20 5b 5b 20 2d s proper.if [[ -
0580: 78 20 24 28 77 68 69 63 68 20 78 64 70 79 69 6e x $(which xdpyin
0590: 66 6f 20 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 29 fo 2>/dev/null)
05a0: 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 69 66 20 21 ]]; then. if !
05b0: 20 78 64 70 79 69 6e 66 6f 20 2d 64 69 73 70 6c xdpyinfo -displ
05c0: 61 79 20 22 24 44 49 53 50 4c 41 59 22 20 26 3e ay "$DISPLAY" &>
05d0: 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a /dev/null; then.
05e0: 20 20 20 20 65 63 68 6f 20 27 45 52 52 4f 52 3a echo 'ERROR:
05f0: 20 6d 65 67 61 74 65 73 74 20 64 61 73 68 62 6f megatest dashbo
0600: 61 72 64 20 63 61 6e 6e 6f 74 20 6f 70 65 6e 20 ard cannot open
0610: 64 69 73 70 6c 61 79 20 22 27 24 44 49 53 50 4c display "'$DISPL
0620: 41 59 27 22 2e 20 20 50 6c 65 61 73 65 20 63 68 AY'". Please ch
0630: 65 63 6b 20 24 44 49 53 50 4c 41 59 20 65 6e 76 eck $DISPLAY env
0640: 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c ironment variabl
0650: 65 2e 27 0a 20 20 20 20 65 78 69 74 20 31 0a 20 e.'. exit 1.
0660: 20 66 69 0a 66 69 0a 45 4f 46 0a 0a 66 69 0a 0a fi.fi.EOF..fi..
0670: 65 63 68 6f 20 22 6c 73 62 72 3d 5c 24 28 6c 73 echo "lsbr=\$(ls
0680: 62 5f 72 65 6c 65 61 73 65 20 2d 73 72 29 22 20 b_release -sr)"
0690: 3e 3e 20 24 74 61 72 67 65 74 0a 65 63 68 6f 20 >> $target.echo
06a0: 22 69 66 20 5b 5b 20 2d 65 20 5c 24 6c 73 62 72 "if [[ -e \$lsbr
06b0: 20 5d 5d 3b 74 68 65 6e 20 73 6f 75 72 63 65 20 ]];then source
06c0: 5c 24 6c 73 62 72 3b 66 69 22 20 3e 3e 20 24 74 \$lsbr;fi" >> $t
06d0: 61 72 67 65 74 0a 65 63 68 6f 20 22 65 78 65 63 arget.echo "exec
06e0: 20 24 70 72 65 66 69 78 2f 62 69 6e 2f 2e 5c 24 $prefix/bin/.\$
06f0: 6c 73 62 72 2f 24 63 6d 64 20 5c 22 5c 24 40 5c lsbr/$cmd \"\$@\
0700: 22 22 20 3e 3e 20 24 74 61 72 67 65 74 0a "" >> $target.