mkpkg 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #!/bin/bash
  2. OK=0
  3. FAIL=1
  4. TOPDIR=`pwd`
  5. LOG_FILE=$1.log
  6. LOG_DIR=${TOPDIR}/log/
  7. LOG=${LOG_DIR}/${LOG_FILE}
  8. DEPENDENCY=${LOG_DIR}/DEPEND/$1.depend.txt
  9. LOG_OK_DIR=${LOG_DIR}/OK
  10. LOG_FAIL_DIR=${LOG_DIR}/FAIL
  11. LOG_OK_FILE=${LOG_OK_DIR}/${LOG_FILE}.OK
  12. LOG_FAIL_FILE=${LOG_FAIL_DIR}/${LOG_FILE}.FAIL
  13. mkdir -p ${LOG_DIR}
  14. mkdir -p ${LOG_OK_DIR}
  15. mkdir -p ${LOG_FAIL_DIR}
  16. mkdir -p ${LOG_DIR}/DEPEND
  17. test=${OK}
  18. function clean_files()
  19. {
  20. rm -f ${LOG}
  21. rm -f ${LOG_OK_FILE}
  22. rm -f ${LOG_FAIL_FILE}
  23. rm -f ${DEPENDENCY}
  24. }
  25. function dirclean ()
  26. {
  27. make $1-dirclean > /dev/null 2>&1
  28. }
  29. function process ()
  30. {
  31. make $1 >> ${LOG} 2>&1 || test=${FAIL}
  32. grep "\.tar\." ${LOG} > ${DEPENDENCY}
  33. if [ ${test} = ${OK} ] ; then
  34. mv ${LOG} ${LOG_OK_FILE}
  35. printf "%-16s" "OK"
  36. if [ "${2}X" != "X" ] ; then
  37. printf "%-16s" "\"$2\"";
  38. fi
  39. if [ "${3}X" != "X" ] ; then
  40. printf "%s" "\"$3\"";
  41. fi
  42. echo
  43. else
  44. mv ${LOG} ${LOG_FAIL_FILE}
  45. printf "%-16s" "FAIL"
  46. if [ "${2}X" != "X" ] ; then
  47. printf "%-16s" "\"$2\"";
  48. else
  49. printf "%-16s" "\"\""
  50. fi
  51. if [ "${3}X" != "X" ] ; then
  52. printf "%s" "\"$3\"";
  53. fi
  54. echo
  55. fi
  56. }
  57. function build_package ()
  58. {
  59. # echo "BUILD PACKAGE:1=$1 2=$2 3=$3 4=$4 5=$5 6=$6 7=$7"
  60. printf "mk %-32s" "$1"
  61. if [ "$2X" = "X" ] ; then # no parameters
  62. clean_files $1
  63. dirclean $1
  64. process $1 "$3"
  65. elif [ "$2X" = "?X" ] ; then # no parameters
  66. clean_files $1
  67. dirclean $1
  68. process $1 "$3"
  69. elif [ "$2X" = "OKX" ] ; then # Previous build was OK
  70. clean_files $1
  71. dirclean $1
  72. process $1 "$3"
  73. elif [ "$2X" = "FAILX" ] ; then
  74. clean_files $1
  75. dirclean $1
  76. process $1 "$3"
  77. elif [ "$2X" = "BROKENX" ] ; then
  78. printf "%-16s" "BROKEN"
  79. if [ "${3}X" != "X" ] ; then
  80. printf "%s" "\"$3\"";
  81. fi
  82. echo
  83. elif [ "$2X" = "DISABLEDX" ] ; then
  84. printf "%-16s" "DISABLED"
  85. if [ "${3}X" != "X" ] ; then
  86. printf "%s" "\"$3\"";
  87. fi
  88. echo
  89. else
  90. printf "%-16s" "?BROKEN"
  91. if [ "${3}X" != "X" ] ; then
  92. printf "%s" "\"$3\"";
  93. fi
  94. echo
  95. fi
  96. }
  97. #build_package $1 $2 "\"$3\""
  98. build_package $1 $2 "$3"