(List (= scope= flags=2 words=[] bindings=[('RELEASE_STAGE', {[DQ [VarSub LOCAL_OUTPUT_ROOT][LIT_CHARS /release-stage]]})]) (= scope= flags=2 words=[] bindings=[('RELEASE_DIR', {[DQ [VarSub LOCAL_OUTPUT_ROOT][LIT_CHARS /release-tars]]})]) (FunctionDef kube::release::parse_and_validate_ci_version [] (List (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('version_regex', {[DQ [LIT_CHARS "^v(0|[1-9][0-9]*)"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS ".(0|[1-9][0-9]*)"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS ".(0|[1-9][0-9]*)-(beta|alpha)"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS ".(0|[1-9][0-9]*)("][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS ".(0|[1-9][0-9]*)"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "+[0-9a-f]{7,40})?"][LIT_OTHER "$"]]})]) (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('version', {[DQ [VarSub 1 test_op=VS_TEST_HYPHEN {}]]})]) (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[DQ [VarSub version]]} {[VarSub version_regex]}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "Invalid ci version: '"][VarSub version][LIT_CHARS "', must match regex "][VarSub version_regex]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('VERSION_MAJOR', {[DQ [VarSub BASH_REMATCH bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}})]]})]) (= scope= flags=0 words=[] bindings=[('VERSION_MINOR', {[DQ [VarSub BASH_REMATCH bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}})]]})]) (= scope= flags=0 words=[] bindings=[('VERSION_PATCH', {[DQ [VarSub BASH_REMATCH bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 3]}})]]})]) (= scope= flags=0 words=[] bindings=[('VERSION_PRERELEASE', {[DQ [VarSub BASH_REMATCH bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 4]}})]]})]) (= scope= flags=0 words=[] bindings=[('VERSION_PRERELEASE_REV', {[DQ [VarSub BASH_REMATCH bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 5]}})]]})]) (= scope= flags=0 words=[] bindings=[('VERSION_BUILD_INFO', {[DQ [VarSub BASH_REMATCH bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 6]}})]]})]) (= scope= flags=0 words=[] bindings=[('VERSION_COMMITS', {[DQ [VarSub BASH_REMATCH bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 7]}})]]})]) ) ) (FunctionDef kube::release::clean_cruft [] (List (Com {[LIT_CHARS find]} {[VarSub RELEASE_STAGE]} {[LIT_CHARS -name]} {[SQ ]} {[LIT_CHARS -exec]} {[LIT_CHARS rm]} {[LIT_LBRACE "{"] [LIT_RBRACE "}"]} {[\ LIT_ESCAPED_CHAR "\\;"]} ) (Com {[LIT_CHARS find]} {[VarSub RELEASE_STAGE]} {[LIT_CHARS -name]} {[SQ ]} {[LIT_CHARS -exec]} {[LIT_CHARS rm]} {[LIT_LBRACE "{"] [LIT_RBRACE "}"]} {[\ LIT_ESCAPED_CHAR "\\;"]} ) (Com {[LIT_CHARS find]} {[VarSub RELEASE_STAGE]} {[LIT_CHARS -name]} {[SQ ]} {[LIT_CHARS -exec]} {[LIT_CHARS rm]} {[LIT_LBRACE "{"] [LIT_RBRACE "}"]} {[\ LIT_ESCAPED_CHAR "\\;"]} ) ) ) (FunctionDef kube::release::package_hyperkube [] (If (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_STRING_n {[DQ [VarSub KUBE_DOCKER_IMAGE_TAG test_op=VS_TEST_HYPHEN {}]]}} {B1 UNARY_STRING_n {[DQ [VarSub KUBE_DOCKER_REGISTRY test_op=VS_TEST_HYPHEN {}]]}}}) (For arch [{[DQ [VarSub KUBE_SERVER_PLATFORMS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]]}]) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Building hyperkube image for arch: "][VarSub arch]]} ) (Com {[LIT_CHARS make]} {[LIT_CHARS -C]} {[LIT_CHARS cluster/images/hyperkube/]} {[LIT_CHARS build]} more_env=[('REGISTRY', {[DQ [VarSub KUBE_DOCKER_REGISTRY]]}), ('VERSION', {[DQ [VarSub KUBE_DOCKER_IMAGE_TAG]]}), ('ARCH', {[DQ [VarSub arch]]})] ) ) ) ) ) (FunctionDef kube::release::package_tarballs [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub RELEASE_DIR]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub RELEASE_DIR]]} ) (Fork (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS package_build_image_tarball]} ) ) (Fork (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS package_client_tarballs]} ) ) (Fork (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS package_server_tarballs]} ) ) (Fork (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS package_salt_tarball]} ) ) (Fork (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS package_kube_manifests_tarball]} ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS util] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS wait-for-jobs]} ) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "previous tarball phase failed"]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (Fork (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS package_final_tarball]} ) ) (Fork (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS package_test_tarball]} ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS util] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS wait-for-jobs]} ) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "previous tarball phase failed"]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) ) ) (FunctionDef kube::release::package_build_image_tarball [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Building tarball: src"]]} ) (Com {[DQ [VarSub TAR]]} {[LIT_CHARS czf]} {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes-src.tar.gz]]} {[LIT_CHARS -C]} {[DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT]]} {[LIT_CHARS .]} ) ) ) (FunctionDef kube::release::package_client_tarballs [] (List (= scope= flags=0 words=[{[LIT_CHARS platform]}, {[LIT_CHARS platforms]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('platforms', {[Array {[ComSub (List (Com {[LIT_CHARS cd]} {[DQ [VarSub LOCAL_OUTPUT_BINPATH]]}) (Com {[LIT_CHARS echo]} {[LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"]}) )]}]})]) (For platform [{[DQ [VarSub platforms bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (List (= scope= flags=0 words=[] bindings=[('platform_tag', {[VarSub platform transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\/"]} {[LIT_CHARS -]}]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Starting tarball: client "][VarSub platform_tag]]} ) (Fork (Subshell (List (= scope= flags=0 words=[] bindings=[('release_stage', {[DQ [VarSub RELEASE_STAGE][LIT_CHARS /client/][VarSub platform_tag][LIT_CHARS /kubernetes]]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub release_stage]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage][LIT_CHARS /client/bin]]} ) (= scope= flags=0 words=[] bindings=[('client_bins', {[Array {[DQ [VarSub KUBE_CLIENT_BINARIES bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub platform transform_ops=[VS_UNARY_PERCENT {[LIT_SLASH /] [LIT_CHARS "*"]}]]]} {[DQ [LIT_CHARS windows]]}}) (= scope= flags=0 words=[] bindings=[('client_bins', {[Array {[DQ [VarSub KUBE_CLIENT_BINARIES_WIN bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) ) (Com {[LIT_CHARS cp]} {[DQ [VarSub client_bins bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[PatSub {} {[VarSub LOCAL_OUTPUT_BINPATH] [LIT_SLASH /] [VarSub platform] [LIT_SLASH /]} do_suffix]]]} {[DQ [VarSub release_stage][LIT_CHARS /client/bin/]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS clean_cruft]} ) (= scope= flags=0 words=[] bindings=[('package_name', {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes-client-][VarSub platform_tag][LIT_CHARS .tar.gz]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS create_tarball]} {[DQ [VarSub package_name]]} {[DQ [VarSub release_stage][LIT_CHARS /..]]} ) ) ) ) ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Waiting on tarballs"]]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS util] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS wait-for-jobs]} ) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "client tarball creation failed"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) ) (FunctionDef kube::release::package_server_tarballs [] (List (= scope= flags=0 words=[{[LIT_CHARS platform]}] bindings=[]) (For platform [{[DQ [VarSub KUBE_SERVER_PLATFORMS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (List (= scope= flags=0 words=[] bindings=[('platform_tag', {[VarSub platform transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\/"]} {[LIT_CHARS -]}]]})]) (= scope= flags=0 words=[] bindings=[('arch', {[ComSub (Com {[LIT_CHARS basename]} {[VarSub platform]})]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Building tarball: server "][VarSub platform_tag]]} ) (= scope= flags=0 words=[] bindings=[('release_stage', {[DQ [VarSub RELEASE_STAGE][LIT_CHARS /server/][VarSub platform_tag][LIT_CHARS /kubernetes]]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub release_stage]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage][LIT_CHARS /server/bin]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage][LIT_CHARS /addons]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_SERVER_BINARIES bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[PatSub {} {[VarSub LOCAL_OUTPUT_BINPATH] [LIT_SLASH /] [VarSub platform] [LIT_SLASH /]} do_suffix]]]} {[DQ [VarSub release_stage][LIT_CHARS /server/bin/]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS create_docker_images_for_server]} {[DQ [VarSub release_stage][LIT_CHARS /server/bin]]} {[DQ [VarSub arch]]} ) (= scope= flags=0 words=[] bindings=[('client_bins', {[Array {[DQ [VarSub KUBE_CLIENT_BINARIES bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub platform transform_ops=[VS_UNARY_PERCENT {[LIT_SLASH /] [LIT_CHARS "*"]}]]]} {[DQ [LIT_CHARS windows]]}}) (= scope= flags=0 words=[] bindings=[('client_bins', {[Array {[DQ [VarSub KUBE_CLIENT_BINARIES_WIN bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) ) (Com {[LIT_CHARS cp]} {[DQ [VarSub client_bins bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[PatSub {} {[VarSub LOCAL_OUTPUT_BINPATH] [LIT_SLASH /] [VarSub platform] [LIT_SLASH /]} do_suffix]]]} {[DQ [VarSub release_stage][LIT_CHARS /server/bin/]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /Godeps/LICENSES]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes-src.tar.gz]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS clean_cruft]} ) (= scope= flags=0 words=[] bindings=[('package_name', {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes-server-][VarSub platform_tag][LIT_CHARS .tar.gz]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS create_tarball]} {[DQ [VarSub package_name]]} {[DQ [VarSub release_stage][LIT_CHARS /..]]} ) ) ) ) ) (FunctionDef kube::release::md5 [] (If (Com {[LIT_CHARS which]} {[LIT_CHARS md5]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS md5]} {[LIT_CHARS -q]} {[DQ [VarSub 1]]} ) (ElseTrue) (Pipeline (Com {[LIT_CHARS md5sum]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS awk]} {[SQ ]} ) ) ) ) (FunctionDef kube::release::sha1 [] (If (Com {[LIT_CHARS which]} {[LIT_CHARS sha1sum]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Pipeline (Com {[LIT_CHARS sha1sum]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS awk]} {[SQ ]} ) ) (ElseTrue) (Pipeline (Com {[LIT_CHARS shasum]} {[LIT_CHARS -a1]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS awk]} {[SQ ]} ) ) ) ) (FunctionDef kube::release::create_docker_images_for_server [] (Subshell (List (= scope= flags=0 words=[] bindings=[('binary_dir', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('arch', {[DQ [VarSub 2]]})]) (= scope= flags=0 words=[{[LIT_CHARS binary_name]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('binaries', {[Array {[ComSub (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS get_docker_wrapped_binaries]} {[VarSub arch]})]}]})]) (For wrappable [{[DQ [VarSub binaries bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (List (= scope= flags=0 words=[] bindings=[('oldifs', {[VarSub IFS]})]) (= scope= flags=0 words=[] bindings=[('IFS', {[DQ [LIT_CHARS ","]]})]) (Com {[LIT_CHARS set]} {[VarSub wrappable]} ) (= scope= flags=0 words=[] bindings=[('IFS', {[VarSub oldifs]})]) (= scope= flags=0 words=[] bindings=[('binary_name', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('base_image', {[DQ [VarSub 2]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Starting Docker build for image: "][VarSub binary_name]]} ) (Fork (Subshell (List (= scope= flags=0 words=[{[LIT_CHARS md5_sum]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('md5_sum', {[ComSub (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS md5]} {[DQ [VarSub binary_dir][LIT_CHARS /][VarSub binary_name]]})]})]) (= scope= flags=0 words=[] bindings=[('docker_build_path', {[DQ [VarSub binary_dir][LIT_CHARS /][VarSub binary_name][LIT_CHARS .dockerbuild]]})]) (= scope= flags=0 words=[] bindings=[('docker_file_path', {[DQ [VarSub docker_build_path][LIT_CHARS /Dockerfile]]})]) (= scope= flags=0 words=[] bindings=[('binary_file_path', {[DQ [VarSub binary_dir][LIT_CHARS /][VarSub binary_name]]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub docker_build_path]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub docker_build_path]} ) (Com {[LIT_CHARS ln]} {[VarSub binary_dir] [LIT_CHARS /] [VarSub binary_name]} {[VarSub docker_build_path] [LIT_CHARS /] [VarSub binary_name]} ) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS " FROM "][VarSub base_image][LIT_CHARS " "][\ LIT_ESCAPED_CHAR "\\n"][LIT_CHARS " ADD "][VarSub binary_name][LIT_CHARS " /usr/local/bin/"][VarSub binary_name][\ LIT_ESCAPED_CHAR "\\n"]]} < (FilenameRedirectNode filename={[VarSub docker_file_path]} "> 1), > ) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub arch]} {[DQ [LIT_CHARS amd64]]}}) (= scope= flags=0 words=[] bindings=[('docker_image_tag', {[LIT_CHARS gcr.io/google_containers/] [VarSub binary_name] [LIT_OTHER ":"] [VarSub md5_sum]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('docker_image_tag', {[LIT_CHARS gcr.io/google_containers/] [VarSub binary_name] [LIT_CHARS -] [VarSub arch] [LIT_OTHER ":"] [VarSub md5_sum]})]) ) (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS build]} {[LIT_CHARS -q]} {[LIT_CHARS -t]} {[DQ [VarSub docker_image_tag]]} {[VarSub docker_build_path]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS save]} {[VarSub docker_image_tag]} < (FilenameRedirectNode filename={[VarSub binary_dir] [LIT_CHARS /] [VarSub binary_name] [LIT_CHARS .tar]} "> 1), > ) (Com {[LIT_CHARS echo]} {[VarSub md5_sum]} < (FilenameRedirectNode filename={[VarSub binary_dir] [LIT_CHARS /] [VarSub binary_name] [LIT_CHARS .docker_tag]} "> 1), > ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub docker_build_path]} ) (If (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_STRING_n {[DQ [VarSub KUBE_DOCKER_IMAGE_TAG test_op=VS_TEST_HYPHEN {}]]}} {B1 UNARY_STRING_n {[DQ [VarSub KUBE_DOCKER_REGISTRY test_op=VS_TEST_HYPHEN {}]]}}}) (List (= scope= flags=0 words=[] bindings=[('release_docker_image_tag', {[DQ [VarSub KUBE_DOCKER_REGISTRY][LIT_CHARS /][VarSub binary_name][LIT_CHARS -][VarSub arch][LIT_CHARS ":"][VarSub KUBE_DOCKER_IMAGE_TAG]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Tagging docker image "][VarSub docker_image_tag][LIT_CHARS " as "][VarSub release_docker_image_tag]]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS docker]} {[LIT_CHARS rmi]} {[DQ [VarSub release_docker_image_tag]]} ) (Com {[LIT_CHARS true]} ) ) (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS tag]} {[DQ [VarSub docker_image_tag]]} {[DQ [VarSub release_docker_image_tag]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Deleting docker image "][VarSub docker_image_tag]]} ) (AndOr OP_OR_IF (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS rmi]} {[VarSub docker_image_tag]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS true]} ) ) ) ) ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS util] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS wait-for-jobs]} ) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "previous Docker build failed"]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Docker builds done"]]} ) ) ) ) (FunctionDef kube::release::package_salt_tarball [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Building tarball: salt"]]} ) (= scope= flags=0 words=[] bindings=[('release_stage', {[DQ [VarSub RELEASE_STAGE][LIT_CHARS /salt/kubernetes]]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub release_stage]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/saltbase]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (= scope= flags=0 words=[{[LIT_CHARS objects]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('objects', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/addons]]}) (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS .]} {[\ LIT_ESCAPED_CHAR "\\("]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .yaml]} {[LIT_CHARS -or]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .yaml.in]} {[LIT_CHARS -or]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .json]} {[\ LIT_ESCAPED_CHAR "\\)"]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[LIT_CHARS demo]}) ) )]})]) (Pipeline (Com {[LIT_CHARS tar]} {[LIT_CHARS c]} {[LIT_CHARS -C]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/addons]]} {[VarSub objects]} ) (Com {[LIT_CHARS tar]} {[LIT_CHARS x]} {[LIT_CHARS -C]} {[DQ [VarSub release_stage][LIT_CHARS /saltbase/salt/kube-addons]]} ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS clean_cruft]} ) (= scope= flags=0 words=[] bindings=[('package_name', {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes-salt.tar.gz]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS create_tarball]} {[DQ [VarSub package_name]]} {[DQ [VarSub release_stage][LIT_CHARS /..]]} ) ) ) (FunctionDef kube::release::package_kube_manifests_tarball [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Building tarball: manifests"]]} ) (= scope= flags=0 words=[] bindings=[('release_stage', {[DQ [VarSub RELEASE_STAGE][LIT_CHARS /manifests/kubernetes]]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub release_stage]]} ) (= scope= flags=0 words=[] bindings=[('dst_dir', {[DQ [VarSub release_stage][LIT_CHARS /gci-trusty]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub dst_dir]]} ) (= scope= flags=0 words=[] bindings=[('salt_dir', {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/saltbase/salt]]})]) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /cluster-autoscaler/cluster-autoscaler.manifest]]} {[DQ [VarSub dst_dir][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /fluentd-es/fluentd-es.yaml]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /fluentd-gcp/fluentd-gcp.yaml]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /kube-registry-proxy/kube-registry-proxy.yaml]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /kube-proxy/kube-proxy.manifest]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /etcd/etcd.manifest]]} {[DQ [VarSub dst_dir]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /kube-scheduler/kube-scheduler.manifest]]} {[DQ [VarSub dst_dir]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /kube-apiserver/kube-apiserver.manifest]]} {[DQ [VarSub dst_dir]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /kube-apiserver/abac-authz-policy.jsonl]]} {[DQ [VarSub dst_dir]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /kube-controller-manager/kube-controller-manager.manifest]]} {[DQ [VarSub dst_dir]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /kube-addons/kube-addon-manager.yaml]]} {[DQ [VarSub dst_dir]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /l7-gcp/glbc.manifest]]} {[DQ [VarSub dst_dir]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /rescheduler/rescheduler.manifest]]} {[DQ [VarSub dst_dir][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub salt_dir][LIT_CHARS /e2e-image-puller/e2e-image-puller.manifest]]} {[DQ [VarSub dst_dir][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/gce/trusty/configure-helper.sh]]} {[DQ [VarSub dst_dir][LIT_CHARS /trusty-configure-helper.sh]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/gce/gci/configure-helper.sh]]} {[DQ [VarSub dst_dir][LIT_CHARS /gci-configure-helper.sh]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/gce/gci/mounter/mounter]]} {[DQ [VarSub dst_dir][LIT_CHARS /gci-mounter]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/gce/gci/health-monitor.sh]]} {[DQ [VarSub dst_dir][LIT_CHARS /health-monitor.sh]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -r]} {[DQ [VarSub salt_dir][LIT_CHARS /kube-admission-controls/limit-range]]} {[DQ [VarSub dst_dir]]} ) (= scope= flags=0 words=[{[LIT_CHARS objects]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('objects', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/addons]]}) (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS .]} {[\ LIT_ESCAPED_CHAR "\\("]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .yaml]} {[LIT_CHARS -or]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .yaml.in]} {[LIT_CHARS -or]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .json]} {[\ LIT_ESCAPED_CHAR "\\)"]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[LIT_CHARS demo]}) ) )]})]) (Pipeline (Com {[LIT_CHARS tar]} {[LIT_CHARS c]} {[LIT_CHARS -C]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/addons]]} {[VarSub objects]} ) (Com {[LIT_CHARS tar]} {[LIT_CHARS x]} {[LIT_CHARS -C]} {[DQ [VarSub dst_dir]]} ) ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -r]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/gce/coreos/kube-manifests]] [LIT_CHARS /] [LIT_OTHER "*"]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS clean_cruft]} ) (= scope= flags=0 words=[] bindings=[('package_name', {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes-manifests.tar.gz]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS create_tarball]} {[DQ [VarSub package_name]]} {[DQ [VarSub release_stage][LIT_CHARS /..]]} ) ) ) (FunctionDef kube::release::package_test_tarball [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Building tarball: test"]]} ) (= scope= flags=0 words=[] bindings=[('release_stage', {[DQ [VarSub RELEASE_STAGE][LIT_CHARS /test/kubernetes]]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub release_stage]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage]]} ) (= scope= flags=0 words=[{[LIT_CHARS platform]}] bindings=[]) (For platform [{[DQ [VarSub KUBE_TEST_PLATFORMS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (List (= scope= flags=0 words=[] bindings=[('test_bins', {[Array {[DQ [VarSub KUBE_TEST_BINARIES bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub platform transform_ops=[VS_UNARY_PERCENT {[LIT_SLASH /] [LIT_CHARS "*"]}]]]} {[DQ [LIT_CHARS windows]]}}) (= scope= flags=0 words=[] bindings=[('test_bins', {[Array {[DQ [VarSub KUBE_TEST_BINARIES_WIN bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage][LIT_CHARS /platforms/][VarSub platform]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub test_bins bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[PatSub {} {[VarSub LOCAL_OUTPUT_BINPATH] [LIT_SLASH /] [VarSub platform] [LIT_SLASH /]} do_suffix]]]} {[DQ [VarSub release_stage][LIT_CHARS /platforms/][VarSub platform]]} ) ) ) (For platform [{[DQ [VarSub KUBE_TEST_SERVER_PLATFORMS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage][LIT_CHARS /platforms/][VarSub platform]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_TEST_SERVER_BINARIES bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[PatSub {} {[VarSub LOCAL_OUTPUT_BINPATH] [LIT_SLASH /] [VarSub platform] [LIT_SLASH /]} do_suffix]]]} {[DQ [VarSub release_stage][LIT_CHARS /platforms/][VarSub platform]]} ) ) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage][LIT_CHARS /test/images]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -fR]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /test/images]]} {[DQ [VarSub release_stage][LIT_CHARS /test/]]} ) (Pipeline (Com {[LIT_CHARS tar]} {[LIT_CHARS c]} {[VarSub KUBE_TEST_PORTABLE bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]} ) (Com {[LIT_CHARS tar]} {[LIT_CHARS x]} {[LIT_CHARS -C]} {[VarSub release_stage]} ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS clean_cruft]} ) (= scope= flags=0 words=[] bindings=[('package_name', {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes-test.tar.gz]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS create_tarball]} {[DQ [VarSub package_name]]} {[DQ [VarSub release_stage][LIT_CHARS /..]]} ) ) ) (FunctionDef kube::release::package_final_tarball [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Building tarball: final"]]} ) (= scope= flags=0 words=[] bindings=[('release_stage', {[DQ [VarSub RELEASE_STAGE][LIT_CHARS /full/kubernetes]]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub release_stage]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage][LIT_CHARS /client]]} ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Client binaries are no longer included in the Kubernetes final tarball.\n"][LIT_CHARS "\n"][LIT_CHARS "Run cluster/get-kube-binaries.sh to download client and server binaries.\n"]]} 0), (FilenameRedirectNode filename={[DQ [VarSub release_stage][LIT_CHARS /client/README]]} "> 1), > ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub release_stage][LIT_CHARS /cluster/saltbase]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage][LIT_CHARS /server]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes-salt.tar.gz]]} {[DQ [VarSub release_stage][LIT_CHARS /server/]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes-manifests.tar.gz]]} {[DQ [VarSub release_stage][LIT_CHARS /server/]]} ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Server binary tarballs are no longer included in the Kubernetes final tarball.\n"][LIT_CHARS "\n"][LIT_CHARS "Run cluster/get-kube-binaries.sh to download client and server binaries.\n"]]} 0), (FilenameRedirectNode filename={[DQ [VarSub release_stage][LIT_CHARS /server/README]]} "> 1), > ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub release_stage][LIT_CHARS /third_party]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /third_party/htpasswd]]} {[DQ [VarSub release_stage][LIT_CHARS /third_party/htpasswd]]} ) (Com {[LIT_CHARS mkdir]} {[DQ [VarSub release_stage][LIT_CHARS /federation]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /federation/cluster]]} {[DQ [VarSub release_stage][LIT_CHARS /federation/]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /federation/manifests]]} {[DQ [VarSub release_stage][LIT_CHARS /federation/]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /federation/deploy]]} {[DQ [VarSub release_stage][LIT_CHARS /federation/]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /examples]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /docs]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /README.md]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /Godeps/LICENSES]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /Vagrantfile]]} {[DQ [VarSub release_stage][LIT_CHARS /]]} ) (Com {[LIT_CHARS echo]} {[DQ [VarSub KUBE_GIT_VERSION]]} < (FilenameRedirectNode filename={[DQ [VarSub release_stage][LIT_CHARS /version]]} "> 1), > ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS clean_cruft]} ) (= scope= flags=0 words=[] bindings=[('package_name', {[DQ [VarSub RELEASE_DIR][LIT_CHARS /kubernetes.tar.gz]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS release] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS create_tarball]} {[DQ [VarSub package_name]]} {[DQ [VarSub release_stage][LIT_CHARS /..]]} ) ) ) (FunctionDef kube::release::create_tarball [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS ensure_tar]} ) (= scope= flags=0 words=[] bindings=[('tarfile', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('stagingdir', {[VarSub 2]})]) (Com {[DQ [VarSub TAR]]} {[LIT_CHARS czf]} {[DQ [VarSub tarfile]]} {[LIT_CHARS -C]} {[DQ [VarSub stagingdir]]} {[LIT_CHARS kubernetes]} {[LIT_CHARS --owner] [LIT_DBRACKET_LIKE "="] [LIT_CHARS 0]} {[LIT_CHARS --group] [LIT_DBRACKET_LIKE "="] [LIT_CHARS 0]} ) ) ) )