mkpkg 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. echo "OK "
  36. else
  37. mv ${LOG} ${LOG_FAIL_FILE}
  38. printf "FAIL "
  39. echo \"$2\"
  40. fi
  41. }
  42. function build_package ()
  43. {
  44. printf "mk %-31s" "$1"
  45. if [ "$2X" == "X" ] ; then # no parameters
  46. clean_files $1
  47. dirclean $1
  48. process $1
  49. elif [ "$2X" == "OKX" ] ; then # Previous build was OK
  50. clean_files $1
  51. dirclean $1
  52. process $1
  53. elif [ "$2X" == "FAILX" ] ; then
  54. clean_files $1
  55. dirclean $1
  56. process $1 $3
  57. elif [ "$2X" == "BROKENX" ] ; then
  58. printf "BROKEN "
  59. echo \"$3\"
  60. fi
  61. }
  62. build_package $1 $2 $3