summaryrefslogtreecommitdiff
path: root/localcowdebuild
blob: c1eaab8570073138101ae959186dbb7936b076db (plain)
  1. #!/bin/sh
  2. #
  3. # Copyright © 2006-2008 Jonas Smedegaard <dr@jones.dk>
  4. # Description: Compile Debian package inside Copy-On-Write environment
  5. #
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2, or (at your option)
  9. # any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful, but
  12. # WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. # General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  19. # 02111-1307 USA.
  20. #
  21. # Depends: cowdancer, devscripts
  22. set -e
  23. PRG=$(basename "$0")
  24. showhelp() {
  25. cat <<EOF
  26. Usage: $PRG POOL [debbuildopts] [-- pbuilderopts]"
  27. Example: $PRG sarge_with_hacks -B"
  28. EOF
  29. }
  30. if [ $# -eq 0 ]; then
  31. showhelp
  32. exit 1
  33. fi
  34. pools=''
  35. pdebuildopts=''
  36. debbuildopts=''
  37. while [ $# -gt 0 ]; do
  38. case $1 in
  39. -h|--help)
  40. showhelp
  41. exit 0
  42. ;;
  43. --)
  44. shift
  45. break
  46. ;;
  47. --*)
  48. echo "ERROR: Unknown argument \"$1\"!" >&2
  49. showhelp
  50. exit 1
  51. ;;
  52. -*)
  53. debbuildopts="$debbuildopts $1"
  54. shift
  55. ;;
  56. *)
  57. pools="$pools $1"
  58. shift
  59. ;;
  60. esac
  61. done
  62. for pool in $pools; do
  63. basepath="/var/cache/pbuilder/cow-$pool"
  64. buildplace="/var/cache/pbuilder/build-$pool"
  65. aptcache="/var/cache/pbuilder/aptcache-$pool/"
  66. hookdir="/var/cache/pbuilder/hooks-$pool/"
  67. buildresult="$HOME/src/pbuild-$pool/"
  68. pdebuild \
  69. --pbuilder cowbuilder \
  70. --buildresult "$buildresult" \
  71. ${debbuildopts:+--debbuildopts "$debbuildopts"} \
  72. $pdebuildopts \
  73. -- \
  74. --basepath "$basepath" \
  75. --buildplace "$buildplace" \
  76. --aptcache "$aptcache" \
  77. --hookdir "$hookdir" \
  78. --pkgname-logfile \
  79. $@
  80. done