#!/bin/bash
prefix=$1
cmd=$2
target=$3
cfgfile="$prefix/bin/.$(lsb_release -sr)/cfg.sh"
if [ "$LD_LIBRARY_PATH" != "" ];then
echo "INFO: Using LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >&2
( cat << __EOF
if [ "\$LD_LIBRARY_PATH" != "" ];then
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\$LD_LIBRARY_PATH
else
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
fi
__EOF
) > $cfgfile
echo
else
echo "INFO: LD_LIBRARY_PATH not set" >&2
fi
echo "#!/bin/bash" > $target
if [[ $cmd =~ dboard ]]; then
cat >> $target <<'EOF'
# # disable if not running on homehost
# if [[ -e .homehost ]]; then
# homehostname=$( host `cat .homehost` | awk '{print $NF}' | sed 's/\.$//' )
# hostname=$( hostname -f )
#
# if [[ ! ($homehostname == $hostname) ]]; then
# echo "ERROR: this host ($hostname) is not the homehost ($homehostname) for this megatest run area. Cannot start dashboard."
# echo " Please log into homehost before launching dashboard."
# exit 1
# fi
# fi
# check that $DISPLAY is set
if [[ -z $DISPLAY ]]; then
echo 'ERROR: $DISPLAY environment variable is not set; megatest dashboard requires X display address to be set in $DISPLAY.'
exit 1
fi
# check that $DISPLAY is proper
if [[ -x $(which xdpyinfo 2>/dev/null) ]]; then
if ! xdpyinfo -display "$DISPLAY" &>/dev/null; then
echo 'ERROR: megatest dashboard cannot open display "'$DISPLAY'". Please check $DISPLAY environment variable.'
exit 1
fi
fi
EOF
fi
cat >> $target << EOF
if [[ \$(ulimit -a | grep 'open files' | awk '{print \$4}') -gt 5000 ]];then ulimit -n 5000;fi
EOF
# echo "#!/bin/bash" > $target
# echo "exec $prefix/bin/.\$(lsb_release -sr)/$cmd \"\$@\"" >> $target
echo "lsbr=\$(lsb_release -sr)" >> $target
if [ "$LD_LIBRARY_PATH" != "" ];then
echo "source $prefix/bin/.\$lsbr/cfg.sh" >> $target
fi
# echo "if [[ -e \$lsbr ]];then source \$lsbr;fi" >> $target
echo "exec $prefix/bin/.\$lsbr/$cmd \"\$@\"" >> $target