(command.CommandList children: [ (C {<Id.KW_Set set>} {<-e>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<hash>} {<pacstrap>}] redirects: [(redir op:<Id.Redir_AndGreat '&>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (BraceGroup children: [ (C {<echo>} {(DQ <'Could not find pacstrap. Run pacman -S arch-install-scripts'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<hash>} {<expect>}] redirects: [(redir op:<Id.Redir_AndGreat '&>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (BraceGroup children: [ (C {<echo>} {(DQ <'Could not find expect. Run pacman -S expect'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] ) (C {<export>} {<Id.Lit_VarLike 'LANG='> (DQ <C.UTF-8>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ROOTFS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<mktemp>} {<-d>} { (braced_var_sub token: <Id.VSub_Name TMPDIR> suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {<Id.Lit_Slash '/'> <var> <Id.Lit_Slash '/'> <tmp>} ) ) <'/rootfs-archlinux-XXXXXXXXXX'> } ) ) } spids: [78] ) ] ) (C {<chmod>} {<755>} {($ Id.VSub_DollarName '$ROOTFS')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PKGIGNORE) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {<cryptsetup>} {<device-mapper>} {<dhcpcd>} {<iproute2>} {<jfsutils>} {<linux>} {<lvm2>} {<man-db>} {<man-pages>} {<mdadm>} {<nano>} {<netctl>} {<openresolv>} {<pciutils>} {<pcmciautils>} {<reiserfsprogs>} {<s-nail>} {<systemd-sysvcompat>} {<usbutils>} {<vi>} {<xfsprogs>} ] ) } spids: [105] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(SQ <','>)} spids: [173] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PKGIGNORE) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name PKGIGNORE> bracket_op: (bracket_op.WholeArray op_id:Id.Arith_Star) ) ) } spids: [178] ) ] ) (C {<unset>} {<IFS>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<uname>} {<-m>})))} spids: [193] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$arch'))} arms: [ (case_arm pat_list: [{<armv> <Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [{<pacman>} {<-Q>} {<archlinuxarm-keyring>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<pacman-key>} {<--init>}) (C {<pacman-key>} {<--populate>} {<archlinuxarm>}) ] spids: [216 231] ) ] else_action: [ (C {<echo>} { (DQ < 'Could not find archlinuxarm-keyring. Please, install it and run pacman-key --populate archlinuxarm' > ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACMAN_CONF) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<mktemp>} { (braced_var_sub token: <Id.VSub_Name TMPDIR> suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {<Id.Lit_Slash '/'> <var> <Id.Lit_Slash '/'> <tmp>} ) ) <'/pacman-conf-archlinux-XXXXXXXXX'> } ) ) } spids: [264] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:version) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$arch')}) (C {<cut>} {<-c>} {<5>}) ] negated: F ) ) ) } spids: [280] ) ] ) (command.Simple words: [ {<sed>} {(DQ <'s/Architecture = armv/Architecture = armv'> (${ Id.VSub_Name version) <'h/g'>)} {(SQ <'./mkimage-archarm-pacman.conf'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name PACMAN_CONF))} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACMAN_MIRRORLIST) op: assign_op.Equal rhs: {(SQ <'Server = http://mirror.archlinuxarm.org/$arch/$repo'>)} spids: [321] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACMAN_EXTRA_PKGS) op: assign_op.Equal rhs: {(SQ <archlinuxarm-keyring>)} spids: [327] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXPECT_TIMEOUT) op: assign_op.Equal rhs: {<1800>} spids: [333] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ARCH_KEYRING) op: assign_op.Equal rhs: {<archlinuxarm>} spids: [340] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOCKER_IMAGE_NAME) op: assign_op.Equal rhs: {(DQ <armv> (${ Id.VSub_Name version) <'h/archlinux'>)} spids: [344] ) ] ) ] spids: [211 213 354 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACMAN_CONF) op: assign_op.Equal rhs: {(SQ <'./mkimage-arch-pacman.conf'>)} spids: [361] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACMAN_MIRRORLIST) op: assign_op.Equal rhs: {(SQ <'Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch'>)} spids: [367] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACMAN_EXTRA_PKGS) op: assign_op.Equal rhs: {(SQ )} spids: [373] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXPECT_TIMEOUT) op: assign_op.Equal rhs: {<60>} spids: [378] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ARCH_KEYRING) op: assign_op.Equal rhs: {<archlinux>} spids: [382] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOCKER_IMAGE_NAME) op: assign_op.Equal rhs: {<archlinux>} spids: [386] ) ] ) ] spids: [357 358 390 -1] ) ] ) (C {<export>} {<PACMAN_MIRRORLIST>}) (command.Simple words: [{<expect>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {<EOF>} here_end_span_id: 483 stdin_parts: [ <'\tset send_slow {1 .1}\n'> <'\tproc send {ignore arg} {\n'> <'\t\tsleep .1\n'> <'\t\texp_send -s -- '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'arg\n'> <'\t}\n'> <'\tset timeout '> ($ Id.VSub_DollarName '$EXPECT_TIMEOUT') <'\n'> <'\n'> <'\tspawn pacstrap -C '> ($ Id.VSub_DollarName '$PACMAN_CONF') <' -c -d -G -i '> ($ Id.VSub_DollarName '$ROOTFS') <' base haveged '> ($ Id.VSub_DollarName '$PACMAN_EXTRA_PKGS') <' --ignore '> ($ Id.VSub_DollarName '$PKGIGNORE') <'\n'> <'\texpect {\n'> <'\t\t-exact '> <Id.Right_DoubleQuote '"'> <'anyway? '> <Id.Lit_Other '\\'> <'[Y/n'> <Id.Lit_Other '\\'> <'] '> <Id.Right_DoubleQuote '"'> <' { send -- '> <Id.Right_DoubleQuote '"'> <n> <Id.Lit_Other '\\'> <r> <Id.Right_DoubleQuote '"'> <'; exp_continue }\n'> <'\t\t-exact '> <Id.Right_DoubleQuote '"'> <'(default=all): '> <Id.Right_DoubleQuote '"'> <' { send -- '> <Id.Right_DoubleQuote '"'> <Id.Lit_Other '\\'> <r> <Id.Right_DoubleQuote '"'> <'; exp_continue }\n'> <'\t\t-exact '> <Id.Right_DoubleQuote '"'> <'installation? '> <Id.Lit_Other '\\'> <'[Y/n'> <Id.Lit_Other '\\'> <']'> <Id.Right_DoubleQuote '"'> <' { send -- '> <Id.Right_DoubleQuote '"'> <y> <Id.Lit_Other '\\'> <r> <Id.Right_DoubleQuote '"'> <'; exp_continue }\n'> <'\t\t-exact '> <Id.Right_DoubleQuote '"'> <'delete it? '> <Id.Lit_Other '\\'> <'[Y/n'> <Id.Lit_Other '\\'> <']'> <Id.Right_DoubleQuote '"'> <' { send -- '> <Id.Right_DoubleQuote '"'> <y> <Id.Lit_Other '\\'> <r> <Id.Right_DoubleQuote '"'> <'; exp_continue }\n'> <'\t}\n'> ] ) ) ] do_fork: T ) (C {<arch-chroot>} {($ Id.VSub_DollarName '$ROOTFS')} {<'/bin/sh'>} {<-c>} {(SQ <'rm -r /usr/share/man/*'>)} ) (C {<arch-chroot>} {($ Id.VSub_DollarName '$ROOTFS')} {<'/bin/sh'>} {<-c>} { (DQ < 'haveged -w 1024; pacman-key --init; pkill haveged; pacman -Rs --noconfirm haveged; pacman-key --populate ' > ($ Id.VSub_DollarName '$ARCH_KEYRING') <'; pkill gpg-agent'> ) } ) (C {<arch-chroot>} {($ Id.VSub_DollarName '$ROOTFS')} {<'/bin/sh'>} {<-c>} {(DQ <'ln -s /usr/share/zoneinfo/UTC /etc/localtime'>)} ) (command.Simple words: [{<echo>} {(SQ <'en_US.UTF-8 UTF-8'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$ROOTFS') <'/etc/locale.gen'>} ) ] do_fork: T ) (C {<arch-chroot>} {($ Id.VSub_DollarName '$ROOTFS')} {<locale-gen>}) (C {<arch-chroot>} {($ Id.VSub_DollarName '$ROOTFS')} {<'/bin/sh'>} {<-c>} {(SQ <'echo $PACMAN_MIRRORLIST > /etc/pacman.d/mirrorlist'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DEV) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$ROOTFS') <'/dev'>} spids: [556] ) ] ) (C {<rm>} {<-rf>} {($ Id.VSub_DollarName '$DEV')}) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$DEV')}) (C {<mknod>} {<-m>} {<666>} {($ Id.VSub_DollarName '$DEV') <'/null'>} {<c>} {<1>} {<3>}) (C {<mknod>} {<-m>} {<666>} {($ Id.VSub_DollarName '$DEV') <'/zero'>} {<c>} {<1>} {<5>}) (C {<mknod>} {<-m>} {<666>} {($ Id.VSub_DollarName '$DEV') <'/random'>} {<c>} {<1>} {<8>}) (C {<mknod>} {<-m>} {<666>} {($ Id.VSub_DollarName '$DEV') <'/urandom'>} {<c>} {<1>} {<9>}) (C {<mkdir>} {<-m>} {<755>} {($ Id.VSub_DollarName '$DEV') <'/pts'>}) (C {<mkdir>} {<-m>} {<1777>} {($ Id.VSub_DollarName '$DEV') <'/shm'>}) (C {<mknod>} {<-m>} {<666>} {($ Id.VSub_DollarName '$DEV') <'/tty'>} {<c>} {<5>} {<0>}) (C {<mknod>} {<-m>} {<600>} {($ Id.VSub_DollarName '$DEV') <'/console'>} {<c>} {<5>} {<1>}) (C {<mknod>} {<-m>} {<666>} {($ Id.VSub_DollarName '$DEV') <'/tty0'>} {<c>} {<4>} {<0>}) (C {<mknod>} {<-m>} {<666>} {($ Id.VSub_DollarName '$DEV') <'/full'>} {<c>} {<1>} {<7>}) (C {<mknod>} {<-m>} {<600>} {($ Id.VSub_DollarName '$DEV') <'/initctl'>} {<p>}) (C {<mknod>} {<-m>} {<666>} {($ Id.VSub_DollarName '$DEV') <'/ptmx'>} {<c>} {<5>} {<2>}) (C {<ln>} {<-sf>} {<'/proc/self/fd'>} {($ Id.VSub_DollarName '$DEV') <'/fd'>}) (command.Pipeline children: [ (C {<tar>} {<--numeric-owner>} {<--xattrs>} {<--acls>} {<-C>} {($ Id.VSub_DollarName '$ROOTFS')} {<-c>} {<.>} ) (C {<docker>} {<import>} {<->} {($ Id.VSub_DollarName '$DOCKER_IMAGE_NAME')}) ] negated: F ) (C {<docker>} {<run>} {<--rm>} {<-t>} {($ Id.VSub_DollarName '$DOCKER_IMAGE_NAME')} {<echo>} {<Success.>} ) (C {<rm>} {<-rf>} {($ Id.VSub_DollarName '$ROOTFS')}) ] )