(command.CommandList children: [ (C {<set>} {<-e>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SOURCE_DIR) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<cd>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} { (DQ (braced_var_sub token: <Id.VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 0>}) ) ) } ) ) ) } ) (C {<pwd>}) ] ) ) ) } spids: [62] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Pound '$#'))} {<-ne>} {<2>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Usage: '> ($ Id.VSub_Number '$0') <' <version> <rc-num>'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] spids: [93 108] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:version) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [125] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rc) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [128] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {<'tmp/'>} {<Id.Lit_RBracket ']'>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Cannot run: tmp/ exists'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] spids: [132 143] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tag) op: assign_op.Equal rhs: {<apache-arrow-> (${ Id.VSub_Name version)} spids: [158] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tagrc) op: assign_op.Equal rhs: {(${ Id.VSub_Name tag) <-rc> (${ Id.VSub_Name rc)} spids: [164] ) ] ) (C {<echo>} {(DQ <'Preparing source for tag '> (${ Id.VSub_Name tag))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:release_hash) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple words: [{<git>} {<rev-list>} {($ Id.VSub_DollarName '$tag')}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<head>} {<-n>} {<1>}) ] negated: F ) ) } spids: [184] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$release_hash'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Cannot continue: unknown git tag: '> ($ Id.VSub_DollarName '$tag'))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] spids: [209 222] ) ] ) (C {<echo>} {(DQ <'Using commit '> ($ Id.VSub_DollarName '$release_hash'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tarball) op: assign_op.Equal rhs: {(${ Id.VSub_Name tag) <.tar.gz>} spids: [246] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:extract_dir) op: assign_op.Equal rhs: {<tmp-apache-arrow>} spids: [253] ) ] ) (C {<rm>} {<-rf>} {(${ Id.VSub_Name extract_dir)}) (command.Pipeline children: [ (C {<git>} {<archive>} {(${ Id.VSub_Name release_hash)} {<--prefix>} {(${ Id.VSub_Name extract_dir) <'/'>} ) (C {<tar>} {<xf>} {<->}) ] negated: F ) (C {<mkdir>} {<-p>} {(${ Id.VSub_Name extract_dir) <'/cpp/build'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cpp_install_dir) op: assign_op.Equal rhs: {(${ Id.VSub_Name PWD) <'/'> (${ Id.VSub_Name extract_dir) <'/cpp/install'>} spids: [309] ) ] ) (C {<cd>} {(${ Id.VSub_Name extract_dir) <'/cpp/build'>}) (C {<cmake>} {<..>} {<-DCMAKE_INSTALL_PREFIX> <Id.Lit_Equals '='> (${ Id.VSub_Name cpp_install_dir)} {<-DARROW_BUILD_TESTS> <Id.Lit_Equals '='> <no>} ) (C {<make>} {<-j8>}) (C {<make>} {<install>}) (C {<cd>} {<->}) (C {<cd>} {(${ Id.VSub_Name extract_dir) <'/c_glib'>}) (C {<'./autogen.sh'>}) (C {<'./configure'>} {<Id.Lit_VarLike 'PKG_CONFIG_PATH='> ($ Id.VSub_DollarName '$cpp_install_dir') <'/lib/pkgconfig'> } {<--enable-gtk-doc>} ) (command.Simple words: [{<make>} {<-j8>}] more_env: [ (env_pair name: LD_LIBRARY_PATH val: {($ Id.VSub_DollarName '$cpp_install_dir') <'/lib'> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$LD_LIBRARY_PATH') } spids: [381] ) ] do_fork: T ) (C {<make>} {<dist>}) (C {<tar>} {<xzf>} {<Id.Lit_Star '*'> <.tar.gz>}) (C {<rm>} {<Id.Lit_Star '*'> <.tar.gz>}) (C {<cd>} {<->}) (C {<rm>} {<-rf>} {<'tmp-c_glib/'>}) (C {<mv>} {(${ Id.VSub_Name extract_dir) <'/c_glib/apache-arrow-glib-'> <Id.Lit_Star '*'>} {<'tmp-c_glib/'>} ) (C {<rm>} {<-rf>} {(${ Id.VSub_Name extract_dir)}) (C {<rm>} {<-rf>} {(${ Id.VSub_Name tag)}) (command.Pipeline children: [ (C {<git>} {<archive>} {($ Id.VSub_DollarName '$release_hash')} {<--prefix>} {(${ Id.VSub_Name tag) <'/'>} ) (C {<tar>} {<xf>} {<->}) ] negated: F ) (C {<rm>} {<-rf>} {(${ Id.VSub_Name tag) <'/c_glib'>}) (C {<mv>} {<tmp-c_glib>} {(${ Id.VSub_Name tag) <'/c_glib'>}) (C {<tar>} {<czf>} {(${ Id.VSub_Name tarball)} {(${ Id.VSub_Name tag)}) (C {<rm>} {<-rf>} {(${ Id.VSub_Name tag)}) (C {(${ Id.VSub_Name SOURCE_DIR) <'/run-rat.sh'>} {(${ Id.VSub_Name tarball)}) (C {<gpg>} {<--armor>} {<--output>} {(${ Id.VSub_Name tarball) <.asc>} {<--detach-sig>} {(${ Id.VSub_Name tarball)} ) (command.Simple words: [{<gpg>} {<--print-md>} {<MD5>} {(${ Id.VSub_Name tarball)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name tarball) <.md5>} ) ] do_fork: T ) (command.Simple words: [{<sha1sum>} {($ Id.VSub_DollarName '$tarball')}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name tarball) <.sha1>} ) ] do_fork: T ) (command.Simple words: [{<sha256sum>} {($ Id.VSub_DollarName '$tarball')}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name tarball) <.sha256>} ) ] do_fork: T ) (command.Simple words: [{<sha512sum>} {($ Id.VSub_DollarName '$tarball')}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name tarball) <.sha512>} ) ] do_fork: T ) (C {<svn>} {<co>} {<--depth> <Id.Lit_Equals '='> <empty>} {<https> <Id.Lit_Colon ':'> <'//dist.apache.org/repos/dist/dev/arrow'>} {<tmp>} ) (C {<mkdir>} {<-p>} {<'tmp/'> (${ Id.VSub_Name tagrc)}) (C {<cp>} {(${ Id.VSub_Name tarball) <Id.Lit_Star '*'>} {<'tmp/'> (${ Id.VSub_Name tagrc)}) (C {<svn>} {<add>} {<'tmp/'> (${ Id.VSub_Name tagrc)}) (C {<svn>} {<ci>} {<-m>} {(SQ <'Apache Arrow ${version} RC${rc}'>)} {<'tmp/'> (${ Id.VSub_Name tagrc)}) (C {<rm>} {<-rf>} {<tmp>}) (C {<echo>} {(DQ <'Success! The release candidate is available here:'>)}) (C {<echo>} {(DQ <' https://dist.apache.org/repos/dist/dev/arrow/'> (${ Id.VSub_Name tagrc))}) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ <'Commit SHA1: '> (${ Id.VSub_Name release_hash))}) ] )