home *** CD-ROM | disk | FTP | other *** search
/ Dream 49 / Amiga_Dream_49.iso / axeneoffice / netbsd-1.0 / packages / xmayday-v123.i386-netbsd-1 / xmayday-v123 / .post_exec < prev    next >
Text File  |  1998-02-10  |  4KB  |  187 lines

  1. #!/bin/sh
  2.  
  3. prefix=$1
  4. lang=$2
  5.  
  6. cd $prefix
  7.  
  8. rm -f .Axene_desc .Icon
  9. if [ -w .Axene_desc ]; then
  10.     rm -f .Axene_desc .Icon
  11. fi
  12.  
  13. #--- Link config files ---
  14. cd $prefix/lib
  15. ln -sf locale/xmaydayrc.$lang xmaydayrc
  16.  
  17. #--- Link ressources files ---
  18. if [ ! -d $prefix/app-defaults ]; then
  19.  mkdir $prefix/app-defaults || exit 1
  20.  chmod 755 $prefix/app-defaults || exit 1
  21. fi
  22. cd $prefix/app-defaults
  23. ln -sf ../lib/locale/XMayday.$lang XMayday
  24.  
  25. #--- Create Exec Script For XMayday ---
  26. #echo "Building script for XMayday: XMayday"
  27. cat << __EOT__ > $prefix/XMayday
  28. #!/bin/sh
  29. # XMayday
  30. # XMayday launch script
  31. # Generated by Installation process
  32. # Copyright (c)1995-97 Axene. All Rights reserved.
  33. # EMail: <axene@axene.com>
  34. # http://www.axene.com/
  35. #
  36.  
  37. #--- Init global variables
  38. SkipLine() { echo " "; }
  39. Fatal() { echo "\${progname}: error: \${1}" 1>&2 ; exit 1; }
  40.  
  41. progname=\`basename \$0\`
  42. bin_list=
  43. name_base=XMayday
  44.  
  45. # ---------------------------------------------------------------------- # 
  46. # AskOneFromList - Let the user choose an item among a list              # 
  47. #                  <text> <default-index> <var > <choice-1>...<choice-n> #
  48. # ---------------------------------------------------------------------- #
  49. AskOneFromList()
  50. {
  51.   _ask_text=\$1
  52.   _ask_default=\$2
  53.   _ask_var=\$3
  54.   shift 3
  55.   _arg_all=\$@
  56.   _arg_num=\$#
  57.  
  58.   while :; do
  59.     if [ "\$force_flag" = "yes" ]; then
  60.       return \$_ask_default
  61.     else
  62.       echo \$_ask_text
  63.       _ask_count=0
  64.       while [ \$_ask_count -lt \$_arg_num ]; do
  65.         if [ \$_ask_count -eq \$_ask_default ]; then
  66.           _ask_reply="(DEFAULT)"
  67.         else
  68.           _ask_reply=
  69.         fi
  70.         _ask_count=\`expr \$_ask_count + 1\`
  71.         eval "echo \"  \\\$_ask_count. \\\$1 \$_ask_reply\""
  72.     shift 1
  73.       done
  74.       read _ask_reply
  75.       if [ -z "\$_ask_reply" ]; then
  76.     _arg_cnt=0
  77.         for _ask_phrase in \$_arg_all; do
  78.          if [ \$_arg_cnt -eq \$_ask_default ]; then
  79.           eval "\$_ask_var=\"\\\$_ask_phrase\""
  80.           break
  81.         fi
  82.         _arg_cnt=\`expr \$_arg_cnt + 1\`
  83.         done        
  84.     return \$_ask_default
  85.       fi
  86.       if [ \$_ask_reply -gt 0 -a \$_ask_reply -le \$_arg_num ]; then
  87.         SkipLine
  88.     _arg_cnt=1
  89.         for _ask_phrase in \$_arg_all; do
  90.          if [ \$_arg_cnt -eq \$_ask_reply ]; then
  91.           eval "\$_ask_var=\"\\\$_ask_phrase\""
  92.           break
  93.          fi
  94.          _arg_cnt=\`expr \$_arg_cnt + 1\`
  95.         done
  96.         return \`expr \$_ask_reply - 1\`
  97.       fi
  98.       echo "ERROR: You must enter a number between 1 and \$_arg_num"
  99.       exit 1
  100.     fi
  101.   done
  102.  
  103. # ---------------------------------------------------------------------- # 
  104. # ---------------------------------------------------------------------- #
  105. TestInHostList()
  106. {
  107.  _Host=`hostname`
  108.  _HostsDB=\$ZHOME/lib/locale/axene.hosts
  109.  
  110.  _count_exec=0
  111.  for _file in \$ZHOME/bin/\${name_base}*; do
  112.   if [ -x \$_file ]; then
  113.    _count_exec=\`expr \$_count_exec + 1\`
  114.   fi
  115.  done
  116.  
  117.  if [ "\$_count_exec" -eq "0" ]; then
  118.    Fatal "No executable found in \$ZHOME/bin/"
  119.  fi
  120.  
  121.  if [ "\$_count_exec" -eq "1" ]; then
  122.   bin_list=\$ZHOME/bin/\${name_base}*
  123.  else
  124.   _No_Host=0
  125.   _Bin_ok=0
  126.   test -r \$_HostsDB || _No_Host=1
  127.   if [ "\$_No_Host" -eq "0" ]; then
  128.    exec 5<\$_HostsDB
  129.    while read _v_host <&5 ; do
  130.      if [ "\$_v_host" = "\$_Host" ]; then
  131.       read bin_list <&5
  132.       bin_list=\$ZHOME/bin/\${name_base}.\${bin_list}
  133.       _Bin_ok=1
  134.       while read _v_host <&5 ; do
  135.       echo flush > /dev/null
  136.       done
  137.      else
  138.       read _v_burk <&5
  139.       read _v_burk <&5
  140.      fi
  141.    done
  142.    exec 5<&-
  143.   else
  144.    echo "No \$_HostsDB defined."
  145.    if [ -w \$ZHOME/lib/locale/ ]; then
  146.     touch \$_HostsDB
  147.    else
  148.     echo "Not authorized to write into directory \$ZHOME/lib/locale/"
  149.    fi
  150.   fi
  151.      
  152.   if [ "\$_Bin_ok" -eq "0" ]; then
  153.    AskOneFromList "Please select the program to execute on \$_Host" 0 bin_list \$ZHOME/bin/\${name_base}*
  154.    if [ ! -w \$_HostsDB ]; then
  155.     echo "Could not add this entry to \$_HostsDB"
  156.    else
  157.     echo "host \\\`\$_Host\' is now associated with program :"
  158.     echo "\\\`\$bin_list\'."
  159.     echo "(if error, edit or delete \$_HostsDB)" 
  160.     echo \$_Host >> \$_HostsDB
  161.     echo \$bin_list | cut -d"." -f2- >> \$_HostsDB
  162.     echo ----- >> \$_HostsDB
  163.    fi
  164.   fi
  165.  fi
  166. }
  167.  
  168. ZHOME=$prefix
  169. AXENE_LIB=\$ZHOME/lib
  170. XMAYDAY_LIB=\$ZHOME/lib
  171. XAPPLRESDIR=\$ZHOME/app-defaults
  172. export AXENE_LIB XMAYDAY_LIB XAPPLRESDIR
  173.  
  174. TestInHostList
  175. exec \$bin_list \$@
  176.  
  177. __EOT__
  178.  
  179.  
  180. chmod 755 $prefix/XMayday
  181. cd $prefix
  182. rm -f .post_exec
  183.  
  184.