build-helpers.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. set +h
  2. logenv() {
  3. cat << EOF | tee "$logdir"/env.log
  4. package: $package
  5. source: $pkgver.$ext
  6. md5sum: $src_md5
  7. srcdir: $srcdir
  8. builddir: $builddir
  9. installdir: $installdir
  10. logdir: $logdir
  11. EOF
  12. }
  13. unpack_commands() {
  14. cd "$basedir"
  15. check_md5=$(awk "/[[:space:]]+$src$/ {print \$1}" md5sums)
  16. [[ $check_md5 = $src_md5 ]] || {
  17. >&2 printf 'Incorrect md5sums: %s != %s\n' $src_md5 $check_md5
  18. exit 1
  19. }
  20. TARFLAGS="xvf"
  21. case $ext in
  22. tar.bz2)
  23. TARFLAGS+=j
  24. ;;
  25. esac
  26. [[ -d "$srcdir" ]] || tar $TARFLAGS "$src"
  27. [[ -d "$builddir" ]] || mkdir -pv "$builddir"
  28. }
  29. configure_commands() {
  30. cd "$builddir"
  31. "$srcdir"/configure
  32. }
  33. make_commands() {
  34. cd "$builddir"
  35. make
  36. }
  37. install_commands() {
  38. cd "$builddir"
  39. make DESTDIR="$installdir" install
  40. cd "$installdir"
  41. find -mindepth 1 -type d -exec mkdir -pv /{} \;
  42. find -H -mindepth 1 \( -type f -o -type l \) -exec cp -v -d {} /{} \;
  43. }
  44. uninstall_commands() {
  45. [[ -d "$installdir" ]] && {
  46. pushd "$installdir" > /dev/null
  47. find -H -mindepth 1 \( -type f -o -type l \) -exec rm -vf /{} \;
  48. popd > /dev/null
  49. rm -rvf "$installdir"
  50. }
  51. }
  52. clean_commands() { :
  53. echo -n "Uninstalling ... "
  54. uninstall_commands
  55. echo Done.
  56. echo -n "Removing log files ... "
  57. for stage in $stages; do
  58. for ext in log err; do
  59. f="$logdir/$stage.$ext"
  60. [[ -f "$f" ]] && rm -vf "$f"
  61. done
  62. done
  63. echo Done.
  64. echo -n "Deleting extracted sources ... "
  65. for d in "$srcdir" "$builddir"; do
  66. [[ -d "$d" ]] && rm -rvf "$d"
  67. done
  68. echo Done.
  69. }
  70. check_pipe() {
  71. for s in "${PIPESTATUS[@]}"; do
  72. [[ $s -ne 0 ]] && { echo " FAILED!" ; exit 1 ; }
  73. done
  74. echo " successful!"
  75. return 0
  76. }