(CommandList children: [ (C {(.)} {(${ VSub_Name BACKEND) (/functions.sh)}) (C {(.)} {(${ VSub_Name BACKEND) (/functions-parse.sh)}) (Sentence child: (FuncDef name: determine_package_dependencies body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:PKGNAME) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [110] ) ] spids: [108] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:DEPFILE) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [120] ) ] spids: [118] ) (C {(grep)} {(-q)} {(DQ (${ VSub_Name PKGNAME))} {(DQ (${ VSub_Name DEPFILE))}) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) ] action: [ (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name PKGNAME))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ (${ VSub_Name DEPFILE))} spids: [170] ) ] ) (C {(get_package_dependencies)} {(DQ (${ VSub_Name PKGNAME))} {(DQ (1))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:DEPS) op: Equal rhs: {(DQ (${ VSub_Name VAL))} spids: [195] ) ] spids: [193] ) (ForEach iter_name: d iter_words: [{(${ VSub_Name DEPS)}] do_arg_iter: F body: (DoGroup children: [ (C {(determine_package_dependencies)} {(DQ (${ VSub_Name d))} {(DQ (${ VSub_Name DEPFILE))} ) ] spids: [214 232] ) spids: [208 16777215] ) ] spids: [16777215 159] ) ] spids: [16777215 235] ) ] spids: [105] ) spids: [101 104] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: fetch_package_dependencies body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:DEPFILE) op:Equal spids:[253])] spids: [251] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:DEPS) op:Equal spids:[258])] spids: [256] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:SAVEDIR) op:Equal spids:[263])] spids: [261] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEPFILE) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [267] ) ] spids: [267] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEPS) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ (${ VSub_Name DEPFILE))})] ) left_token: <Left_Backtick '`'> spids: [276 284] ) } spids: [275] ) ] spids: [275] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SAVEDIR) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [287] ) ] spids: [287] ) (ForEach iter_name: d iter_words: [{(${ VSub_Name DEPS)}] do_arg_iter: F body: (DoGroup children: [ (C {(get_package_short_name)} {(DQ (${ VSub_Name d))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SNAME) op: Equal rhs: {(DQ (${ VSub_Name VAL))} spids: [319] ) ] spids: [319] ) (C {(get_package_category)} {(DQ (${ VSub_Name SNAME))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CATEGORY) op: Equal rhs: {(DQ (${ VSub_Name VAL))} spids: [337] ) ] spids: [337] ) (C {(fetch_package)} {(DQ (${ VSub_Name CATEGORY))} {(DQ (${ VSub_Name d))} {(DQ (${ VSub_Name SAVEDIR))} ) ] spids: [307 367] ) spids: [301 16777215] ) ] spids: [248] ) spids: [244 247] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: install_packages body: (BraceGroup children: [ (C {(echo)} {(DQ ('Checking for packages to install...'))}) (C {(sleep)} {(2)}) (C {(get_value_from_cfg)} {(installPackages)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name VAL))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return>) terminator: <Op_Semi ';'> ) ] spids: [16777215 425] ) ] spids: [16777215 430] ) (C {(echo)} {(DQ ('Installing packages...'))}) (C {(sleep)} {(3)}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:PKGPTH) op:Equal spids:[449])] spids: [447] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HERE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [454 456] ) } spids: [453] ) ] spids: [453] ) (C {(rc_halt)} {(DQ ('mkdir -p ') (${ VSub_Name FSMNT) (${ VSub_Name PKGTMPDIR))}) (C {(get_package_location)}) (C {(rc_halt)} {(DQ ('cd ') (${ VSub_Name PKGDLDIR))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INDEXFILE) op: Equal rhs: {(DQ (${ VSub_Name TMPDIR) (/INDEX))} spids: [495] ) ] spids: [495] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ (${ VSub_Name INDEXFILE))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(get_package_index)})] spids: [16777215 522] ) ] spids: [16777215 528] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ (${ VSub_Name TMPDIR) (/INDEX.parsed))} {(-a)} {(DQ ($ VSub_Name '$INSTALLMEDIUM'))} {(Lit_Other '=')} {(DQ (ftp))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(parse_package_index)})] spids: [16777215 562] ) ] spids: [16777215 568] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGEXT) op: Equal rhs: {(DQ (txz))} spids: [576] ) ] spids: [576] ) (C {(get_value_from_cfg)} {(pkgExt)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name VAL))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(strip_white_space)} {(${ VSub_Name VAL)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGEXT) op: Equal rhs: {(DQ ($ VSub_Name '$VAL'))} spids: [613] ) ] spids: [613] ) ] spids: [16777215 602] ) ] spids: [16777215 619] ) (C {(export)} {(PKGEXT)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PACKAGE_BUILDING) op: Equal rhs: {(yes)} spids: [633] ) ] spids: [633] ) (C {(export)} {(PACKAGE_BUILDING)}) (C {(get_value_from_cfg_with_spaces)} {(installPackages)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PACKAGES) op: Equal rhs: {(DQ (${ VSub_Name VAL))} spids: [652] ) ] spids: [652] ) (C {(echo_log)} { (DQ ('Packages to install: ') (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$PACKAGES')}) (C {(wc)} {(-w)}) (C {(awk)} {(SQ <'{print $1}'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [664 682] ) ) } ) (ForEach iter_name: i iter_words: [{($ VSub_Name '$PACKAGES')}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Pipeline children: [(C {(get_package_name)} {(DQ (${ VSub_Name i))})] negated: T ) ] action: [ (C {(echo_log)} {(DQ ('Unable to locate package ') (${ VSub_Name i))}) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [16777215 711] ) ] spids: [16777215 727] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGNAME) op: Equal rhs: {(DQ (${ VSub_Name VAL))} spids: [731] ) ] spids: [731] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (${ VSub_Name INSTALLMEDIUM))} {(Lit_Other '=')} {(DQ (ftp))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEPFILE) op: Equal rhs: { (DQ (${ VSub_Name FSMNT) (/) (${ VSub_Name PKGTMPDIR) (/.) (${ VSub_Name PKGNAME) (.deps) ) } spids: [767] ) ] spids: [767] ) (C {(rc_nohalt)} {(DQ ('touch ') (${ VSub_Name DEPFILE))}) (C {(determine_package_dependencies)} {(DQ (${ VSub_Name PKGNAME))} {(DQ (${ VSub_Name DEPFILE))} ) (C {(fetch_package_dependencies)} {(DQ (${ VSub_Name DEPFILE))} {(DQ (${ VSub_Name FSMNT) (/) (${ VSub_Name PKGTMPDIR))} ) ] spids: [16777215 764] ) ] spids: [16777215 828] ) (Case to_match: {(DQ (${ VSub_Name INSTALLMEDIUM))} arms: [ (case_arm pat_list: [{(usb)} {(dvd)} {(Assign_Local local)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGPTH) op: Equal rhs: { (DQ (${ VSub_Name PKGTMPDIR) (/All/) (${ VSub_Name PKGNAME)) } spids: [854] ) ] spids: [854] ) ] spids: [847 852 865 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGPTH) op: Equal rhs: {(DQ (${ VSub_Name PKGTMPDIR) (/) (${ VSub_Name PKGNAME))} spids: [871] ) ] spids: [871] ) ] spids: [868 869 882 16777215] ) ] spids: [836 844 885] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name PKGINFO))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(tar)} {(tqf)} {(DQ (${ VSub_Name FSMNT) (${ VSub_Name PKGPTH))} {(SQ <'+MANIFEST'>)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [929] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [932] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGADD) op: Equal rhs: {(DQ ('pkg_add -C ') (${ VSub_Name FSMNT))} spids: [954] ) ] spids: [954] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGINFO) op: Equal rhs: {(DQ (pkg_info))} spids: [964] ) ] spids: [964] ) ] spids: [16777215 951] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGADD) op: Equal rhs: {(DQ ('pkg -c ') (${ VSub_Name FSMNT) (' add'))} spids: [974] ) ] spids: [974] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGINFO) op: Equal rhs: {(DQ ('pkg info'))} spids: [984] ) ] spids: [984] ) (C {(bootstrap_pkgng)}) ] spids: [971 993] ) ] spids: [16777215 909] ) ] spids: [16777215 996] ) (If arms: [ (if_arm cond: [ (Pipeline children: [ (SimpleCommand words: [ {(run_chroot_cmd)} {(DQ (${ VSub_Name PKGINFO) (' -e ') (${ VSub_Name PKGNAME))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1020] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1023] ) ] ) ] negated: T ) ] action: [ (C {(echo_log)} {(DQ ('Installing package: ') (${ VSub_Name PKGNAME))}) (C {(rc_nohalt)} {(DQ (${ VSub_Name PKGADD) (' ') (${ VSub_Name PKGPTH))} ) ] spids: [16777215 1027] ) ] spids: [16777215 1053] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (${ VSub_Name INSTALLMEDIUM))} {(Lit_Other '=')} {(DQ (ftp))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(rc_nohalt)} {(DQ ('rm ') (${ VSub_Name DEPFILE))})] spids: [16777215 1077] ) ] spids: [16777215 1090] ) ] spids: [695 1094] ) spids: [691 16777215] ) (C {(echo_log)} {(DQ ('Package installation complete!'))}) (C {(rc_halt)} {(DQ ('cd ') (${ VSub_Name HERE))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (${ VSub_Name INSTALLMEDIUM))} {(Lit_Other '=')} {(DQ (ftp))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(rc_halt)} {(DQ ('rm -rf ') (${ VSub_Name FSMNT) (${ VSub_Name PKGTMPDIR))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1155] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1158] ) ] ) ] spids: [16777215 1140] ) ] else_action: [ (SimpleCommand words: [ {(rc_halt)} {(DQ ('umount ') (${ VSub_Name FSMNT) (${ VSub_Name PKGTMPDIR))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1177] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1180] ) ] ) (SimpleCommand words: [ {(rc_halt)} {(DQ ('rmdir ') (${ VSub_Name FSMNT) (${ VSub_Name PKGTMPDIR))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1196] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1199] ) ] ) ] spids: [1162 1203] ) ] spids: [380] ) spids: [376 379] ) terminator: <Op_Semi ';'> ) ] )