(List (Com {[LIT_CHARS set]} {[LIT_CHARS -euo]} {[LIT_CHARS pipefail]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS bundle]} ) (FunctionDef copyDep [] (List (= scope= flags=0 words=[] bindings=[('FILE', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('DST', {[LIT_CHARS bundle] [DQ [VarSub FILE transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\/"] [LIT_CHARS usr] [\ LIT_ESCAPED_CHAR "\\/"] [LIT_CHARS local]} {[\ LIT_ESCAPED_CHAR "\\/"] [LIT_CHARS usr]} do_suffix]]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -e]} {[DQ [VarSub DST]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_OTHER ":"]} ) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub FILE]]} {[LIT_CHARS /etc/] [LIT_OTHER "*"]}}) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -f]} {[DQ [VarSub FILE]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS echo]} {[DQ [VarSub FILE]]} < (FilenameRedirectNode filename={[LIT_CHARS tmp/etc.list]} >"> 1), > ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -h]} {[DQ [VarSub FILE]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub DST]]})]} ) (= scope= flags=0 words=[] bindings=[('LINK', {[ComSub (Com {[LIT_CHARS readlink]} {[LIT_CHARS -f]} {[DQ [VarSub FILE]]})]})]) (Com {[LIT_CHARS ln]} {[LIT_CHARS -sf]} {[DQ [VarSub LINK transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\/"] [LIT_CHARS usr] [\ LIT_ESCAPED_CHAR "\\/"] [LIT_CHARS local]} {[\ LIT_ESCAPED_CHAR "\\/"] [LIT_CHARS usr]} do_suffix]]]} {[DQ [VarSub DST]]} ) (Com {[LIT_CHARS copyDep]} {[DQ [VarSub LINK]]} ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -d]} {[DQ [VarSub FILE]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub DST]]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -f]} {[DQ [VarSub FILE]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub DST]]})]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub FILE]]} {[DQ [VarSub DST]]} ) ) ) ) ) (FunctionDef copyDeps [] (While (Com {[LIT_CHARS read]} {[LIT_CHARS FILE]} ) (Com {[LIT_CHARS copyDep]} {[DQ [VarSub FILE]]} ) ) ) (= scope= flags=0 words=[] bindings=[('METEOR', {[VarSub HOME] [LIT_CHARS /.meteor]})]) (= scope= flags=0 words=[] bindings=[('METEOR_RELEASE', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS shell/.meteor/release]} 0)])]})]) (= scope= flags=0 words=[] bindings=[('METEOR_TOOLS', {[VarSub METEOR] [LIT_CHARS /tools/] [ComSub (Com redirects=[(FilenameRedirectNode filename={[VarSub METEOR] [LIT_CHARS /releases/] [VarSub METEOR_RELEASE] [LIT_CHARS .release.json]} 0)]{[LIT_CHARS json]} {[LIT_CHARS tools]})]})]) (Com {[LIT_CHARS cp]} {[LIT_CHARS -r]} {[LIT_CHARS shell-bundle]} {[LIT_CHARS bundle]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS bundle/README]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS bundle/bin]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS bin/spk]} {[LIT_CHARS bundle/bin/spk]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS bin/minibox]} {[LIT_CHARS bundle/bin/minibox]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS bin/sandstorm-supervisor]} {[LIT_CHARS bundle/bin/sandstorm-supervisor]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS bin/sandstorm-http-bridge]} {[LIT_CHARS bundle/bin/sandstorm-http-bridge]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS bin/run-bundle]} {[LIT_CHARS bundle/sandstorm]} ) (Com {[LIT_CHARS cp]} {[VarSub METEOR_TOOLS] [LIT_CHARS /bin/node]} {[LIT_CHARS bundle/bin]} ) (Com {[LIT_CHARS cp]} {[VarSub METEOR_TOOLS] [LIT_CHARS /mongodb/bin/] [LIT_LBRACE "{"] [LIT_CHARS mongo] [LIT_COMMA ","] [LIT_CHARS mongod] [LIT_RBRACE "}"]} {[LIT_CHARS bundle/bin]} ) (Com {[LIT_CHARS cp]} {[ComSub (Com {[LIT_CHARS which]} {[LIT_CHARS zip]} {[LIT_CHARS unzip]} {[LIT_CHARS xz]})]} {[LIT_CHARS bundle/bin]} ) (Com {[LIT_CHARS chmod]} {[LIT_CHARS u] [LIT_OTHER "+"] [LIT_CHARS w]} {[LIT_CHARS bundle/bin/] [LIT_OTHER "*"]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS bundle/usr/include/] [LIT_LBRACE "{"] [LIT_CHARS capnp] [LIT_COMMA ","] [LIT_CHARS sandstorm] [LIT_RBRACE "}"]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -e]} {[LIT_CHARS /usr/include/capnp/c] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .capnp]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS /usr/include/capnp/] [LIT_OTHER "*"] [LIT_CHARS .capnp]} {[LIT_CHARS bundle/usr/include/capnp]} ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -e]} {[LIT_CHARS /usr/local/include/capnp/c] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .capnp]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS /usr/local/include/capnp/] [LIT_OTHER "*"] [LIT_CHARS .capnp]} {[LIT_CHARS bundle/usr/include/capnp]} ) ) (Com {[LIT_CHARS cp]} {[LIT_CHARS src/sandstorm/] [LIT_OTHER "*"] [LIT_CHARS .capnp]} {[LIT_CHARS bundle/usr/include/sandstorm]} ) (Pipeline (Subshell (AndOr OP_OR_IF (Com {[LIT_CHARS ldd]} {[LIT_CHARS bundle/bin/] [LIT_OTHER "*"]} {[ComSub (Com {[LIT_CHARS find]} {[LIT_CHARS bundle]} {[LIT_CHARS -name]} {[SQ ]})]} ) (Com {[LIT_CHARS true]} ) ) ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -o]} {[SQ ]} ) (Com {[LIT_CHARS copyDeps]} ) ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS tmp/dnstest.c]} "> 1), (HereDocRedirectNode here_end='__EOF__' do_expansion=False body_word={[LIT_CHARS "#include \n"] [LIT_CHARS "#include \n"] [LIT_CHARS "#include \n"] [LIT_CHARS "#include \n"] [LIT_CHARS "\n"] [LIT_CHARS "int main() {\n"] [LIT_CHARS " struct addrinfo* result;\n"] [LIT_CHARS " getaddrinfo(\"example.com\", \"http\", NULL, &result);\n"] [LIT_CHARS " return 0;\n"] [LIT_CHARS "}\n"]} 0), > ) (Com {[LIT_CHARS gcc]} {[LIT_CHARS tmp/dnstest.c]} {[LIT_CHARS -o]} {[LIT_CHARS tmp/dnstest]} ) (Pipeline (Com {[LIT_CHARS strace]} {[LIT_CHARS tmp/dnstest]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -o]} {[SQ ]} ) (Com {[LIT_CHARS tr]} {[LIT_CHARS -d]} {[SQ ]} ) (Com {[LIT_CHARS copyDeps]} ) ) (Pipeline (Com {[LIT_CHARS cat]} {[LIT_CHARS tmp/etc.list]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[SQ ]} ) (Com {[LIT_CHARS sort]} ) (Com {[LIT_CHARS uniq]} < (FilenameRedirectNode filename={[LIT_CHARS bundle/etc.list]} "> 1), > ) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS bundle/] [LIT_LBRACE "{"] [LIT_CHARS dev] [LIT_COMMA ","] [LIT_CHARS proc] [LIT_COMMA ","] [LIT_CHARS tmp] [LIT_COMMA ","] [LIT_CHARS etc] [LIT_COMMA ","] [LIT_CHARS var] [LIT_RBRACE "}"]} ) (Com {[LIT_CHARS touch]} {[LIT_CHARS bundle/dev/] [LIT_LBRACE "{"] [LIT_CHARS null] [LIT_COMMA ","] [LIT_CHARS zero] [LIT_COMMA ","] [LIT_CHARS random] [LIT_COMMA ","] [LIT_CHARS urandom] [LIT_COMMA ","] [LIT_CHARS fuse] [LIT_RBRACE "}"]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS bundle/usr/lib]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -r]} {[LIT_CHARS /usr/lib/locale]} {[LIT_CHARS bundle/usr/lib]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS bundle/usr/share/locale]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS /usr/share/locale/locale.alias]} {[LIT_CHARS bundle/usr/share/locale]} ) (Com {[LIT_CHARS strip]} {[LIT_CHARS bundle/sandstorm]} {[LIT_CHARS bundle/bin/] [LIT_OTHER "*"]} ) (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS bundle]} {[LIT_CHARS -name]} {[SQ ]} ) (Com {[LIT_CHARS xargs]} {[LIT_CHARS strip]} ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]} < (FilenameRedirectNode filename={[LIT_CHARS bundle/git-revision]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub USER][LIT_CHARS "@"][VarSub HOSTNAME][LIT_CHARS " "][ComSub (Com {[LIT_CHARS date]})]]} < (FilenameRedirectNode filename={[LIT_CHARS bundle/buildstamp]} "> 1), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS bundle/README.md]} "> 1), (HereDocRedirectNode here_end='__EOF__' do_expansion=False body_word={[LIT_CHARS "# Sandstorm Bundle\n"] [LIT_CHARS "\n"] [LIT_CHARS "See: http://sandstorm.io\n"] [LIT_CHARS "\n"] [LIT_CHARS "This is a self-contained, batteries-included Sandstorm server. This should\n"] [LIT_CHARS "work on any recent Linux kernel (tested on 3.10, but some earlier versions\n"] [LIT_CHARS "might work too). The rest of your filesystem is not touched and may as well\n"] [LIT_CHARS "be empty; everything will run in a chroot.\n"] [LIT_CHARS "\n"] [LIT_CHARS "This bundle is intended to be installed using the Sandstorm installer or\n"] [LIT_CHARS "updater. To install Sandstorm, please run:\n"] [LIT_CHARS "\n"] [LIT_CHARS " curl https://install.sandstorm.io | bash\n"] [LIT_CHARS "\n"] [LIT_CHARS "If you have already installed Sandstorm, you can update your installation to\n"] [LIT_CHARS "this version by running:\n"] [LIT_CHARS "\n"] [LIT_CHARS " service sandstorm update .tar.xz\n"]} 0), > ) )