]> git.wh0rd.org - home.git/blame - .bin/cros-cbuildbot
chroot: clear out vars set by CrOS
[home.git] / .bin / cros-cbuildbot
CommitLineData
3c347239
MF
1#!/bin/bash
2
3384cca9 3set -e
bf6ab864 4
f19b7c42
MF
5vexec() {
6 local i fmt
7 for (( i = 1; i <= $#; ++i )) ; do
8 case ${!i} in
9 *" "*) fmt="'%s'";;
10 *) fmt="%s";;
11 esac
12 printf "${fmt}" "${!i}"
13 if [[ $i -lt $# ]] ; then
14 printf ' '
15 else
16 echo
17 fi
18 done
19 exec "$@"
20}
c297fe22 21
bf6ab864 22cd ~/chromiumos
0f71e16b
MF
23
24# cache the sudo timestamp
25sudo echo "" >/dev/null
26
3c347239 27d=/usr/local/google/home/vapier
70b466db
MF
28if [[ ! -d ${d} ]] ; then
29 exit 1
30fi
31
32d+="/trybot"
bf6ab864 33mkdir -p "${d}"
70b466db
MF
34if mount | grep -qs $d ; then
35 echo "mounts found in $d"
36 exit 1
37fi
bf6ab864
MF
38if [[ -L $d ]] ; then
39 rd=$(readlink $d)
40 if mount | grep -qs $rd ; then
41 echo "mounts found in $rd"
42 exit 1
43 fi
420f8f8a 44fi
3c347239 45
70b466db
MF
46if [[ $1 == "--noclean" ]] ; then
47 shift
426a73af 48elif [[ " $* " != *" --remote "* ]] ; then
3c347239 49 echo "Cleaning ${d}"
0f71e16b
MF
50 pushd "${d}" >/dev/null
51 clean=(
52 built-sdk.tbz2
53 chroot
54 new-sdk-chroot
55 #sdks
56 src/build
57 test_results.tgz
58 trybot_archive
59 )
60 sudo rm -rf "${clean[@]}"
c297fe22
MF
61 if [[ -d ${d}/sdks ]] ; then
62 sudo find "${d}"/sdks -mtime +3 -delete
63 fi
0f71e16b 64 popd >/dev/null
3c347239
MF
65fi
66
67# find all the buildbot branches
0f71e16b 68echo "Looking up repo branches"
3c347239
MF
69repos=$(r b | cut -b4- | awk '$1 == "bb" {
70 # Single repo output:
71 # bb | in src/third_party/portage-stable
72 # Multi repo output:
73 # bb | in:
74 # src/third_party/portage-stable
75 # src/third_party/chromiumos-overlay
76 if ($3 == "in")
77 print $NF
78 while (getline) {
79 if ($2 == "|")
80 break;
81 print $NF;
82 }
83}')
84if [[ -n ${repos} ]] ; then
85 echo "Auto pulling patches from 'bb' branch in repos:"
86 printf '\t%s\n' ${repos}
87
88 p_flag=""
89 for r in ${repos} ; do
90 r=$(r list | awk -v r="${r}" '$1 == r { print $NF }')
91 p_flag+="${r}:bb "
92 done
93
94 set -- -p "${p_flag}" "$@"
95fi
96
3c347239 97vexec cbuildbot --buildroot=${d} "$@"