(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]}) (If (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_CHARS -lt]} {[LIT_CHARS 4]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: bisectinate ARCH PACKAGE REPO[@BAD] GOOD [TEST...]"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Bisect PACKAGE for ARCH, from START to BAD within REPO"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('ARCH', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('PKG', {[DQ [VarSub 2]]})]) (= scope= flags=0 words=[] bindings=[('REPO', {[DQ [VarSub 3 transform_ops=[PatSub {[LIT_CHARS "@*"]} {}]]]})]) (= scope= flags=0 words=[] bindings=[('BRANCH', {[DQ [VarSub 3 transform_ops=[PatSub {[LIT_CHARS "*@"]} {}]]]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub BRANCH]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[DQ [VarSub 3]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('BRANCH', {[LIT_CHARS master]})]) ) (= scope= flags=0 words=[] bindings=[('START', {[DQ [VarSub 4]]})]) (Com {[LIT_CHARS shift]} {[LIT_CHARS 4]}) (= scope= flags=0 words=[] bindings=[('TEST', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('TOP', {[DQ [ComSub (Com {[LIT_CHARS pwd]})]]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub SRCDIR]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('SRCDIR', {[DQ [VarSub TOP][LIT_CHARS /packages]]})]) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub BUILD]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('BUILD', {[DQ [VarSub TOP][LIT_CHARS /build]]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub REPO][LIT_CHARS /.git]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "No git repo at "][VarSub REPO]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub TEST]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('TEST', {[LIT_CHARS true]})]) ) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub PKG]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[LIT_CHARS linux]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -e]} {[DQ [VarSub BUILD][LIT_CHARS /root-filesystem-][VarSub ARCH]] [LIT_CHARS .tar.bz2]} {[LIT_OTHER "]"]}) ) (= scope= flags=0 words=[] bindings=[('ZAPJUST', {[LIT_CHARS linux-kernel]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub PKG]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[LIT_CHARS busybox]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -e]} {[DQ [VarSub BUILD][LIT_CHARS /simple-cross-compiler-][VarSub ARCH][LIT_CHARS .tar.bz2]]} {[LIT_OTHER "]"]}) ) (= scope= flags=0 words=[] bindings=[('ZAPJUST', {[LIT_CHARS root-filesystem]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('ZAPJUST', {[SQ ]})]) ) (AndOr OP_AND_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub BUILD][LIT_CHARS /packages/alt-][VarSub PKG]]} {[DQ [VarSub SRCDIR][LIT_CHARS /alt-][VarSub PKG][LIT_CHARS -0.tar.bz2]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub BUILD]] [LIT_CHARS /] [LIT_LBRACE "{"] [LIT_CHARS logs] [LIT_COMMA ","] [LIT_CHARS packages] [LIT_RBRACE "}"]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub BUILD][LIT_CHARS /packages]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS clone]} {[DQ [VarSub REPO]]} {[DQ [LIT_CHARS alt-][VarSub PKG]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [LIT_CHARS alt-][VarSub PKG]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS bisect]} {[LIT_CHARS start]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS bisect]} {[LIT_CHARS good]} {[DQ [VarSub START]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) ) ) ) ) (= scope= flags=0 words=[] bindings=[('RESULT', {[DQ [LIT_CHARS "bad "][VarSub BRANCH]]})]) (While (Com {[LIT_CHARS true]}) (List (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub BUILD][LIT_CHARS /packages/alt-][VarSub PKG]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS clean]} {[LIT_CHARS -fdx]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS -f]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (= scope= flags=0 words=[] bindings=[('RESULT', {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS bisect]} {[VarSub RESULT]})]]})]) (Com {[LIT_CHARS echo]} {[DQ [VarSub RESULT]]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub RESULT]]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "^Bisecting:"]]}) )]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS exit]}) ) (Com {[LIT_CHARS git]} {[LIT_CHARS show]} < (FilenameRedirectNode filename={[DQ [VarSub BUILD][LIT_CHARS /logs/bisectinate-][VarSub ARCH][LIT_CHARS .txt]]} "> 1), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS bisect]} {[LIT_CHARS log]} < (FilenameRedirectNode filename={[DQ [VarSub BUILD][LIT_CHARS /logs/bisectinate-][VarSub ARCH][LIT_CHARS .log]]} "> 1), > ) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[LIT_CHARS HEAD]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS cat]}) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS Testing...]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub TOP]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub ZAPJUST]]} {[LIT_OTHER "]"]}) (AndOr OP_OR_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub BUILD][LIT_CHARS /][VarSub ZAPJUST][LIT_CHARS -][VarSub ARCH]] [LIT_LBRACE "{"] [LIT_COMMA ","] [LIT_CHARS .tar.bz2] [LIT_RBRACE "}"]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub BUILD]] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS -] [DQ [VarSub ARCH]] [LIT_LBRACE "{"] [LIT_COMMA ","] [LIT_CHARS .tar.bz2] [LIT_RBRACE "}"]}) ) ) (Pipeline (Com {[LIT_CHARS ./build.sh]} {[DQ [VarSub ARCH]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > more_env=[('EXTRACT_ALL', {[LIT_CHARS 1]}), ('ALLOW_PATCH_FAILURE', {[LIT_CHARS 1]}), ('USE_ALT', {[DQ [VarSub PKG]]})] ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[DQ [VarSub BUILD]] [LIT_CHARS /logs/bisectinate-] [DQ [VarSub ARCH]] [LIT_CHARS .txt]}) ) (= scope= flags=0 words=[] bindings=[('RESULT', {[LIT_CHARS bad]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -e]} {[DQ [VarSub BUILD]] [LIT_CHARS /system-image-] [DQ [VarSub ARCH]] [LIT_CHARS .tar.bz2]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]}) (Pipeline (Com {[LIT_CHARS more/timeout.sh]} {[LIT_CHARS 60]} {[DQ [VarSub TEST]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > more_env=[('ARCH', {[DQ [VarSub ARCH]]})] ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[DQ [VarSub BUILD][LIT_CHARS /logs/bisectinate-][VarSub ARCH]] [LIT_CHARS .txt]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[VarSub ?]} {[LIT_CHARS -eq]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('RESULT', {[LIT_CHARS good]})]) ) ) ) (Com {[LIT_CHARS mv]} {[DQ [VarSub BUILD]] [LIT_CHARS /logs/bisectinate] [LIT_LBRACE "{"] [LIT_COMMA ","] [LIT_CHARS -] [VarSub RESULT] [LIT_RBRACE "}"] [LIT_CHARS -] [DQ [VarSub ARCH]] [LIT_CHARS .txt]}) ) ) )