(command.CommandList children: [ (C {<set>} {<-e>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$PATH') <Id.Lit_Colon ':'> <'/usr/local/bin'>} spids: [9] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:XBIN) op: assign_op.Equal rhs: {<'usr/xbin'>} spids: [15] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:SRC) op:assign_op.Equal rhs:{<src>} spids:[18])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMPKB) op: assign_op.Equal rhs: {<32000>} spids: [25] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACKAGEDIR) op: assign_op.Equal rhs: {<'/usr/bigports/Packages'>} spids: [29] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACKAGESOURCEDIR) op: assign_op.Equal rhs: {<'/usr/bigports/Sources'>} spids: [32] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACKAGELIST) op: assign_op.Equal rhs: {<packages.install>} spids: [38] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACKAGESOURCELIST) op: assign_op.Equal rhs: {<package_sources.install>} spids: [44] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:secs) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {<32>} {(SQ <'*'>)} {<64>}) ) } spids: [47] ) ] ) (C {<export>} {<Id.Lit_VarLike 'SHELL='> <'/bin/sh'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TRUNK) op: assign_op.Equal rhs: {<https> <Id.Lit_Colon ':'> <'//gforge.cs.vu.nl/svn/minix/trunk'>} spids: [71] ) ] ) (command.ShFunction name: make_hdimage body: (BraceGroup children: [ (C {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$TMPDISK1')} {<Id.Lit_VarLike 'of='> <usrimage>} {<Id.Lit_VarLike 'bs='> ($ Id.VSub_DollarName '$BS')} {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$USRBLOCKS')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rootsize) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<stat>} {<-size>} {<rootimage>}) ) } spids: [100] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:usrsize) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<stat>} {<-size>} {<usrimage>}) ) } spids: [112] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rootsects) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$rootsize')} {<'/'>} {<512>}) ) } spids: [125] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:usrsects) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$usrsize')} {<'/'>} {<512>}) ) } spids: [139] ) ] ) (command.Simple words: [{<dd>} {<Id.Lit_VarLike 'count='> <2>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/dev/zero'>} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<tmpimage>} ) ] do_fork: T ) (C {<partition>} {<-fm>} {<tmpimage>} {<2>} {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$rootsects') <Id.Lit_Star '*'>} {<0> <Id.Lit_Colon ':'> <0>} {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$usrsects')} ) (C {<installboot>} {<-m>} {<tmpimage>} {<'/usr/mdec/masterboot'>}) (command.Simple words: [{<dd>} {<Id.Lit_VarLike 'count='> <1>}] redirects: [ (redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<tmpimage>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<subpart>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:primsects) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {<1>} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName '$rootsects')} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName '$usrsects')} ) ) } spids: [217] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cyl) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(SQ <'('>)} {($ Id.VSub_DollarName '$primsects')} {(SQ <')'>)} {<'/'>} {($ Id.VSub_DollarName '$secs')} {<Id.Lit_Other '+'>} {<1>} ) ) } spids: [235] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:padsects) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$cyl')} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>)} {($ Id.VSub_DollarName '$secs')} {<->} {<1>} {<->} {($ Id.VSub_DollarName '$primsects')} ) ) } spids: [261] ) ] ) (BraceGroup children: [ (command.Simple words: [{<dd>} {<Id.Lit_VarLike 'count='> <1>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/dev/zero'>} ) ] do_fork: T ) (C {<cat>} {<subpart>}) (C {<cat>} {<rootimage>}) (C {<cat>} {<usrimage>}) (command.Simple words: [{<dd>} {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$padsects')}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/dev/zero'>} ) ] do_fork: T ) ] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<hdimage>})] ) (C {<partition>} {<-m>} {<hdimage>} {<81> <Id.Lit_Colon ':'> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$primsects')} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName '$padsects')} ) ) <Id.Lit_Star '*'> } ) (C {<installboot>} {<-m>} {<hdimage>} {<'/usr/mdec/masterboot'>}) ] ) ) (command.ShFunction name: retrieve body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dir) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [370] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:list) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>})) <'/'> ($ Id.VSub_Number '$2') } spids: [374] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:url) op: assign_op.Equal rhs: {<http> <Id.Lit_Colon ':'> <'//www.minix3.org/'> ($ Id.VSub_Number '$3')} spids: [384] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BIGPORTS) op: assign_op.Equal rhs: {<bigports>} spids: [390] ) ] ) (command.Subshell child: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<cd>} {($ Id.VSub_DollarName '$dir')}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] ) (C {<echo>} { (DQ <' * Updating '> ($ Id.VSub_DollarName '$dir') <'\n'> <' from '> ($ Id.VSub_DollarName '$url') <'\n'> <' with '> ($ Id.VSub_DollarName '$list') ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:files) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {<awk>} {(SQ <'{ print "'>) ($ Id.VSub_DollarName '$url') (SQ <'/" $1 ".tar.bz2" }'>) } ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName '$list')} ) ] do_fork: T ) ) } spids: [423] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<wget>} {<-c>} {($ Id.VSub_DollarName '$url') <'/List'>} {($ Id.VSub_DollarName '$files')} ) (C {<true>}) ] ) ] ) ) ] ) ) (command.ShFunction name: hdemu_root_changes body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin/installboot'>} {<-d>} {($ Id.VSub_DollarName '$TMPDISK3')} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/mdec/bootblock'>} {<'boot/boot'>} ) (command.Pipeline children: [ (C {<echo>} { (SQ <'bootcd=2\n'> <'disable=inet\n'> <'bios_wini=yes\n'> <'bios_remap_first=1\n'> <'ramimagedev=c0d7p0s0\n'> <'bootbig(1, Regular MINIX 3) { image=/boot/image_big; boot }\n'> <'main() { trap 10000 boot ; menu; }\n'> <save> ) } ) (C {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin/edparams'>} {($ Id.VSub_DollarName '$TMPDISK3')} ) ] negated: F ) (command.Simple words: [ {<echo>} {(SQ <'root=/dev/c0d7p0s0\n'> <'usr=/dev/c0d7p0s2\n'> <'usr_roflag="-r"'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/etc/fstab'>} ) ] do_fork: T ) ] ) ) (command.ShFunction name: usb_root_changes body: (BraceGroup children: [ (C {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin/installboot'>} {<-d>} {($ Id.VSub_DollarName '$TMPDISK3')} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/mdec/bootblock'>} {<'boot/boot'>} ) (command.Pipeline children: [ (C {<echo>} {(SQ <'bios_wini=yes\n'> <'bios_remap_first=1\n'> <'rootdev=c0d7p0s0\n'> <save>)} ) (C {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin/edparams'>} {($ Id.VSub_DollarName '$TMPDISK3')} ) ] negated: F ) (command.Simple words: [{<echo>} {(SQ <'root=/dev/c0d7p0s0\n'> <'usr=/dev/c0d7p0s2\n'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/etc/fstab'>} ) ] do_fork: T ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RELEASEDIR) op: assign_op.Equal rhs: {<'/usr/r'>} spids: [580] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RELEASEPACKAGE) op: assign_op.Equal rhs: {(${ Id.VSub_Name RELEASEDIR) <'/usr/install/packages'>} spids: [583] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RELEASEPACKAGESOURCES) op: assign_op.Equal rhs: {(${ Id.VSub_Name RELEASEDIR) <'/usr/install/package-sources'>} spids: [589] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE) op: assign_op.Equal rhs: {<'../boot/boot'>} spids: [595] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ROOTIMAGE) op: assign_op.Equal rhs: {<rootimage>} spids: [598] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CDFILES) op: assign_op.Equal rhs: {<'/usr/tmp/cdreleasefiles'>} spids: [601] ) ] ) (command.Simple words: [{<sh>} {<tell_config>} {<OS_RELEASE>} {<.>} {<OS_VERSION>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/tmp/rel.'> ($ Id.VSub_Dollar '$$')} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:version_pretty) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<sed>} {(SQ <'s/[" ]//g;/^$/d'>)}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/tmp/rel.'> ($ Id.VSub_Dollar '$$')} ) ] do_fork: T ) ) } spids: [618] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:version) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple words: [{<sed>} {(SQ <'s/[" ]//g;/^$/d'>)}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/tmp/rel.'> ($ Id.VSub_Dollar '$$')} ) ] do_fork: T ) (C {<tr>} {<.>} {<Id.Lit_Underscore _>}) ] negated: F ) ) } spids: [633] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMG_BASE) op: assign_op.Equal rhs: {<minix> (${ Id.VSub_Name version) <_ide>} spids: [656] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BS) op: assign_op.Equal rhs: {<4096>} spids: [663] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HDEMU) op: assign_op.Equal rhs: {<0>} spids: [667] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:COPY) op:assign_op.Equal rhs:{<0>} spids:[670])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SVNREV) op: assign_op.Equal rhs: {(DQ )} spids: [673] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REVTAG) op: assign_op.Equal rhs: {(DQ )} spids: [677] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACKAGES) op: assign_op.Equal rhs: {<1>} spids: [681] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FILENAMEOUT) op: assign_op.Equal rhs: {(DQ )} spids: [685] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<getopts>} {(DQ <'s:pchu?r:f:'>)} {<c>})]) body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$c'))} arms: [ (case_arm pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'>)}] action: [ (command.Simple words: [ {<echo>} { (DQ <'Usage: '> ($ Id.VSub_Number '$0') <' [-p] [-c] [-h] [-r <tag>] [-u] [-f <filename>] [-s <username>]'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [712 713 733 -1] ) (case_arm pat_list: [{<h>}] action: [ (C {<echo>} {(DQ <' * Making HD image'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMG_BASE) op: assign_op.Equal rhs: {<minix> (${ Id.VSub_Name version) <_bios>} spids: [747] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HDEMU) op: assign_op.Equal rhs: {<1>} spids: [755] ) ] ) ] spids: [736 737 759 -1] ) (case_arm pat_list: [{<c>}] action: [ (C {<echo>} {(DQ <' * Copying, not SVN'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COPY) op: assign_op.Equal rhs: {<1>} spids: [773] ) ] ) ] spids: [762 763 777 -1] ) (case_arm pat_list: [{<p>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACKAGES) op: assign_op.Equal rhs: {<0>} spids: [784] ) ] ) ] spids: [780 781 788 -1] ) (case_arm pat_list: [{<r>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SVNREV) op: assign_op.Equal rhs: {<-r> ($ Id.VSub_DollarName '$OPTARG')} spids: [796] ) ] ) ] spids: [791 792 801 -1] ) (case_arm pat_list: [{<u>}] action: [ (C {<echo>} {(DQ <' * Making live USB-stick image'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMG_BASE) op: assign_op.Equal rhs: {<minix> (${ Id.VSub_Name version) <_usb>} spids: [815] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HDEMU) op: assign_op.Equal rhs: {<1>} spids: [823] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USB) op: assign_op.Equal rhs: {<1>} spids: [827] ) ] ) ] spids: [804 805 831 -1] ) (case_arm pat_list: [{<f>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FILENAMEOUT) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$OPTARG'))} spids: [838] ) ] ) ] spids: [834 835 844 -1] ) (case_arm pat_list: [{<s>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USERNAME) op: assign_op.Equal rhs: {(DQ <'--username='> ($ Id.VSub_DollarName '$OPTARG'))} spids: [850] ) ] ) ] spids: [847 848 857 -1] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName '$USRMB'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USRMB) op: assign_op.Equal rhs: {<600>} spids: [879] ) ] ) ] spids: [865 877] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$PACKAGES')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.AndOr ops: [Id.Op_DPipe] children: [(C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$PACKAGEDIR')}) (C {<true>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$PACKAGESOURCEDIR')}) (C {<true>})] ) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$PACKAGEDIR') <'/List'>}) (C {<retrieve>} {($ Id.VSub_DollarName '$PACKAGEDIR')} {($ Id.VSub_DollarName '$PACKAGELIST')} {<'packages/'> (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-p>})) <'/'> (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-r>})) <.> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<uname>} {<-v>}) ) } ) (C {<retrieve>} {($ Id.VSub_DollarName '$PACKAGESOURCEDIR')} {($ Id.VSub_DollarName '$PACKAGESOURCELIST')} {<software>} ) ] spids: [885 897] ) ] ) (C {<echo>} {($ Id.VSub_DollarName '$USRMB')} {<MB>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USRKB) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Star left: {($ Id.VSub_DollarName '$USRMB')} right: {<Id.Lit_Digits 1024>} ) ) } spids: [979] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USRBLOCKS) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: (arith_expr.Binary op_id: Id.Arith_Star left: (arith_expr.Binary op_id: Id.Arith_Star left: {($ Id.VSub_DollarName '$USRMB')} right: {<Id.Lit_Digits 1024>} ) right: {<Id.Lit_Digits 1024>} ) right: {($ Id.VSub_DollarName '$BS')} ) ) } spids: [987] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USRSECTS) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Star left: (arith_expr.Binary op_id: Id.Arith_Star left: {($ Id.VSub_DollarName '$USRMB')} right: {<Id.Lit_Digits 1024>} ) right: {<Id.Lit_Digits 2>} ) ) } spids: [1005] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ROOTKB) op: assign_op.Equal rhs: {<8192>} spids: [1019] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ROOTSECTS) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Star left: {($ Id.VSub_DollarName '$ROOTKB')} right: {<Id.Lit_Digits 2>} ) ) } spids: [1022] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ROOTBLOCKS) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: (arith_expr.Binary op_id: Id.Arith_Star left: {($ Id.VSub_DollarName '$ROOTKB')} right: {<Id.Lit_Digits 1024>} ) right: {($ Id.VSub_DollarName '$BS')} ) ) } spids: [1032] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$COPY'))} {<-ne>} {<1>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<echo>} {(DQ <'Note: this script wants to do svn operations.'>)})] spids: [1047 1061] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMPDISK1) op: assign_op.Equal rhs: {<'/dev/ram0'>} spids: [1073] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMPDISK2) op: assign_op.Equal rhs: {<'/dev/ram1'>} spids: [1076] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMPDISK3) op: assign_op.Equal rhs: {<'/dev/ram2'>} spids: [1079] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-b>} {($ Id.VSub_DollarName '$TMPDISK1')} {<-o>} {<Id.KW_Bang '!'>} {<-b>} {($ Id.VSub_DollarName '$TMPDISK2')} {<-o>} {<Id.KW_Bang '!'>} {($ Id.VSub_DollarName '$TMPDISK3')} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ ($ Id.VSub_DollarName '$TMPDISK1') <', '> ($ Id.VSub_DollarName '$TMPDISK2') <' or '> ($ Id.VSub_DollarName '$TMPDISK3') <' is not a block device..'> ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [1083 1109] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<umount>} {($ Id.VSub_DollarName '$TMPDISK1')}) (C {<true>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<umount>} {($ Id.VSub_DollarName '$TMPDISK2')}) (C {<true>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<umount>} {($ Id.VSub_DollarName '$TMPDISK3')}) (C {<true>})] ) (C {<ramdisk>} {($ Id.VSub_DollarName '$USRKB')} {($ Id.VSub_DollarName '$TMPDISK1')}) (C {<ramdisk>} {($ Id.VSub_DollarName '$TMPKB')} {($ Id.VSub_DollarName '$TMPDISK2')}) (C {<ramdisk>} {($ Id.VSub_DollarName '$ROOTKB')} {($ Id.VSub_DollarName '$TMPDISK3')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TMPDISK1')} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$TMPDISK2')} {<-o>} {($ Id.VSub_DollarName '$TMPDISK1')} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$TMPDISK3')} {<-o>} {($ Id.VSub_DollarName '$TMPDISK2')} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$TMPDISK3')} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'Temporary devices can\'t be equal.'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] spids: [1174 1202] ) ] ) (C {<echo>} {(DQ <' * Cleanup old files'>)}) (C {<rm>} {<-rf>} {($ Id.VSub_DollarName '$RELEASEDIR')} {($ Id.VSub_DollarName '$IMG')} {($ Id.VSub_DollarName '$ROOTIMAGE')} {($ Id.VSub_DollarName '$CDFILES')} {<image> <Id.Lit_Star '*'>} ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$CDFILES')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR')}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mkfs>} {<-i>} {<2000>} {<-B>} {($ Id.VSub_DollarName '$BS')} {<-b>} {($ Id.VSub_DollarName '$ROOTBLOCKS')} {($ Id.VSub_DollarName '$TMPDISK3')} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mkfs>} {<-B>} {<1024>} {<-b>} {($ Id.VSub_DollarName '$TMPKB')} {($ Id.VSub_DollarName '$TMPDISK2')} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (C {<echo>} { (DQ <' * mounting '> ($ Id.VSub_DollarName '$TMPDISK3') <' as '> ($ Id.VSub_DollarName '$RELEASEDIR') ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mount>} {($ Id.VSub_DollarName '$TMPDISK3')} {($ Id.VSub_DollarName '$RELEASEDIR')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (C {<mkdir>} {<-m>} {<755>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>}) (C {<mkdir>} {<-m>} {<1777>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/tmp'>}) (C {<mount>} {($ Id.VSub_DollarName '$TMPDISK2')} {($ Id.VSub_DollarName '$RELEASEDIR') <'/tmp'>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mkfs>} {<-B>} {($ Id.VSub_DollarName '$BS')} {<-i>} {<30000>} {<-b>} {($ Id.VSub_DollarName '$USRBLOCKS')} {($ Id.VSub_DollarName '$TMPDISK1')} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (C {<echo>} { (DQ <' * Mounting '> ($ Id.VSub_DollarName '$TMPDISK1') <' as '> ($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mount>} {($ Id.VSub_DollarName '$TMPDISK1')} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/tmp'>}) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/tmp'>}) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/'> ($ Id.VSub_DollarName '$XBIN')}) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin'>}) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/bin'>}) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEPACKAGE')}) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEPACKAGESOURCES')}) (C {<echo>} {(DQ <' * Transfering bootstrap dirs to '> ($ Id.VSub_DollarName '$RELEASEDIR'))}) (C {<cp>} {<-p>} {<'/bin/'> <Id.Lit_Star '*'>} {<'/usr/bin/'> <Id.Lit_Star '*'>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/'> ($ Id.VSub_DollarName '$XBIN')} ) (C {<cp>} {<-rp>} {<'/usr/lib'>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>}) (C {<cp>} {<-rp>} {<'/bin/bigsh'>} {<'/bin/sh'>} {<'/bin/echo'>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/bin'>} ) (C {<cp>} {<-rp>} {<'/usr/bin/make'>} {<'/usr/bin/install'>} {<'/usr/bin/yacc'>} {<'/usr/bin/flex'>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin'>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-d>} {($ Id.VSub_DollarName '$PACKAGEDIR')} {<-a>} {<-d>} {($ Id.VSub_DollarName '$PACKAGESOURCEDIR')} {<-a>} {<-f>} {($ Id.VSub_DollarName '$PACKAGELIST')} {<-a>} {<-f>} {($ Id.VSub_DollarName '$PACKAGESOURCELIST')} {<-a>} {($ Id.VSub_DollarName '$PACKAGES')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <' * Transfering '> ($ Id.VSub_DollarName '$PACKAGEDIR') <' to '> ($ Id.VSub_DollarName '$RELEASEPACKAGE') ) } ) (command.Simple words: [{<Id.Lit_Colon ':'>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEPACKAGE') <'/List'>} ) ] do_fork: T ) (command.ForEach iter_names: [p] iterable: (for_iter.Words words: [ { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<cat>} {($ Id.VSub_DollarName '$PACKAGELIST')}) ) } ] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName '$PACKAGEDIR') <'/'> ($ Id.VSub_DollarName '$p') <.tar.bz2> } {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<cp>} {($ Id.VSub_DollarName '$PACKAGEDIR') <'/'> ($ Id.VSub_DollarName '$p') <.tar.bz2> } {($ Id.VSub_DollarName '$RELEASEPACKAGE') <'/'>} ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {<grep>} {(DQ <'^'> ($ Id.VSub_DollarName '$p') <'|'>)} {($ Id.VSub_DollarName '$PACKAGEDIR') <'/List'>} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEPACKAGE') <'/List'>} ) ] do_fork: T ) (C {<echo>} {(DQ ($ Id.VSub_DollarName '$p') <' not found in List'>)}) ] ) ] spids: [1556 1570] ) ] else_action: [ (C {<echo>} { (DQ <'Can\'t copy '> ($ Id.VSub_DollarName '$PACKAGEDIR') <'/'> ($ Id.VSub_DollarName '$p') <'.tar.bz2. Missing.'> ) } ) ] ) ] ) ) (C {<echo>} { (DQ <' * Transfering '> ($ Id.VSub_DollarName '$PACKAGESOURCEDIR') <' to '> ($ Id.VSub_DollarName '$RELEASEPACKAGESOURCES') ) } ) (command.ForEach iter_names: [p] iterable: (for_iter.Words words: [ { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<cat>} {($ Id.VSub_DollarName '$PACKAGESOURCELIST')}) ) } ] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName '$PACKAGESOURCEDIR') <'/'> ($ Id.VSub_DollarName '$p') <.tar.bz2> } {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<cp>} {($ Id.VSub_DollarName '$PACKAGESOURCEDIR') <'/'> ($ Id.VSub_DollarName '$p') <.tar.bz2> } {($ Id.VSub_DollarName '$RELEASEPACKAGESOURCES') <'/'>} ) ] spids: [1659 1673] ) ] else_action: [ (C {<echo>} { (DQ <'Can\'t copy '> ($ Id.VSub_DollarName '$PACKAGESOURCEDIR') <'/'> ($ Id.VSub_DollarName '$p') <'.tar.bz2. Missing.'> ) } ) ] ) ] ) ) ] spids: [1484 1520] ) ] ) (C {<chown>} {<-R>} {<bin>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/lib'>}) (C {<chmod>} {<-R>} {<u> <Id.Lit_Other '+'> <w>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/lib'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$COPY'))} {<-ne>} {<1>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <' * Doing new svn export'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TOOLSREPO) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<svn>} {<info>}) (C {<grep>} {(SQ <'^URL: '>)}) (C {<awk>} {(SQ <'{ print $2 }'>)}) ] negated: F ) ) ) } spids: [1757] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REPO) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$TOOLSREPO')}) (C {<sed>} {(SQ <'s/.tools$//'>)}) ] negated: F ) ) ) } spids: [1785] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BRANCHNAME) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$REPO')}) (C {<awk>} {<'-F/'>} {(SQ <'{ print $NF }'>)}) ] negated: F ) ) ) } spids: [1805] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REVISION) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<svn>} {<info>} {($ Id.VSub_DollarName '$USERNAME')} {($ Id.VSub_DollarName '$SVNREV')} {($ Id.VSub_DollarName '$REPO')} ) (C {<grep>} {(SQ <'^Revision: '>)}) (C {<awk>} {(SQ <'{ print $2 }'>)}) ] negated: F ) ) ) } spids: [1827] ) ] ) (C {<echo>} { (DQ <'Doing export of revision '> ($ Id.VSub_DollarName '$REVISION') <' from '> ($ Id.VSub_DollarName '$REPO') <.> ) } ) (command.Subshell child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<cd>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>}) (C {<svn>} {<-q>} {($ Id.VSub_DollarName '$USERNAME')} {<export>} {<-r> ($ Id.VSub_DollarName '$REVISION')} {($ Id.VSub_DollarName '$REPO')} {($ Id.VSub_DollarName '$SRC')} ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$BRANCHNAME')} {<Id.Lit_Equals '='>} {<src>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REVTAG) op: assign_op.Equal rhs: {<r> ($ Id.VSub_DollarName '$REVISION')} spids: [1914] ) ] ) ] spids: [1899 1912] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REVTAG) op: assign_op.Equal rhs: {<branch-> ($ Id.VSub_DollarName '$BRANCHNAME') <-r> ($ Id.VSub_DollarName '$REVISION') } spids: [1921] ) ] ) ] ) (command.Simple words: [ {<echo>} { (DQ <'\n'> <'\n'> <'/* Added by release script */\n'> <'#ifndef _SVN_REVISION\n'> <'#define _SVN_REVISION '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$REVTAG') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'\n'> <'#endif'> ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/src/include/minix/sys_config.h'>} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USB'))} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMG) op: assign_op.Equal rhs: {(${ Id.VSub_Name IMG_BASE) <Id.Lit_Underscore _> (${ Id.VSub_Name REVTAG) <.img> } spids: [1974] ) ] ) ] spids: [1956 1971] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMG) op: assign_op.Equal rhs: {(${ Id.VSub_Name IMG_BASE) <Id.Lit_Underscore _> (${ Id.VSub_Name REVTAG) <.iso> } spids: [1987] ) ] ) ] ) ] spids: [1733 1747] ) ] else_action: [ (command.Subshell child: (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [(C {<cd>} {<..>}) (C {<make>} {<depend>}) (C {<make>} {<clean>})] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcdir) op: assign_op.Equal rhs: {<'/usr/'> ($ Id.VSub_DollarName '$SRC')} spids: [2024] ) ] ) (command.Pipeline children: [ (command.Subshell child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<cd>} {($ Id.VSub_DollarName '$srcdir')}) (C {<tar>} {<cf>} {<->} {<.>}) ] ) ) (command.Subshell child: (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp] children: [ (C {<cd>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>}) (C {<mkdir>} {($ Id.VSub_DollarName '$SRC')}) (C {<cd>} {($ Id.VSub_DollarName '$SRC')}) (C {<tar>} {<xf>} {<->}) ] ) ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REVTAG) op: assign_op.Equal rhs: {<copy>} spids: [2079] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REVISION) op: assign_op.Equal rhs: {<unknown>} spids: [2083] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMG) op: assign_op.Equal rhs: {(${ Id.VSub_Name IMG_BASE) <_copy.iso>} spids: [2087] ) ] ) ] ) (C {<echo>} {(DQ <' * Fixups for owners and modes of dirs and files'>)}) (C {<chown>} {<-R>} {<bin>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')} ) (C {<chmod>} {<-R>} {<u> <Id.Lit_Other '+'> <w>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')} ) (command.Pipeline children: [ (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')} {<-type>} {<d>} ) (C {<xargs>} {<chmod>} {<755>}) ] negated: F ) (command.Pipeline children: [ (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')} {<-type>} {<f>} ) (C {<xargs>} {<chmod>} {<644>}) ] negated: F ) (command.Pipeline children: [ (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')} {<-name>} {<configure>} ) (C {<xargs>} {<chmod>} {<755>}) ] negated: F ) (command.Pipeline children: [ (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC') <'/commands'>} {<-name>} {<build>} ) (C {<xargs>} {<chmod>} {<755>}) ] negated: F ) (C {<rm>} {<-rf>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC') <'/doc/bugs'>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USB'))} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Simple words: [{<date>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/CD'>} ) ] do_fork: T ) ] spids: [2215 2229] ) ] ) (C {<echo>} {(DQ <' * Chroot build'>)}) (C {<cp>} {<chrootmake.sh>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC') <'/tools/chrootmake.sh'> } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<chroot>} {($ Id.VSub_DollarName '$RELEASEDIR')} { (DQ <'PATH=/'> ($ Id.VSub_DollarName '$XBIN') <' sh -x /usr/'> ($ Id.VSub_DollarName '$SRC') <'/tools/chrootmake.sh'> ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (C {<cp>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/boot/image_big'>} {<image>}) (C {<echo>} {(DQ <' * Chroot build done'>)}) (C {<echo>} {(DQ <' * Removing bootstrap files'>)}) (C {<rm>} {<-rf>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/'> ($ Id.VSub_DollarName '$XBIN')}) (C {<chown>} {<-R>} {<bin>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/src'> <Id.Lit_Star '*'>}) (C {<cp>} {<issue.install>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/etc/issue'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USB'))} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<usb_root_changes>})] spids: [2323 2337] ) (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$HDEMU'))} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<hdemu_root_changes>})] spids: [2342 2356] ) ] ) (command.Simple words: [ {<echo>} {($ Id.VSub_DollarName '$version_pretty') <Id.Lit_Comma ','>} {<SVN>} {<revision>} {($ Id.VSub_DollarName '$REVISION') <Id.Lit_Comma ','>} {<generated>} {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<date>}))} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/etc/version'>} ) ] do_fork: T ) (C {<echo>} {(DQ <' * Counting files'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:extrakb) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<du>} {<-s>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/install'>}) (C {<awk>} {(SQ <'{ print $1 }'>)}) ] negated: F ) ) } spids: [2394] ) ] ) (command.Simple words: [ {<expr>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<df>} {($ Id.VSub_DollarName '$TMPDISK1')}) (C {<tail>} {<-1>}) (C {<awk>} {(SQ <'{ print $4 }'>)}) ] negated: F ) ) } {<->} {($ Id.VSub_DollarName '$extrakb')} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/.usrkb'>} ) ] do_fork: T ) (command.Pipeline children: [ (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>}) (C {<fgrep>} {<-v>} {<'/install/'>}) (command.Simple words: [{<wc>} {<-l>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/.usrfiles'>} ) ] do_fork: T ) ] negated: F ) (command.Pipeline children: [ (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR')} {<-xdev>}) (command.Simple words: [{<wc>} {<-l>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/.rootfiles'>} ) ] do_fork: T ) ] negated: F ) (C {<echo>} {(DQ <' * Zeroing remainder of temporary areas'>)}) (C {<df>} {($ Id.VSub_DollarName '$TMPDISK1')}) (C {<df>} {($ Id.VSub_DollarName '$TMPDISK3')}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<cp>} {<'/dev/zero'>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/.x'>}] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (C {<true>}) ] ) (C {<rm>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/.x'>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<cp>} {<'/dev/zero'>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/.x'>}] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (C {<true>}) ] ) (C {<rm>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/.x'>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<umount>} {($ Id.VSub_DollarName '$TMPDISK1')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<umount>} {($ Id.VSub_DollarName '$TMPDISK2')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<umount>} {($ Id.VSub_DollarName '$TMPDISK3')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (C {<edparams>} {($ Id.VSub_DollarName '$TMPDISK3')} { (SQ <'unset bootopts;\n'> <'unset servers;\n'> <'unset rootdev;\n'> <'unset leader;\n'> <'unset image;\n'> <'disable=inet;\n'> <'bootcd=1;\n'> <'cdproberoot=1;\n'> <'ata_id_timeout=2;\n'> <'bootbig(1, Regular MINIX 3) { unset image; boot }\n'> < 'leader() { echo \\n--- Welcome to MINIX 3. This is the boot monitor. ---\\n\\nChoose an option from the menu or press ESC if you need to do anything special.\\nOtherwise I will boot with my defaults in 10 seconds.\\n\\n }; main(){trap 10000 boot; menu; };\n' > <save> ) } ) (command.Subshell child: (command.AndOr ops:[Id.Op_DAmp] children:[(C {<cd>} {<'../boot'>}) (C {<make>})]) ) (C {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$TMPDISK3')} {<Id.Lit_VarLike 'of='> ($ Id.VSub_DollarName '$ROOTIMAGE')} {<Id.Lit_VarLike 'bs='> ($ Id.VSub_DollarName '$BS')} {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$ROOTBLOCKS')} ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<cp>} {<'release/cd/'> <Id.Lit_Star '*'>} {($ Id.VSub_DollarName '$CDFILES')}) (C {<true>}) ] ) (command.Simple words: [ {<echo>} { (DQ <'This is Minix version '> ($ Id.VSub_DollarName '$version_pretty') <' prepared '> (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<date>})) <.> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$CDFILES') <'/VERSION.TXT'>} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:boottype) op: assign_op.Equal rhs: {<-n>} spids: [2641] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bootimage) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$IMAGE')} spids: [2644] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$HDEMU'))} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<make_hdimage>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:boottype) op: assign_op.Equal rhs: {(SQ <-h>)} spids: [2668] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bootimage) op: assign_op.Equal rhs: {<hdimage>} spids: [2674] ) ] ) ] spids: [2647 2662] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USB'))} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<mv>} {($ Id.VSub_DollarName '$bootimage')} {($ Id.VSub_DollarName '$IMG')})] spids: [2680 2695] ) ] else_action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<writeisofs>} {<-s0x1000>} {<-l>} {<MINIX>} {<-b>} {($ Id.VSub_DollarName '$bootimage')} {($ Id.VSub_DollarName '$boottype')} {($ Id.VSub_DollarName '$CDFILES')} {($ Id.VSub_DollarName '$IMG')} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$HDEMU'))} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'Appending Minix root and usr filesystem'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:isobytes) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<stat>} {<-size>} {($ Id.VSub_DollarName '$IMG')}) ) } spids: [2762] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:isosects) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$isobytes')} {<'/'>} {<512>}) ) } spids: [2774] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:isopad) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$secs')} {<->} {(SQ <'('>)} {($ Id.VSub_DollarName '$isosects')} {<Id.Lit_Other '%'>} {($ Id.VSub_DollarName '$secs')} {(SQ <')'>)} ) ) } spids: [2788] ) ] ) (command.Simple words: [ {<dd>} {<Id.Lit_VarLike 'if='> <'/dev/zero'>} {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$isopad')} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$IMG')} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:isosects) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$isosects')} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName '$isopad')} ) ) } spids: [2830] ) ] ) (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (C {<cat>} {($ Id.VSub_DollarName '$IMG')} {($ Id.VSub_DollarName '$ROOTIMAGE')} ) terminator: <Id.Op_Semi _> ) (C {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$TMPDISK1')} {<Id.Lit_VarLike 'bs='> ($ Id.VSub_DollarName '$BS')} {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$USRBLOCKS')} ) ] ) redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<m>})] ) (C {<mv>} {<m>} {($ Id.VSub_DollarName '$IMG')}) (C {<installboot>} {<-m>} {($ Id.VSub_DollarName '$IMG')} {<'/usr/mdec/masterboot'>}) (C {<partition>} {<-m>} {($ Id.VSub_DollarName '$IMG')} {<0>} {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$isosects')} {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$ROOTSECTS')} {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$USRSECTS')} ) ] spids: [2733 2748] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$FILENAMEOUT'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_DollarName '$IMG'))}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$FILENAMEOUT')} ) ] do_fork: T ) ] spids: [2926 2936] ) ] ) ] )