make_proto.sh.in
上传用户:weiyuanprp
上传日期:2020-05-20
资源大小:1169k
文件大小:4k
源码类别:

传真(Fax)编程

开发平台:

C/C++

  1. #! @SCRIPT_SH@
  2. # $Id: make_proto.sh.in,v 1.5 2009/01/10 21:32:00 faxguy Exp $
  3. #
  4. # Tim Rice Wed Sep 24 18:19:04 PDT 1997
  5. #
  6. # Make prototype
  7. #
  8. # System utilities used: cat, dirname, grep, mkdir, rm, sed, sort, tr
  9. #
  10. LANG=C export LANG
  11. DIR_BIN=@BIN@
  12. DIR_LIB=@LIBDATA@
  13. DIR_SLIB=@LIBEXEC@
  14. DIR_MAN=@MANDIR@
  15. DIR_SBIN=@SBIN@
  16. DIR_SPOOL=@SPOOL@
  17. DIR_CGI=@CGIDIR@
  18. DIR_SYSVINIT=@SYSVINITDIR@
  19. DIR_SYSVINITSTART="@SYSVINITDIR@/@SYSVINITSTARTDIR@"
  20. DIR_SYSVINITSTOP="@SYSVINITDIR@/@SYSVINITSTOPDIR@"
  21. MANNUM1_8=@MANNUM1_8@
  22. MANNUM4_5=@MANNUM4_5@
  23. MANSCHEME=@MANSCHEME@
  24. LMANNUM1_8=`echo ${MANNUM1_8} | tr '[A-Z]' '[a-z]'`
  25. LMANNUM4_5=`echo ${MANNUM4_5} | tr '[A-Z]' '[a-z]'`
  26. TMP_DIR=/tmp/.$$hylafax
  27. TMP_LIST=$$tmp
  28. LIST="${DIR_BIN} ${DIR_LIB} ${DIR_SLIB} ${DIR_MAN} ${DIR_SBIN}"
  29. case $1 in
  30. client) PROTOTYPE=cproto
  31. DO_HTML="no"
  32. ;;
  33. server) PROTOTYPE=sproto
  34. LIST="${LIST} ${DIR_SPOOL}"
  35. DO_HTML="@HTML@"
  36. [ -d ${TMP_DIR} ]  &&  {
  37. rm -fr ${TMP_DIR}  ||  {
  38. echo "rm -fr ${TMP_DIR} failed"
  39. exit 1
  40. }
  41. }
  42. (umask 077 ; mkdir ${TMP_DIR})
  43. ;;
  44. *) echo "usage: $0 server or client"
  45. exit 1 ;;
  46. esac
  47. for i in ${LIST}
  48. do
  49. # skip the first one, it's in prototype.stub
  50. i=`dirname ${i}`
  51. while [ ${i} != / ]
  52. do
  53. echo "d none ${i} ? ? ?" >> ${TMP_LIST}
  54. i=`dirname ${i}`
  55. done
  56. done
  57. if [ ${DO_HTML} = yes ]
  58. then
  59. # skip the first one, it's in prototype.stub
  60. DIR_CGI=`dirname ${DIR_CGI}`
  61. while [ ${DIR_CGI} != / ]
  62. do
  63. grep "d html ${DIR_CGI} ? ? ?" ${TMP_LIST} >/dev/null 
  64. || echo "d html ${DIR_CGI} ? ? ?" >> ${TMP_LIST}
  65. DIR_CGI=`dirname ${DIR_CGI}`
  66. done
  67. fi
  68. if [ ${PROTOTYPE} = sproto ]
  69. then
  70. for i in ${DIR_SYSVINITSTART}
  71. do
  72. case ${i} in
  73. /*) ;;
  74. *) i=${DIR_SYSVINIT}/${i} ;;
  75. esac
  76. mkdir -p ${TMP_DIR}/${i}
  77. i=`(cd ${TMP_DIR}/${i} ; pwd) | sed "s~${TMP_DIR}~~"`
  78. rm -fr ${TMP_DIR}/*
  79. echo "s none ${i}/@SYSVINITSTARTNAME@=@SYSVINITDIR@/hylafax" >> ${TMP_LIST}
  80. while [ ${i} != / ]
  81. do
  82. echo "d none ${i} ? ? ?" >> ${TMP_LIST}
  83. i=`dirname ${i}`
  84. done
  85. done
  86. for i in ${DIR_SYSVINITSTOP}
  87. do
  88. case ${i} in
  89. /*) ;;
  90. *) i=${DIR_SYSVINIT}/${i} ;;
  91. esac
  92. mkdir -p ${TMP_DIR}/${i}
  93. i=`(cd ${TMP_DIR}/${i} ; pwd) | sed "s~${TMP_DIR}~~"`
  94. rm -fr ${TMP_DIR}/*
  95. echo "s none ${i}/@SYSVINITSTOPNAME@=@SYSVINITDIR@/hylafax" >> ${TMP_LIST}
  96. while [ ${i} != / ]
  97. do
  98. echo "d none ${i} ? ? ?" >> ${TMP_LIST}
  99. i=`dirname ${i}`
  100. done
  101. done
  102. rm -fr ${TMP_DIR}
  103. echo "f none ${DIR_SYSVINIT}/hylafax=../etc/hylafax 0755 @SYSUID@ @SYSGID@" >> ${TMP_LIST}
  104. while [ ${DIR_SYSVINIT} != / ]
  105. do
  106. echo "d none ${DIR_SYSVINIT} ? ? ?" >> ${TMP_LIST}
  107. DIR_SYSVINIT=`dirname ${DIR_SYSVINIT}`
  108. done
  109. [ -d /etc/config ]  &&  {
  110. echo "d none /etc ? ? ?" >> ${TMP_LIST}
  111. echo "d none /etc/config ? ? ?" >> ${TMP_LIST}
  112. echo "f none /etc/config/fax=../etc/config.fax 0644 @SYSUID@ @SYSGID@" >> ${TMP_LIST}
  113. }
  114. fi
  115. # prototype file
  116. cat >${PROTOTYPE} <<EOF
  117. i copyright
  118. i depend
  119. i pkginfo
  120. i request
  121. i postinstall
  122. i preremove
  123. i postremove
  124. EOF
  125. [ -s preinstall ]  &&  echo "i preinstall" >> ${PROTOTYPE}
  126. [ -s space ]  &&  echo "i space" >> ${PROTOTYPE}
  127. grep -v "^#" proto.local >> ${PROTOTYPE}
  128. sort -u ${TMP_LIST} >> ${PROTOTYPE}
  129. rm ${TMP_LIST}
  130. grep " none " ${PROTOTYPE}.stub >> ${PROTOTYPE}
  131. case ${MANSCHEME} in
  132. # assume if it's compressed, it should end with .Z
  133. *-compress-strip) grep " man " ${PROTOTYPE}.stub | sed 
  134. -e "s~.1=~.1.Z=~" 
  135. -e "s~.${MANNUM1_8}=~.1.Z=~" 
  136. -e "s~.${MANNUM4_5}=~.4.Z=~" >> ${PROTOTYPE}
  137. ;;
  138. *) grep " man " ${PROTOTYPE}.stub | sed 
  139. -e "s~.${MANNUM1_8}=~.${LMANNUM1_8}=~" 
  140. -e "s~.${MANNUM4_5}=~.${LMANNUM4_5}=~" >> ${PROTOTYPE}
  141. ;;
  142. esac
  143. if [ ${DO_HTML} = yes ]
  144. then
  145. grep " html " ${PROTOTYPE}.stub >> ${PROTOTYPE}
  146. fi