(command.CommandList children: [ (C {<Id.KW_Set set>} {<-o>} {<nounset>}) (C {<Id.KW_Set set>} {<-o>} {<pipefail>}) (C {<Id.KW_Set set>} {<-o>} {<errexit>}) (C {<readonly>} {<Id.Lit_VarLike 'ROOTFS_URL='> (SQ < 'http://distfiles.gentoo.org/releases/amd64/autobuilds/20180116T214503Z/stage3-amd64-20180116T214503Z.tar.xz' > ) } ) (C {<readonly>} {<Id.Lit_VarLike 'CHROOT_DIR='> <_chroot/gentoo>}) (C {<readonly>} {<Id.Lit_VarLike 'PORTAGE_URL='> (SQ <'http://distfiles.gentoo.org/snapshots/portage-20180202.tar.xz'>) } ) (command.ShFunction name: download body: (command.BraceGroup children: [ (C {<wget>} {<--no-clobber>} {<--directory>} {<_tmp>} {($ Id.VSub_DollarName '$ROOTFS_URL')}) (C {<wget>} {<--no-clobber>} {<--directory>} {<_tmp>} {($ Id.VSub_DollarName '$PORTAGE_URL')}) ] ) ) (command.ShFunction name: _extract body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'dest='> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {($ Id.VSub_DollarName '$CHROOT_DIR')} ) ) } ) (C {<local>} {<Id.Lit_VarLike 'tarball='> <_tmp/> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<basename>} {($ Id.VSub_DollarName '$ROOTFS_URL')})] ) ) } ) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$dest')}) (command.Simple words: [{<tar>} {<--extract>} {<--xz>} {<--directory>} {($ Id.VSub_DollarName '$dest')}] redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {($ Id.VSub_DollarName '$tarball')} ) ] ) ] ) ) (command.ShFunction name: extract body: (command.BraceGroup children: [ (command.Sentence child: (C {<sudo>} {($ Id.VSub_Number '$0')} {<_extract>} {(DQ ($ Id.VSub_At '$@'))}) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: _extract-portage body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'dest='> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {($ Id.VSub_DollarName '$CHROOT_DIR')} ) ) } ) (C {<local>} {<Id.Lit_VarLike 'portage_dest='> ($ Id.VSub_DollarName '$dest') </usr>}) (C {<local>} {<Id.Lit_VarLike 'tarball='> <_tmp/> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<basename>} {($ Id.VSub_DollarName '$PORTAGE_URL')})] ) ) } ) (command.Simple words: [ {<tar>} {<--extract>} {<--xz>} {<--directory>} {($ Id.VSub_DollarName '$portage_dest')} ] redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {($ Id.VSub_DollarName '$tarball')} ) ] ) ] ) ) (command.ShFunction name: extract-portage body: (command.BraceGroup children: [ (command.Sentence child: (C {<sudo>} {($ Id.VSub_Number '$0')} {<_extract-portage>} {(DQ ($ Id.VSub_At '$@'))}) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: _mount-dirs body: (command.BraceGroup children: [ (C {<mount>} {<--rbind>} {</dev>} {($ Id.VSub_DollarName '$CHROOT_DIR') </dev>}) (C {<mount>} {<--make-rslave>} {($ Id.VSub_DollarName '$CHROOT_DIR') </dev>}) (C {<mount>} {<-t>} {<Id.KW_Proc proc>} {</proc>} {($ Id.VSub_DollarName '$CHROOT_DIR') </proc>} ) (C {<mount>} {<--rbind>} {</sys>} {($ Id.VSub_DollarName '$CHROOT_DIR') </sys>}) (C {<mount>} {<--make-rslave>} {($ Id.VSub_DollarName '$CHROOT_DIR') </sys>}) (C {<mount>} {<--rbind>} {</tmp>} {($ Id.VSub_DollarName '$CHROOT_DIR') </tmp>}) ] ) ) (command.ShFunction name: mount-dirs body: (command.BraceGroup children: [ (command.Sentence child: (C {<sudo>} {($ Id.VSub_Number '$0')} {<_mount-dirs>} {(DQ ($ Id.VSub_At '$@'))}) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: _setup-portage body: (command.BraceGroup children: [ (C {<cp>} {<-v>} {($ Id.VSub_DollarName '$CHROOT_DIR') </usr/share/portage/config/make.conf.example>} {($ Id.VSub_DollarName '$CHROOT_DIR') </etc/portage>} ) ] ) ) (command.ShFunction name: setup-portage body: (command.BraceGroup children: [ (command.Sentence child: (C {<sudo>} {($ Id.VSub_Number '$0')} {<_setup-portage>} {(DQ ($ Id.VSub_At '$@'))}) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: add-oil-build-deps body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'chroot_dir='> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {($ Id.VSub_DollarName '$CHROOT_DIR')} ) ) } ) (command.Simple words: [{<sudo>} {<chroot>} {($ Id.VSub_DollarName '$chroot_dir')} {</bin/sh>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<EOF>} here_end_span_id: 440 stdin_parts: [<'apk update\n'> <'apk add bash make gcc musl-dev \n'>] ) ] ) ] ) ) (C {(DQ ($ Id.VSub_At '$@'))}) ] )