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