(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (= scope= flags=2 words=[] bindings=[('ROOT', {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE]]})]})]) (Com {[LIT_CHARS source]} {[VarSub ROOT] [LIT_CHARS /config-build.sh]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub RELEASES_DIR]} ) (= scope= flags=0 words=[] bindings=[('RELEASES_DIR', {[ComSub (List (Com {[LIT_CHARS cd]} {[VarSub RELEASES_DIR]}) (Com {[LIT_CHARS pwd]}) )]})]) (= scope= flags=0 words=[] bindings=[('BINARY_DIR', {[ComSub (List (Com {[LIT_CHARS cd]} {[VarSub ROOT]}) (Com {[LIT_CHARS pwd]}) )] [LIT_CHARS /binaries]})]) (FunctionDef clean-up [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub RELEASES_DIR]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub BINARY_DIR]} ) ) ) (FunctionDef download-releases [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub RELEASES_DIR]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub RELEASES_DIR]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Download flannel release v"][VarSub FLANNEL_VERSION][LIT_CHARS " ..."]]} ) (Com {[LIT_CHARS curl]} {[LIT_CHARS -L]} {[VarSub FLANNEL_DOWNLOAD_URL]} {[LIT_CHARS -o]} {[VarSub RELEASES_DIR] [LIT_CHARS /flannel.tar.gz]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Download etcd release v"][VarSub ETCD_VERSION][LIT_CHARS " ..."]]} ) (Com {[LIT_CHARS curl]} {[LIT_CHARS -L]} {[VarSub ETCD_DOWNLOAD_URL]} {[LIT_CHARS -o]} {[VarSub RELEASES_DIR] [LIT_CHARS /etcd.tar.gz]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Download kubernetes release v"][VarSub K8S_VERSION][LIT_CHARS " ..."]]} ) (Com {[LIT_CHARS curl]} {[LIT_CHARS -L]} {[VarSub K8S_CLIENT_DOWNLOAD_URL]} {[LIT_CHARS -o]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes-client-linux-amd64.tar.gz]} ) (Com {[LIT_CHARS curl]} {[LIT_CHARS -L]} {[VarSub K8S_SERVER_DOWNLOAD_URL]} {[LIT_CHARS -o]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes-server-linux-amd64.tar.gz]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Download docker release v"][VarSub DOCKER_VERSION][LIT_CHARS " ..."]]} ) (Com {[LIT_CHARS curl]} {[LIT_CHARS -L]} {[VarSub DOCKER_DOWNLOAD_URL]} {[LIT_CHARS -o]} {[VarSub RELEASES_DIR] [LIT_CHARS /docker.tar.gz]} ) ) ) (FunctionDef unpack-releases [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub BINARY_DIR]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub BINARY_DIR] [LIT_CHARS /master/bin]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub BINARY_DIR] [LIT_CHARS /node/bin]} ) (If (DBracket {B1 UNARY_FILE_f {[VarSub RELEASES_DIR] [LIT_CHARS /flannel.tar.gz]}}) (List (Com {[LIT_CHARS tar]} {[LIT_CHARS xzf]} {[VarSub RELEASES_DIR] [LIT_CHARS /flannel.tar.gz]} {[LIT_CHARS -C]} {[VarSub RELEASES_DIR]} ) (Com {[LIT_CHARS cp]} {[VarSub RELEASES_DIR] [LIT_CHARS /flannel-] [VarSub FLANNEL_VERSION] [LIT_CHARS /flanneld]} {[VarSub BINARY_DIR] [LIT_CHARS /master/bin]} ) (Com {[LIT_CHARS cp]} {[VarSub RELEASES_DIR] [LIT_CHARS /flannel-] [VarSub FLANNEL_VERSION] [LIT_CHARS /flanneld]} {[VarSub BINARY_DIR] [LIT_CHARS /node/bin]} ) ) ) (If (DBracket {B1 UNARY_FILE_f {[VarSub RELEASES_DIR] [LIT_CHARS /etcd.tar.gz]}}) (List (Com {[LIT_CHARS tar]} {[LIT_CHARS xzf]} {[VarSub RELEASES_DIR] [LIT_CHARS /etcd.tar.gz]} {[LIT_CHARS -C]} {[VarSub RELEASES_DIR]} ) (= scope= flags=0 words=[] bindings=[('ETCD', {[DQ [LIT_CHARS etcd-v][VarSub ETCD_VERSION][LIT_CHARS -linux-amd64]]})]) (Com {[LIT_CHARS cp]} {[VarSub RELEASES_DIR] [LIT_CHARS /] [VarSub ETCD] [LIT_CHARS /etcd]} {[VarSub RELEASES_DIR] [LIT_CHARS /] [VarSub ETCD] [LIT_CHARS /etcdctl]} {[VarSub BINARY_DIR] [LIT_CHARS /master/bin]} ) (Com {[LIT_CHARS cp]} {[VarSub RELEASES_DIR] [LIT_CHARS /] [VarSub ETCD] [LIT_CHARS /etcd]} {[VarSub RELEASES_DIR] [LIT_CHARS /] [VarSub ETCD] [LIT_CHARS /etcdctl]} {[VarSub BINARY_DIR] [LIT_CHARS /node/bin]} ) ) ) (If (DBracket {B1 UNARY_FILE_f {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes-client-linux-amd64.tar.gz]}}) (List (Com {[LIT_CHARS tar]} {[LIT_CHARS xzf]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes-client-linux-amd64.tar.gz]} {[LIT_CHARS -C]} {[VarSub RELEASES_DIR]} ) (Com {[LIT_CHARS cp]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes/client/bin/kubectl]} {[VarSub BINARY_DIR]} ) ) ) (If (DBracket {B1 UNARY_FILE_f {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes-server-linux-amd64.tar.gz]}}) (List (Com {[LIT_CHARS tar]} {[LIT_CHARS xzf]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes-server-linux-amd64.tar.gz]} {[LIT_CHARS -C]} {[VarSub RELEASES_DIR]} ) (Com {[LIT_CHARS cp]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes/server/bin/kube-apiserver]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes/server/bin/kube-controller-manager]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes/server/bin/kube-scheduler]} {[VarSub BINARY_DIR] [LIT_CHARS /master/bin]} ) (Com {[LIT_CHARS cp]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes/server/bin/kubelet]} {[VarSub RELEASES_DIR] [LIT_CHARS /kubernetes/server/bin/kube-proxy]} {[VarSub BINARY_DIR] [LIT_CHARS /node/bin]} ) ) ) (If (DBracket {B1 UNARY_FILE_f {[VarSub RELEASES_DIR] [LIT_CHARS /docker.tar.gz]}}) (List (Com {[LIT_CHARS tar]} {[LIT_CHARS xzf]} {[VarSub RELEASES_DIR] [LIT_CHARS /docker.tar.gz]} {[LIT_CHARS -C]} {[VarSub RELEASES_DIR]} ) (Com {[LIT_CHARS cp]} {[VarSub RELEASES_DIR] [LIT_CHARS /docker/docker] [LIT_OTHER "*"]} {[VarSub BINARY_DIR] [LIT_CHARS /node/bin]} ) ) ) (Com {[LIT_CHARS chmod]} {[LIT_CHARS -R]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[VarSub BINARY_DIR]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Done! All binaries are stored in "][VarSub BINARY_DIR]]} ) ) ) (FunctionDef parse-opt [] (List (= scope= flags=0 words=[] bindings=[('opt', {[VarSub 1 test_op=VS_TEST_HYPHEN {}]})]) (Case to_match={[VarSub opt]}, pat_word_list=[[{[LIT_CHARS download]}], [{[LIT_CHARS unpack]}], [{[LIT_CHARS clean]}], [{[LIT_CHARS all]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS download-releases]} ) (Com {[LIT_CHARS unpack-releases]} ) (Com {[LIT_CHARS clean-up]} ) (List (Com {[LIT_CHARS download-releases]} ) (Com {[LIT_CHARS unpack-releases]} ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " build.sh "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Commands:"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " clean Clean up downloaded releases and unpacked binaries."]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " download Download releases to "][\ LIT_ESCAPED_CHAR "\\\""][VarSub RELEASES_DIR][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS .]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " unpack Unpack releases downloaded in "][\ LIT_ESCAPED_CHAR "\\\""][VarSub RELEASES_DIR][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ", and copy binaries to "][\ LIT_ESCAPED_CHAR "\\\""][VarSub BINARY_DIR][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS .]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " all Download releases and unpack them."]]} ) ) ) ) ) (Com {[LIT_CHARS parse-opt]} {[VarSub @]} ) )