summaryrefslogtreecommitdiffstats
path: root/tasks/bootstrap.task.sh
blob: 7372c7e613c119fa27bb4f0fa97a041e5713a8bb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
bootstrap_append="update update_chrootscripts locales"
bootstrap_runtime_dependencies="bootstrap_precheck"

bootstrap () {

  local ME=bootstrap

  [ ! -d $BROOT_BUILDROOT_PATH ] && mkdir -p $BROOT_BUILDROOT_PATH

  echo "  broot is going to run debootsrap now:                        ~-_"
  echo "     depending on your machine/connection this can            _-~ "
  echo "     take up to 20min.. time enough for a coffee ;)         c|_|  "
  echo "  press Strg-c to abbort"
  echo -n "  Starting debootsrap in .. "
  echo -en "${R}3${NONE} " && sleep 1 && \
  echo -en "${R}2${NONE} " && sleep 1 && \
  echo -en "${R}1${NONE} " && sleep 1 && \
  echo ".. go "
  
  export DEBOOTSTRAP_DIR="$BROOT_BASE_DIR/contrib/debootstrap"

  # create directory for scripts to be run inside the buildroot
  mkdir -p "$BROOT_BUILDROOT_PATH/root/bin"
  
  # create bindmount outside to apt cache outside chroot
  mkdir -p "/tmp/deb/partial"
  mkdir -p "$BROOT_BUILDROOT_PATH/var/cache/apt/archives"
  mount -o bind "/tmp/deb" "$BROOT_BUILDROOT_PATH/var/cache/apt/archives"

  # run bootstrap itself
  echo -n "  debootstrap running: "
  $DEBOOTSTRAP_DIR/debootstrap --arch="i386" squeeze $BROOT_BUILDROOT_PATH http://ftp.de.debian.org/debian | tee $BROOT_LOG.$ME - | awk '{printf "."}'
  lastline=$(tail -n 1 $BROOT_LOG.$ME)
  echo "done"
  echo "  debootstrap finished with: $lastline"

  # write bootstrap lock
  touch $BROOT_BUILDROOT_PATH/bootstraped
  
  # add non-free to apt sources
  sed -i -e "s,main,main non-free," $BROOT_BUILDROOT_PATH/etc/apt/sources.list

  echo "  update package list"
  # update package list
  chroot-exec apt-get update >> $BROOT_LOG.$ME
  echo "  finished all for bootstrap"
}