]> git.wh0rd.org - home.git/blame - .bin/cros-cbuildbot
setup more gnu vars
[home.git] / .bin / cros-cbuildbot
CommitLineData
3c347239
MF
1#!/bin/bash
2
0f71e16b
MF
3if ! cbuildbot -h >& /dev/null ; then
4 cd ~/chromiumos || exit 1
5fi
6
7# cache the sudo timestamp
8sudo echo "" >/dev/null
9
3c347239
MF
10d=/usr/local/google/home/vapier
11if [[ -d ${d} ]] ; then
12 d+="/trybot"
13 if mount | grep -qs $d ; then
14 echo "mounts found in $d"
15 exit 1
16 fi
17
18 echo "Cleaning ${d}"
0f71e16b
MF
19 pushd "${d}" >/dev/null
20 clean=(
21 built-sdk.tbz2
22 chroot
23 new-sdk-chroot
24 #sdks
25 src/build
26 test_results.tgz
27 trybot_archive
28 )
29 sudo rm -rf "${clean[@]}"
30 popd >/dev/null
3c347239
MF
31else
32 exit 1
33fi
34
35# find all the buildbot branches
0f71e16b 36echo "Looking up repo branches"
3c347239
MF
37repos=$(r b | cut -b4- | awk '$1 == "bb" {
38 # Single repo output:
39 # bb | in src/third_party/portage-stable
40 # Multi repo output:
41 # bb | in:
42 # src/third_party/portage-stable
43 # src/third_party/chromiumos-overlay
44 if ($3 == "in")
45 print $NF
46 while (getline) {
47 if ($2 == "|")
48 break;
49 print $NF;
50 }
51}')
52if [[ -n ${repos} ]] ; then
53 echo "Auto pulling patches from 'bb' branch in repos:"
54 printf '\t%s\n' ${repos}
55
56 p_flag=""
57 for r in ${repos} ; do
58 r=$(r list | awk -v r="${r}" '$1 == r { print $NF }')
59 p_flag+="${r}:bb "
60 done
61
62 set -- -p "${p_flag}" "$@"
63fi
64
65vexec() { echo "$@"; exec "$@"; }
66vexec cbuildbot --buildroot=${d} "$@"