(command.CommandList children: [ (C {(Id.KW_Set 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_Other ':') (/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: (Token id:Id.Left_Backtick val:'`' span_id:48) command_list: (command.CommandList children: [ (C {(expr)} {(32)} {(SQ (Token id:Id.Lit_Chars val:'*' span_id:56))} {(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_Other ':') (//gforge.cs.vu.nl/svn/minix/trunk)} spids: [71] ) ] ) (command.ShFunction name: make_hdimage body: (command.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: (Token id:Id.Left_Backtick val:'`' span_id:101) command_list: (command.CommandList children: [(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: (Token id:Id.Left_Backtick val:'`' span_id:113) command_list: (command.CommandList children: [(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: (Token id:Id.Left_Backtick val:'`' span_id:126) command_list: (command.CommandList children: [(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: (Token id:Id.Left_Backtick val:'`' span_id:140) command_list: (command.CommandList children: [(C {(expr)} {($ Id.VSub_DollarName '$usrsize')} {(/)} {(512)})] ) ) } spids: [139] ) ] ) (command.Simple words: [{(dd)} {(Id.Lit_VarLike 'count=') (2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:160) fd: -1 arg_word: {(/dev/zero)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:164) fd: -1 arg_word: {(tmpimage)} ) ] ) (C {(partition)} {(-fm)} {(tmpimage)} {(2)} {(81) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$rootsects') (Id.Lit_Star '*')} {(0) (Id.Lit_Other ':') (0)} {(81) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$usrsects')} ) (C {(installboot)} {(-m)} {(tmpimage)} {(/usr/mdec/masterboot)}) (command.Simple words: [{(dd)} {(Id.Lit_VarLike 'count=') (1)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:204) fd: -1 arg_word: {(tmpimage)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:208) fd: -1 arg_word: {(subpart)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:primsects) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:218) command_list: (command.CommandList children: [ (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: (Token id:Id.Left_Backtick val:'`' span_id:236) command_list: (command.CommandList children: [ (C {(expr)} {(SQ (Token id:Id.Lit_Chars val:'(' span_id:242))} {($ Id.VSub_DollarName '$primsects')} {(SQ (Token id:Id.Lit_Chars val:')' span_id:248))} {(/)} {($ 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: (Token id:Id.Left_Backtick val:'`' span_id:262) command_list: (command.CommandList children: [ (C {(expr)} {($ Id.VSub_DollarName '$cyl')} { (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\*' span_id:271) ) } {($ Id.VSub_DollarName '$secs')} {(-)} {(1)} {(-)} {($ Id.VSub_DollarName '$primsects')} ) ] ) ) } spids: [261] ) ] ) (command.BraceGroup children: [ (command.Simple words: [{(dd)} {(Id.Lit_VarLike 'count=') (1)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:290) fd: -1 arg_word: {(/dev/zero)} ) ] ) (C {(cat)} {(subpart)}) (C {(cat)} {(rootimage)}) (C {(cat)} {(usrimage)}) (command.Simple words: [{(dd)} {(Id.Lit_VarLike 'count=') ($ Id.VSub_DollarName '$padsects')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:315) fd: -1 arg_word: {(/dev/zero)} ) ] ) ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:325) fd: -1 arg_word: {(hdimage)} ) ] ) (C {(partition)} {(-m)} {(hdimage)} {(81) (Id.Lit_Other ':') (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:338) command_list: (command.CommandList children: [ (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: (command.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: (Token id:Id.Left_Backtick val:'`' span_id:375) command_list: (command.CommandList children:[(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_Other ':') (//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 command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(cd)} {($ Id.VSub_DollarName '$dir')}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:404) 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: (Token id:Id.Left_Backtick val:'`' span_id:424) command_list: (command.CommandList children: [ (command.Simple words: [ {(awk)} {(SQ (Token id:Id.Lit_Chars val:'{ print "' span_id:433)) ($ Id.VSub_DollarName '$url') (SQ (Token id:Id.Lit_Chars val:'/" $1 ".tar.bz2" }' span_id:437)) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:429) fd: -1 arg_word: {($ Id.VSub_DollarName '$list')} ) ] ) ] ) ) } 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: (command.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 (Token id:Id.Lit_Chars val:'bootcd=2\n' span_id:487) (Token id:Id.Lit_Chars val:'disable=inet\n' span_id:488) (Token id:Id.Lit_Chars val:'bios_wini=yes\n' span_id:489) (Token id: Id.Lit_Chars val: 'bios_remap_first=1\n' span_id: 490 ) (Token id:Id.Lit_Chars val:'ramimagedev=c0d7p0s0\n' span_id:491) (Token id: Id.Lit_Chars val: 'bootbig(1, Regular MINIX 3) { image=/boot/image_big; boot }\n' span_id: 492 ) (Token id:Id.Lit_Chars val:'main() { trap 10000 boot ; menu; }\n' span_id:493) (Token id:Id.Lit_Chars val:save span_id:494) ) } ) (C {($ Id.VSub_DollarName '$RELEASEDIR') (/usr/bin/edparams)} {($ Id.VSub_DollarName '$TMPDISK3')} ) ] negated: F ) (command.Simple words: [ {(echo)} { (SQ (Token id:Id.Lit_Chars val:'root=/dev/c0d7p0s0\n' span_id:510) (Token id:Id.Lit_Chars val:'usr=/dev/c0d7p0s2\n' span_id:511) (Token id:Id.Lit_Chars val:'usr_roflag="-r"' span_id:512) ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:515) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEDIR') (/etc/fstab)} ) ] ) ] ) ) (command.ShFunction name: usb_root_changes body: (command.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 (Token id:Id.Lit_Chars val:'bios_wini=yes\n' span_id:549) (Token id: Id.Lit_Chars val: 'bios_remap_first=1\n' span_id: 550 ) (Token id:Id.Lit_Chars val:'rootdev=c0d7p0s0\n' span_id:551) (Token id:Id.Lit_Chars val:save span_id:552) ) } ) (C {($ Id.VSub_DollarName '$RELEASEDIR') (/usr/bin/edparams)} {($ Id.VSub_DollarName '$TMPDISK3')} ) ] negated: F ) (command.Simple words: [ {(echo)} { (SQ (Token id:Id.Lit_Chars val:'root=/dev/c0d7p0s0\n' span_id:568) (Token id:Id.Lit_Chars val:'usr=/dev/c0d7p0s2\n' span_id:569) ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:572) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEDIR') (/etc/fstab)} ) ] ) ] ) ) (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.Redir op: (Token id:Id.Redir_Great val:'>' span_id:614) fd: -1 arg_word: {(/tmp/rel.) ($ Id.VSub_Dollar '$$')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:version_pretty) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:619) command_list: (command.CommandList children: [ (command.Simple words: [ {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/[" ]//g;/^$/d' span_id:625))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:628) fd: -1 arg_word: {(/tmp/rel.) ($ Id.VSub_Dollar '$$')} ) ] ) ] ) ) } spids: [618] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:version) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:634) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/[" ]//g;/^$/d' span_id:640))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:643) fd: -1 arg_word: {(/tmp/rel.) ($ Id.VSub_Dollar '$$')} ) ] ) (C {(tr)} {(.)} {(_)}) ] 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: (Token id:Id.KW_While val:while span_id:690) cond: [(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: (Token id:Id.Lit_EscapedChar val:'\\?' span_id:712) ) } ] action: [ (command.Simple words: [ {(echo)} { (DQ ('Usage: ') ($ Id.VSub_Number '$0') (' [-p] [-c] [-h] [-r <tag>] [-u] [-f <filename>] [-s <username>]') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:724) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:728) 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: [ (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: [ (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: (Token id:Id.Left_Backtick val:'`' span_id:936) command_list: (command.CommandList children:[(C {(uname)} {(-p)})]) ) (/) (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:944) command_list: (command.CommandList children:[(C {(uname)} {(-r)})]) ) (.) (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:952) command_list: (command.CommandList children:[(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: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$USRMB')}) right: (arith_expr.ArithWord w:{(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: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$USRMB')}) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1024)}) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1024)}) ) right: (arith_expr.ArithWord w:{($ 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: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$USRMB')}) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1024)}) ) right: (arith_expr.ArithWord w:{(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: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$ROOTKB')}) right: (arith_expr.ArithWord w:{(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: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$ROOTKB')}) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1024)}) ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$BS')}) ) ) } spids: [1032] ) ] ) (command.If arms: [ (if_arm cond: [ (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: [ (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: (Token id:Id.ControlFlow_Exit val:exit span_id:1123) 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: [ (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: (Token id:Id.ControlFlow_Exit val:exit span_id:1212) ) ] 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:(Token id:Id.ControlFlow_Exit val:exit span_id:1246)) ] ) (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:(Token id:Id.ControlFlow_Exit val:exit span_id:1272)) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(mkfs)} {(-B)} {(1024)} {(-b)} {($ Id.VSub_DollarName '$TMPKB')} {($ Id.VSub_DollarName '$TMPDISK2')} ) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:1288)) ] ) (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:(Token id:Id.ControlFlow_Exit val:exit span_id:1307)) ] ) (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:(Token id:Id.ControlFlow_Exit val:exit span_id:1353)) ] ) (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:(Token id:Id.ControlFlow_Exit val:exit span_id:1374)) ] ) (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: [ (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_Other ':')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1534) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEPACKAGE') (/List)} ) ] ) (command.ForEach iter_name: p iter_words: [ { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:1545) command_list: (command.CommandList children: [(C {(cat)} {($ Id.VSub_DollarName '$PACKAGELIST')})] ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (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.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:1595) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEPACKAGE') (/List)} ) ] ) (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_name: p iter_words: [ { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:1647) command_list: (command.CommandList children: [(C {(cat)} {($ Id.VSub_DollarName '$PACKAGESOURCELIST')})] ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (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: [ (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: (Token id:Id.Left_Backtick val:'`' span_id:1759) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(svn)} {(info)}) (C {(grep)} {(SQ (Token id:Id.Lit_Chars val:'^URL: ' span_id:1771))}) (C {(awk)} {(SQ (Token id:Id.Lit_Chars val:'{ print $2 }' span_id:1779))} ) ] 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: (Token id:Id.Left_Backtick val:'`' span_id:1787) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ Id.VSub_DollarName '$TOOLSREPO')}) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/.tools$//' span_id:1799))} ) ] 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: (Token id:Id.Left_Backtick val:'`' span_id:1807) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ Id.VSub_DollarName '$REPO')}) (C {(awk)} {(-F/)} {(SQ (Token id:Id.Lit_Chars val:'{ print $NF }' span_id:1821))} ) ] 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: (Token id:Id.Left_Backtick val:'`' span_id:1829) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(svn)} {(info)} {($ Id.VSub_DollarName '$USERNAME')} {($ Id.VSub_DollarName '$SVNREV')} {($ Id.VSub_DollarName '$REPO')} ) (C {(grep)} {(SQ (Token id:Id.Lit_Chars val:'^Revision: ' span_id:1847))} ) (C {(awk)} {(SQ (Token id:Id.Lit_Chars val:'{ print $2 }' span_id:1855))} ) ] negated: F ) ] ) ) ) } spids: [1827] ) ] ) (C {(echo)} { (DQ ('Doing export of revision ') ($ Id.VSub_DollarName '$REVISION') (' from ') ($ Id.VSub_DollarName '$REPO') (.) ) } ) (command.Subshell command_list: (command.CommandList children: [ (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: [ (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:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:1941)) ($ Id.VSub_DollarName '$REVTAG') (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:1943)) ('\n') ('#endif') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:1948) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEDIR') (/usr/src/include/minix/sys_config.h)} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$USB'))} {(-ne)} {(0)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:1969) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMG) op: assign_op.Equal rhs: {(${ Id.VSub_Name IMG_BASE) (_) (${ 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.VSub_Name REVTAG) (.iso)} spids: [1987] ) ] ) ] ) ] spids: [1733 1747] ) ] else_action: [ (command.Subshell command_list: (command.CommandList children: [ (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 command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(cd)} {($ Id.VSub_DollarName '$srcdir')}) (C {(tar)} {(cf)} {(-)} {(.)}) ] ) ] ) ) (command.Subshell command_list: (command.CommandList children: [ (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: [ (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$USB'))} {(-eq)} {(0)} {(Id.Lit_RBracket ']')} ) ] action: [ (command.Simple words: [{(date)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2233) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEDIR') (/CD)} ) ] ) ] 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: (Token id:Id.ControlFlow_Exit val:exit span_id:2268) 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: [ (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: [ (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: (Token id:Id.Left_Backtick val:'`' span_id:2378) command_list: (command.CommandList children:[(C {(date)})]) ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2384) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEDIR') (/etc/version)} ) ] ) (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: (Token id:Id.Left_Backtick val:'`' span_id:2395) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(du)} {(-s)} {($ Id.VSub_DollarName '$RELEASEDIR') (/usr/install)}) (C {(awk)} {(SQ (Token id:Id.Lit_Chars val:'{ print $1 }' span_id:2410))}) ] negated: F ) ] ) ) } spids: [2394] ) ] ) (command.Simple words: [ {(expr)} { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:2416) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(df)} {($ Id.VSub_DollarName '$TMPDISK1')}) (C {(tail)} {(-1)}) (C {(awk)} {(SQ (Token id:Id.Lit_Chars val:'{ print $4 }' span_id:2434))}) ] negated: F ) ] ) ) } {(-)} {($ Id.VSub_DollarName '$extrakb')} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2442) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEDIR') (/.usrkb)} ) ] ) (command.Pipeline children: [ (C {(find)} {($ Id.VSub_DollarName '$RELEASEDIR') (/usr)}) (C {(fgrep)} {(-v)} {(/install/)}) (command.Simple words: [{(wc)} {(-l)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2465) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEDIR') (/.usrfiles)} ) ] ) ] negated: F ) (command.Pipeline children: [ (C {(find)} {($ Id.VSub_DollarName '$RELEASEDIR')} {(-xdev)}) (command.Simple words: [{(wc)} {(-l)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2481) fd: -1 arg_word: {($ Id.VSub_DollarName '$RELEASEDIR') (/.rootfiles)} ) ] ) ] 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.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:2506) fd: 2 arg_word: {(/dev/null)} ) ] ) (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.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:2525) fd: 2 arg_word: {(/dev/null)} ) ] ) (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:(Token id:Id.ControlFlow_Exit val:exit span_id:2544)) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(umount)} {($ Id.VSub_DollarName '$TMPDISK2')}) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:2552)) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(umount)} {($ Id.VSub_DollarName '$TMPDISK3')}) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:2560)) ] ) (C {(edparams)} {($ Id.VSub_DollarName '$TMPDISK3')} { (SQ (Token id:Id.Lit_Chars val:'unset bootopts;\n' span_id:2571) (Token id:Id.Lit_Chars val:'unset servers;\n' span_id:2572) (Token id:Id.Lit_Chars val:'unset rootdev;\n' span_id:2573) (Token id:Id.Lit_Chars val:'unset leader;\n' span_id:2574) (Token id:Id.Lit_Chars val:'unset image;\n' span_id:2575) (Token id:Id.Lit_Chars val:'disable=inet;\n' span_id:2576) (Token id:Id.Lit_Chars val:'bootcd=1;\n' span_id:2577) (Token id:Id.Lit_Chars val:'cdproberoot=1;\n' span_id:2578) (Token id:Id.Lit_Chars val:'ata_id_timeout=2;\n' span_id:2579) (Token id: Id.Lit_Chars val: 'bootbig(1, Regular MINIX 3) { unset image; boot }\n' span_id: 2580 ) (Token id: Id.Lit_Chars val: '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' span_id: 2581 ) (Token id:Id.Lit_Chars val:save span_id:2582) ) } ) (command.Subshell command_list: (command.CommandList children: [(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: (Token id:Id.Left_Backtick val:'`' span_id:2628) command_list: (command.CommandList children:[(C {(date)})]) ) (.) ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2636) fd: -1 arg_word: {($ Id.VSub_DollarName '$CDFILES') (/VERSION.TXT)} ) ] ) (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: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$HDEMU'))} {(-ne)} {(0)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:2660) ) ] action: [ (C {(make_hdimage)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:boottype) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:-h span_id:2670))} 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: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$USB'))} {(-ne)} {(0)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:2693) ) ] 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: (Token id:Id.ControlFlow_Exit val:exit span_id:2727) arg_word: {(1)} ) ] ) (command.If arms: [ (if_arm cond: [ (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: (Token id:Id.Left_Backtick val:'`' span_id:2763) command_list: (command.CommandList children: [(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: (Token id:Id.Left_Backtick val:'`' span_id:2775) command_list: (command.CommandList children: [ (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: (Token id:Id.Left_Backtick val:'`' span_id:2789) command_list: (command.CommandList children: [ (C {(expr)} {($ Id.VSub_DollarName '$secs')} {(-)} {(SQ (Token id:Id.Lit_Chars val:'(' span_id:2799))} {($ Id.VSub_DollarName '$isosects')} {(Id.Lit_Other '%')} {($ Id.VSub_DollarName '$secs')} {(SQ (Token id:Id.Lit_Chars val:')' span_id:2809))} ) ] ) ) } spids: [2788] ) ] ) (command.Simple words: [ {(dd)} {(Id.Lit_VarLike 'if=') (/dev/zero)} {(Id.Lit_VarLike 'count=') ($ Id.VSub_DollarName '$isopad')} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:2822) fd: -1 arg_word: {($ Id.VSub_DollarName '$IMG')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:isosects) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:2831) command_list: (command.CommandList children: [ (C {(expr)} {($ Id.VSub_DollarName '$isosects')} {(Id.Lit_Other '+')} {($ Id.VSub_DollarName '$isopad')} ) ] ) ) } spids: [2830] ) ] ) (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(cat)} {($ Id.VSub_DollarName '$IMG')} {($ Id.VSub_DollarName '$ROOTIMAGE')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:2852) ) (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.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2868) fd: -1 arg_word: {(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_Other ':') ($ Id.VSub_DollarName '$isosects')} {(81) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$ROOTSECTS')} {(81) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$USRSECTS')} ) ] spids: [2733 2748] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$FILENAMEOUT'))} {(Id.Lit_RBracket ']')} ) ] action: [ (command.Simple words: [{(echo)} {(DQ ($ Id.VSub_DollarName '$IMG'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2944) fd: -1 arg_word: {($ Id.VSub_DollarName '$FILENAMEOUT')} ) ] ) ] spids: [2926 2936] ) ] ) ] )