(CommandList children: [ (FuncDef name: smallyes body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:YES) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(y)}) spids: [13 17] ) ) } spids: [11] ) ] spids: [11] ) (While cond: [ (Sentence child: (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$YES'))}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[29])] ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)] spids: [34 40] ) ) ] spids: [8] ) spids: [4 7] ) (FuncDef name: in_path body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:OLD_IFS) op: Equal rhs: {(DQ ($ VSub_Name '$IFS'))} spids: [55] ) ] spids: [53] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (':'))} spids:[61])] spids: [61] ) (ForEach iter_name: dir iter_words: [{($ VSub_Name '$PATH')}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Number '$1'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name '$OLD_IFS'))} spids: [97] ) ] spids: [97] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 94] ) ] spids: [16777215 108] ) ] spids: [76 111] ) spids: [72 74] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name '$OLD_IFS'))} spids: [114] ) ] spids: [114] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [50] ) spids: [45 49] ) (FuncDef name: error body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:err) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [145] ) ] spids: [143] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [153] ) ] spids: [151] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fmt) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [161] ) ] spids: [159] ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(shift)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_DEBIANINSTALLER_INTERACTION'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Subshell child: (CommandList children: [ (C {(echo)} {(DQ ('E: ') ($ VSub_Name '$name'))}) (ForEach iter_name: x iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (C {(echo)} {(DQ ('EA: ') ($ VSub_Name '$x'))}) terminator: <Op_Semi ';'> ) ] spids: [210 220] ) spids: [204 208] ) (C {(echo)} {(DQ ('EF: ') ($ VSub_Name '$fmt'))}) ] ) redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(4)} spids:[231])] spids: [190 229] ) ] spids: [16777215 187] ) ] else_action: [ (Subshell child: (C {(printf)} {(DQ ('E: ') ($ VSub_Name '$fmt') (Lit_Other '\\') (n))} {(DQ ($ VSub_At '$@'))} ) redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(4)} spids:[253])] spids: [238 251] ) ] spids: [235 257] ) (C {(exit)} {($ VSub_Name '$err')}) ] spids: [136] ) spids: [131 135] ) (FuncDef name: warning body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [281] ) ] spids: [279] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fmt) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [289] ) ] spids: [287] ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(shift)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_DEBIANINSTALLER_INTERACTION'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Subshell child: (CommandList children: [ (C {(echo)} {(DQ ('W: ') ($ VSub_Name '$name'))}) (ForEach iter_name: x iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (C {(echo)} {(DQ ('WA: ') ($ VSub_Name '$x'))}) terminator: <Op_Semi ';'> ) ] spids: [335 345] ) spids: [329 333] ) (C {(echo)} {(DQ ('WF: ') ($ VSub_Name '$fmt'))}) ] ) redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(4)} spids:[356])] spids: [315 354] ) ] spids: [16777215 312] ) ] else_action: [ (SimpleCommand words: [ {(printf)} {(DQ ('W: ') ($ VSub_Name '$fmt') (Lit_Other '\\') (n))} {(DQ ($ VSub_At '$@'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(4)} spids:[376])] ) ] spids: [360 380] ) ] spids: [272] ) spids: [267 271] ) (FuncDef name: info body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [399] ) ] spids: [397] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fmt) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [407] ) ] spids: [405] ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(shift)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_DEBIANINSTALLER_INTERACTION'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Subshell child: (CommandList children: [ (C {(echo)} {(DQ ('I: ') ($ VSub_Name '$name'))}) (ForEach iter_name: x iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (C {(echo)} {(DQ ('IA: ') ($ VSub_Name '$x'))}) terminator: <Op_Semi ';'> ) ] spids: [453 463] ) spids: [447 451] ) (C {(echo)} {(DQ ('IF: ') ($ VSub_Name '$fmt'))}) ] ) redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(4)} spids:[474])] spids: [433 472] ) ] spids: [16777215 430] ) ] else_action: [ (SimpleCommand words: [ {(printf)} {(DQ ('I: ') ($ VSub_Name '$fmt') (Lit_Other '\\') (n))} {(DQ ($ VSub_At '$@'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(4)} spids:[494])] ) ] spids: [478 498] ) ] spids: [390] ) spids: [385 389] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROGRESS_NOW) op:Equal rhs:{(0)} spids:[503])] spids: [503] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROGRESS_END) op:Equal rhs:{(0)} spids:[506])] spids: [506] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROGRESS_NEXT) op:Equal rhs:{(DQ )} spids:[509])] spids: [509] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROGRESS_WHAT) op:Equal rhs:{(DQ )} spids:[513])] spids: [513] ) (FuncDef name: progress_next body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROGRESS_NEXT) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [526] ) ] spids: [526] ) ] spids: [523] ) spids: [518 522] ) (FuncDef name: wgetprogress body: (BraceGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_Name '$VERBOSE'))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:QSWITCH) op: Equal rhs: {(DQ (-q))} spids: [554] ) ] spids: [554] ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(0)} spids:[562])] spids: [560] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_DEBIANINSTALLER_INTERACTION'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PROGRESS_NEXT'))} {(Lit_Other ']')}) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (SimpleCommand words: [{(wget)} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [596] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [599] ) ] ) (SimpleCommand words: [ {($ VSub_Name '$PKGDETAILS')} {(DQ ('WGET%'))} {($ VSub_Name '$PROGRESS_NOW')} {($ VSub_Name '$PROGRESS_NEXT')} {($ VSub_Name '$PROGRESS_END')} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(3)} spids: [616] ) ] ) ] negated: False ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark '$?')} spids: [620] ) ] spids: [620] ) ] spids: [16777215 587] ) ] else_action: [ (C {(wget)} {($ VSub_Name '$QSWITCH')} {(DQ ($ VSub_At '$@'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark '$?')} spids: [637] ) ] spids: [637] ) ] spids: [624 641] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_Name '$ret')}) ] spids: [539] ) spids: [534 538] ) (FuncDef name: progress body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:now) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [665] ) ] spids: [663] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:end) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [673] ) ] spids: [671] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [681] ) ] spids: [679] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fmt) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [689] ) ] spids: [687] ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(shift)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_DEBIANINSTALLER_INTERACTION'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROGRESS_NOW) op: Equal rhs: {(DQ ($ VSub_Name '$now'))} spids: [721] ) ] spids: [721] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROGRESS_END) op: Equal rhs: {(DQ ($ VSub_Name '$end'))} spids: [727] ) ] spids: [727] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROGRESS_NEXT) op: Equal rhs: {(DQ )} spids: [733] ) ] spids: [733] ) (Subshell child: (CommandList children: [ (C {(echo)} { (DQ ('P: ') ($ VSub_Name '$now') (' ') ($ VSub_Name '$end') (' ') ($ VSub_Name '$name') ) } ) (ForEach iter_name: x iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (C {(echo)} {(DQ ('PA: ') ($ VSub_Name '$x'))}) terminator: <Op_Semi ';'> ) ] spids: [762 772] ) spids: [756 760] ) (C {(echo)} {(DQ ('PF: ') ($ VSub_Name '$fmt'))}) ] ) redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(3)} spids:[783])] spids: [738 781] ) ] spids: [16777215 718] ) ] spids: [16777215 787] ) ] spids: [656] ) spids: [651 655] ) (FuncDef name: dpkg_progress body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:now) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [806] ) ] spids: [804] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:end) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [814] ) ] spids: [812] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [822] ) ] spids: [820] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:desc) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [830] ) ] spids: [828] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:action) op: Equal rhs: {(DQ ($ VSub_Number '$5'))} spids: [838] ) ] spids: [836] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:expect) op:Equal rhs:{(SQ )} spids:[846])] spids: [844] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$action'))} {(Lit_Other '=')} {(UNPACKING)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(half-installed)} spids: [868] ) ] spids: [868] ) ] spids: [16777215 865] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$action'))} {(Lit_Other '=')} {(CONFIGURING)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(half-configured)} spids: [890] ) ] spids: [890] ) ] spids: [872 887] ) ] spids: [16777215 894] ) (FuncDef name: dp body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:now) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$now')}) right: (ArithWord w: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(1)} ) spids: [913 917] ) } ) ) spids: [908 919] ) ) } spids: [906] ) ] spids: [906] ) ] spids: [903] ) spids: [898 902] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:exitcode) op:Equal rhs:{(0)} spids:[927])] spids: [927] ) (While cond: [ (Sentence child: (C {(read)} {(status)} {(pkg)} {(qstate)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$status'))} {(Lit_Other '=')} {(DQ (EXITCODE))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:exitcode) op: Equal rhs: {(DQ ($ VSub_Name '$pkg'))} spids: [965] ) ] spids: [965] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [16777215 962] ) ] spids: [16777215 974] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$qstate'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$expect'))} {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Continue continue>) ] op_id: Op_DPipe ) (Case to_match: {($ VSub_Name '$qstate')} arms: [ (case_arm pat_list: [{(half-installed)}] action: [ (Sentence child: (C {(dp)}) terminator: <Op_Semi ';'> ) (C {(progress)} {(DQ ($ VSub_Name '$now'))} {(DQ ($ VSub_Name '$end'))} {(DQ ($ VSub_Name '$name'))} {(DQ ($ VSub_Name '$desc'))} ) (C {(info)} {(DQ ($ VSub_Name '$action'))} {(DQ ('Unpacking %s...'))} { (DQ (BracedVarSub token: <VSub_Name pkg> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(':')}) spids: [1040 1044] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(unpacked)} spids: [1048] ) ] spids: [1048] ) ] spids: [1003 1004 1052 16777215] ) (case_arm pat_list: [{(unpacked)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(half-installed)} spids: [1059] ) ] spids: [1059] ) ] spids: [1055 1056 1063 16777215] ) (case_arm pat_list: [{(half-configured)}] action: [ (Sentence child: (C {(dp)}) terminator: <Op_Semi ';'> ) (C {(progress)} {(DQ ($ VSub_Name '$now'))} {(DQ ($ VSub_Name '$end'))} {(DQ ($ VSub_Name '$name'))} {(DQ ($ VSub_Name '$desc'))} ) (C {(info)} {(DQ ($ VSub_Name '$action'))} {(DQ ('Configuring %s...'))} { (DQ (BracedVarSub token: <VSub_Name pkg> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(':')}) spids: [1103 1107] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(installed)} spids: [1111] ) ] spids: [1111] ) ] spids: [1066 1067 1115 16777215] ) (case_arm pat_list: [{(installed)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(half-configured)} spids: [1122] ) ] spids: [1122] ) ] spids: [1118 1119 1126 16777215] ) ] spids: [996 1000 1129] ) ] spids: [942 1132] ) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$exitcode')} ) ] spids: [797] ) spids: [792 796] ) (FuncDef name: default_mirror body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEF_MIRROR) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1154] ) ] spids: [1154] ) ] spids: [1151] ) spids: [1146 1150] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FINDDEBS_NEEDS_INDICES) op: Equal rhs: {(false)} spids: [1162] ) ] spids: [1162] ) (FuncDef name: finddebs_style body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list:[{(hardcoded)}] spids:[1182 1183 1186 16777215]) (case_arm pat_list: [{(from-indices)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FINDDEBS_NEEDS_INDICES) op: Equal rhs: {(true)} spids: [1193] ) ] spids: [1193] ) ] spids: [1189 1190 1197 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(error)} {(1)} {(BADFINDDEBS)} {(DQ ('unknown finddebs style'))})] spids: [1200 1201 1215 16777215] ) ] spids: [1173 1179 1218] ) ] spids: [1170] ) spids: [1165 1169] ) (FuncDef name: mk_download_dirs body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$DLDEST')} {(Lit_Other '=')} {(DQ (apt_dest))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$TARGET') (/) ($ VSub_Name '$APTSTATE') (/lists/partial))} ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$TARGET') (/var/cache/apt/archives/partial))}) ] spids: [16777215 1246] ) ] spids: [16777215 1271] ) ] spids: [1228] ) spids: [1223 1227] ) (FuncDef name: download_style body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(apt)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$2'))} {(Lit_Other '=')} {(DQ (var-state))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:APTSTATE) op: Equal rhs: {(var/state/apt)} spids: [1317] ) ] spids: [1317] ) ] spids: [16777215 1314] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:APTSTATE) op: Equal rhs: {(var/lib/apt)} spids: [1324] ) ] spids: [1324] ) ] spids: [1321 1328] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DLDEST) op: Equal rhs: {(apt_dest)} spids: [1331] ) ] spids: [1331] ) (C {(export)} {(APTSTATE)} {(DLDEST)} {(DEBFOR)}) ] spids: [1293 1294 1344 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(error)} {(1)} {(BADDLOAD)} {(DQ ('unknown download style'))})] spids: [1347 1348 1362 16777215] ) ] spids: [1284 1290 1365] ) ] spids: [1281] ) spids: [1276 1280] ) (FuncDef name: keyring body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$KEYRING'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KEYRING) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1410] ) ] spids: [1410] ) ] spids: [16777215 1407] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$DISABLE_KEYRING'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$DEF_HTTPS_MIRROR'))} {(Lit_Other ']')} ) (AndOr children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$USER_MIRROR'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$FORCE_KEYRING'))} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (C {(info)} {(KEYRING)} { (DQ ( 'Keyring file not available at %s; switching to https mirror %s' ) ) } {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Name '$DEF_HTTPS_MIRROR'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USER_MIRROR) op: Equal rhs: {(DQ ($ VSub_Name '$DEF_HTTPS_MIRROR'))} spids: [1489] ) ] spids: [1489] ) ] spids: [16777215 1469] ) ] else_action: [ (C {(warning)} {(KEYRING)} { (DQ ( 'Cannot check Release signature; keyring file not available %s' ) ) } {(DQ ($ VSub_Number '$1'))} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$FORCE_KEYRING'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(KEYRING)} { (DQ ( 'Keyring-based check was requested; aborting accordingly' ) ) } ) ] spids: [16777215 1524] ) ] spids: [16777215 1538] ) ] spids: [1495 1541] ) ] spids: [1416 1429] ) ] spids: [16777215 1544] ) ] spids: [16777215 1391] ) ] spids: [16777215 1547] ) ] spids: [1375] ) spids: [1370 1374] ) (FuncDef name: doing_variant body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 1581] ) ] spids: [16777215 1588] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (-))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 1623] ) ] spids: [16777215 1630] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [1561] ) spids: [1556 1560] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUPPORTED_VARIANTS) op: Equal rhs: {(DQ (-))} spids: [1640] ) ] spids: [1640] ) (FuncDef name: variants body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUPPORTED_VARIANTS) op: Equal rhs: {(DQ ($ VSub_Star '$*'))} spids: [1653] ) ] spids: [1653] ) (ForEach iter_name: v iter_words: [{($ VSub_Star '$*')}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(doing_variant)} {(DQ ($ VSub_Name '$v'))}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 1680] ) ] spids: [16777215 1687] ) ] spids: [1668 1690] ) spids: [1664 1666] ) (C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ('unsupported variant'))}) ] spids: [1650] ) spids: [1645 1649] ) (FuncDef name: mirror_style body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(release)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_INDICES) op: Equal rhs: {(download_release_indices)} spids: [1731] ) ] spids: [1731] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_DEBS) op: Equal rhs: {(download_release)} spids: [1735] ) ] spids: [1735] ) ] spids: [1727 1728 1739 16777215] ) (case_arm pat_list: [{(main)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_INDICES) op: Equal rhs: {(download_main_indices)} spids: [1746] ) ] spids: [1746] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_DEBS) op: Equal rhs: {(download_main)} spids: [1750] ) ] spids: [1750] ) ] spids: [1742 1743 1754 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(error)} {(1)} {(BADMIRROR)} {(DQ ('unknown mirror style'))})] spids: [1757 1758 1772 16777215] ) ] spids: [1718 1724 1775] ) (C {(export)} {(DOWNLOAD_INDICES)}) (C {(export)} {(DOWNLOAD_DEBS)}) ] spids: [1715] ) spids: [1710 1714] ) (FuncDef name: force_md5 body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEBOOTSTRAP_CHECKSUM_FIELD) op: Equal rhs: {(MD5SUM)} spids: [1798] ) ] spids: [1798] ) (C {(export)} {(DEBOOTSTRAP_CHECKSUM_FIELD)}) ] spids: [1795] ) spids: [1790 1794] ) (FuncDef name: verify_checksum body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:expchecksum) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1823] ) ] spids: [1821] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:expsize) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [1831] ) ] spids: [1829] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$DEBOOTSTRAP_CHECKSUM_FIELD'))} {(Lit_Other '=')} {(DQ (MD5SUM))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(in_path)} {(md5sum)}) terminator:<Op_Semi ';'>)] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:relchecksum) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(md5sum)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [1871] ) ] ) (C {(sed)} {(SQ <'s/ .*$//'>)}) ] negated: False ) ] ) left_token: <Left_Backtick '`'> spids: [1868 1884] ) } spids: [1867] ) ] spids: [1867] ) ] spids: [16777215 1864] ) (if_arm cond: [(Sentence child:(C {(in_path)} {(md5)}) terminator:<Op_Semi ';'>)] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:relchecksum) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(md5)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [1901] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1898 1906] ) } spids: [1897] ) ] spids: [1897] ) ] spids: [1887 1894] ) ] else_action: [(C {(error)} {(1)} {(SIGCHECK)} {(DQ ('Cannot check md5sum'))})] spids: [1909 1923] ) ] spids: [16777215 1854] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE) (sum))}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:relchecksum) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(sha) (${ VSub_Name SHA_SIZE) (sum)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [1953] ) ] ) (C {(sed)} {(SQ <'s/ .*$//'>)}) ] negated: False ) ] ) left_token: <Left_Backtick '`'> spids: [1946 1966] ) } spids: [1945] ) ] spids: [1945] ) ] spids: [16777215 1942] ) (if_arm cond: [ (Sentence child: (C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE))}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:relchecksum) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(sha) (${ VSub_Name SHA_SIZE)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [1991] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1985 1996] ) } spids: [1984] ) ] spids: [1984] ) ] spids: [1969 1981] ) ] else_action: [ (C {(error)} {(1)} {(SIGCHECK)} {(DQ ('Cannot check sha') (${ VSub_Name SHA_SIZE) (sum))} ) ] spids: [1999 2017] ) ] spids: [1926 2020] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:relsize) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(wc)} {(-c)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [2029] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [2024 2034] ) } spids: [2023] ) ] spids: [2023] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$expsize'))} {(-ne)} {(DQ ($ VSub_Name '$relsize'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$expchecksum'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$relchecksum'))} {(Lit_Other ']')} ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [16777215 2071] ) ] spids: [16777215 2079] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1814] ) spids: [1809 1813] ) (FuncDef name: get body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:displayname) op:Equal spids:[2107])] spids: [2105] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:versionname) op:Equal spids:[2112])] spids: [2110] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.deb)}) spids: [2120 2124] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:displayname) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Number '$2'))}) (C {(sed)} {(SQ <'s,^.*/,,;s,_.*$,,'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [2142 2156] ) ) } spids: [2140] ) ] spids: [2140] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:versionname) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Number '$2'))}) (C {(sed)} {(SQ <'s,^.*/,,'>)}) (C {(cut)} {(-d_)} {(-f2)}) (C {(sed)} {(SQ <'s/%3a/:/'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [2162 2192] ) ) } spids: [2160] ) ] spids: [2160] ) ] spids: [16777215 2137] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:displayname) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Number '$1'))}) (C {(sed)} {(SQ <'s,^.*/,,'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [2201 2215] ) ) } spids: [2199] ) ] spids: [2199] ) ] spids: [2196 2219] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$3'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [16777215 2252] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$3'))} {(Lit_Other '=')} {(nocache)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Number '$2'))})] spids: [2260 2275] ) ] else_action: [ (C {(info)} {(VALIDATING)} {(DQ ('Validating %s %s'))} {(DQ ($ VSub_Name '$displayname'))} {(DQ ($ VSub_Name '$versionname'))} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(verify_checksum)} {(DQ ($ VSub_Number '$2'))} {(DQ ($ VSub_Number '$3'))} {(DQ ($ VSub_Number '$4'))} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [16777215 2324] ) ] else_action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Number '$2'))})] spids: [2332 2344] ) ] spids: [2287 2347] ) ] spids: [16777215 2236] ) ] spids: [16777215 2350] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$3'))} {(Lit_Other '=')} {(nocache)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(set)} {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$2'))})] spids: [16777215 2372] ) ] spids: [16777215 2386] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(5)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:st) op:Equal rhs:{(3)} spids:[2410])] spids: [2408] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$5'))} {(Lit_Other '=')} {(DQ (-))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:st) op: Equal rhs: {(6)} spids: [2433] ) ] spids: [2433] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 2431] ) ] spids: [16777215 2437] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:order) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:a) op: Equal rhs: {($ VSub_Name '$st')} spids: [2445] ) ] spids: [2445] ) terminator: <Op_Semi ';'> ) (Pipeline children: [ (While cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$a'))} {(-le)} {($ VSub_Pound '$#')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Sentence child: (C {(eval)} {(echo)} { (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: {($ VSub_Name '$a')} ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2473 2478] ) (Lit_RBrace '}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) } {($ VSub_Name '$a')} ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:a) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: {($ VSub_Name '$a')} ) right: (ArithWord w: {(Lit_Digits 3)} ) ) spids: [2487 2494] ) } spids: [2486] ) ] spids: [2486] ) terminator: <Op_Semi ';'> ) ] spids: [2464 2497] ) ) (C {(sort)} {(-n)}) (C {(sed)} {(SQ <'s/.* //'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [2444 2512] ) ) } spids: [2442] ) ] spids: [2440] ) ] spids: [16777215 2405] ) ] else_action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:order) op:Equal rhs:{(3)} spids:[2521])] spids: [2519] ) ] spids: [2516 2525] ) (ForEach iter_name: a iter_words: [{($ VSub_Name '$order')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:checksum) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval)} {(echo)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') ($ VSub_Name '$a') (Lit_RBrace '}') } ) ] ) left_token: <Left_CommandSub '$('> spids: [2544 2553] ) ) } spids: [2542] ) ] spids: [2540] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:siz) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval)} {(echo)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$a')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2568 2575] ) (Lit_RBrace '}') } ) ] ) left_token: <Left_CommandSub '$('> spids: [2561 2577] ) ) } spids: [2559] ) ] spids: [2557] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:typ) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval)} {(echo)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$a')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [2592 2599] ) (Lit_RBrace '}') } ) ] ) left_token: <Left_CommandSub '$('> spids: [2585 2601] ) ) } spids: [2583] ) ] spids: [2581] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:from) op:Equal spids:[2607])] spids: [2605] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal spids:[2612])] spids: [2610] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:iters) op:Equal rhs:{(0)} spids:[2617])] spids: [2615] ) (Case to_match: {(DQ ($ VSub_Name '$typ'))} arms: [ (case_arm pat_list: [{(xz)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:from) op: Equal rhs: {(DQ ($ VSub_Number '$1') (.xz))} spids: [2634] ) ] spids: [2634] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number '$2') (.xz))} spids: [2641] ) ] spids: [2641] ) ] spids: [2631 2632 2647 16777215] ) (case_arm pat_list: [{(bz2)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:from) op: Equal rhs: {(DQ ($ VSub_Number '$1') (.bz2))} spids: [2653] ) ] spids: [2653] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number '$2') (.bz2))} spids: [2660] ) ] spids: [2660] ) ] spids: [2650 2651 2666 16777215] ) (case_arm pat_list: [{(gz)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:from) op: Equal rhs: {(DQ ($ VSub_Number '$1') (.gz))} spids: [2672] ) ] spids: [2672] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number '$2') (.gz))} spids: [2679] ) ] spids: [2679] ) ] spids: [2669 2670 2685 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:from) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2691] ) ] spids: [2691] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2697] ) ] spids: [2697] ) ] spids: [2688 2689 2702 16777215] ) ] spids: [2622 2628 2705] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name dest> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /)} ) spids: [2714 2718] ) ) } {(Lit_Other '=')} {(DQ ($ VSub_Name '$dest'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ (./) ($ VSub_Name '$dest'))} spids: [2733] ) ] spids: [2733] ) ] spids: [16777215 2730] ) ] spids: [16777215 2740] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest2) op: Equal rhs: {(DQ ($ VSub_Name '$dest'))} spids: [2745] ) ] spids: [2743] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} { (DQ (BracedVarSub token: <VSub_Name dest2> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [2758 2763] ) (/partial) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest2) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name dest2> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [2775 2780] ) (/partial/) (BracedVarSub token: <VSub_Name dest2> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [2782 2787] ) ) } spids: [2773] ) ] spids: [2773] ) ] spids: [16777215 2770] ) ] spids: [16777215 2791] ) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$iters'))} {(-lt)} {(10)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(info)} {(RETRIEVING)} {(DQ ('Retrieving %s %s'))} {(DQ ($ VSub_Name '$displayname'))} {(DQ ($ VSub_Name '$versionname'))} ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(just_get)} {(DQ ($ VSub_Name '$from'))} {(DQ ($ VSub_Name '$dest2'))} ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token: <ControlFlow_Continue continue> arg_word: {(2)} ) terminator: <Op_Semi ';'> ) ] spids: [16777215 2845] ) ] spids: [16777215 2852] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$checksum'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(info)} {(VALIDATING)} {(DQ ('Validating %s %s'))} {(DQ ($ VSub_Name '$displayname'))} {(DQ ($ VSub_Name '$versionname'))} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(verify_checksum)} {(DQ ($ VSub_Name '$dest2'))} {(DQ ($ VSub_Name '$checksum'))} {(DQ ($ VSub_Name '$siz'))} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checksum) op: Equal rhs: {(DQ )} spids: [2912] ) ] spids: [2912] ) ] spids: [16777215 2909] ) ] spids: [16777215 2917] ) ] spids: [16777215 2872] ) ] spids: [16777215 2920] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$checksum'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$dest2'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$dest'))} {(Lit_Other ']')} ) (C {(mv)} {(DQ ($ VSub_Name '$dest2'))} {(DQ ($ VSub_Name '$dest'))} ) ] op_id: Op_DPipe ) (Case to_match: {(DQ ($ VSub_Name '$typ'))} arms: [ (case_arm pat_list: [{(gz)}] action: [(C {(gunzip)} {(DQ ($ VSub_Name '$dest'))})] spids: [2975 2976 2984 16777215] ) (case_arm pat_list: [{(bz2)}] action: [(C {(bunzip2)} {(DQ ($ VSub_Name '$dest'))})] spids: [2987 2988 2996 16777215] ) (case_arm pat_list: [{(xz)}] action: [(C {(unxz)} {(DQ ($ VSub_Name '$dest'))})] spids: [2999 3000 3008 16777215] ) ] spids: [2966 2972 3011] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 2936] ) ] else_action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$dest2'))}) (C {(warning)} {(RETRYING)} {(DQ ('Retrying failed download of %s'))} {(DQ ($ VSub_Name '$from'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:iters) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$iters')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [3046 3053] ) ) } spids: [3044] ) ] spids: [3044] ) ] spids: [3019 3057] ) ] spids: [2810 3060] ) ) (C {(warning)} {(CORRUPTFILE)} {(DQ ('%s was corrupt'))} {(DQ ($ VSub_Name '$from'))}) ] spids: [2537 3076] ) spids: [2533 2535] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [2094] ) spids: [2089 2093] ) (FuncDef name: just_get body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:from) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [3100] ) ] spids: [3098] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [3108] ) ] spids: [3106] ) (C {(mkdir)} {(-p)} { (DQ (BracedVarSub token: <VSub_Name dest> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [3119 3124] ) ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name from> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('null:')}) spids: [3133 3137] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$from'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NOTPREDL)} {(DQ ('%s was not pre-downloaded'))} { (DQ (BracedVarSub token: <VSub_Name from> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('null:')}) spids: [3164 3168] ) ) } ) ] spids: [16777215 3150] ) (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name from> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('http:') (Lit_Slash /) (Lit_Slash /)} ) spids: [3177 3183] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$from'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name from> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('ftp:') (Lit_Slash /) (Lit_Slash /)} ) spids: [3200 3206] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$from'))} {(Lit_Other ']')} ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(wgetprogress)} {(-O)} {(DQ ($ VSub_Name '$dest'))} {(DQ ($ VSub_Name '$from'))} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [16777215 3241] ) ] else_action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$dest'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [3249 3266] ) ] spids: [3172 3219] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name from> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('https:') (Lit_Slash /) (Lit_Slash /)} ) spids: [3274 3280] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$from'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(wgetprogress)} {($ VSub_Name '$CHECKCERTIF')} {($ VSub_Name '$CERTIFICATE')} {($ VSub_Name '$PRIVATEKEY')} {(-O)} {(DQ ($ VSub_Name '$dest'))} {(DQ ($ VSub_Name '$from'))} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [16777215 3322] ) ] else_action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$dest'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [3330 3347] ) ] spids: [3269 3294] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name from> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('file:')}) spids: [3355 3359] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$from'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name from> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('file:')}) spids: [3379 3383] ) ) } spids: [3377] ) ] spids: [3375] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name base> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /) (Lit_Slash /)} ) spids: [3392 3397] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$base'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (DQ (/) (BracedVarSub token: <VSub_Name from> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('file:') (Lit_Slash /) (Lit_Slash /) ('*') (Lit_Slash /) } ) spids: [3416 3424] ) ) } spids: [3413] ) ] spids: [3413] ) ] spids: [16777215 3410] ) ] spids: [16777215 3428] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$base'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(DQ ($ VSub_Name '$base'))} {(DQ ($ VSub_Name '$dest'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 3444] ) ] else_action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [3463 3471] ) ] spids: [3350 3372] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name from> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('ssh:')}) spids: [3479 3483] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$from'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ssh_dest) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$from')}) (C {(sed)} {(-e)} {(SQ <'s#ssh://##'>)} {(-e)} {(SQ <'s#/#:/#'>)} ) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [3503 3523] ) ) } spids: [3501] ) ] spids: [3499] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$ssh_dest'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(scp)} {(DQ ($ VSub_Name '$ssh_dest'))} {(DQ ($ VSub_Name '$dest'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 3540] ) ] else_action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [3559 3567] ) ] spids: [3474 3496] ) ] else_action: [ (C {(error)} {(1)} {(UNKNOWNLOC)} {(DQ ('unknown location %s'))} {(DQ ($ VSub_Name '$from'))} ) ] spids: [3570 3588] ) ] spids: [3091] ) spids: [3086 3090] ) (FuncDef name: download body: (BraceGroup children: [ (C {(mk_download_dirs)}) (C {(DQ ($ VSub_Name '$DOWNLOAD_DEBS'))} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_At '$@'))}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [3608 3630] ) } ) ] spids: [3598] ) spids: [3593 3597] ) (FuncDef name: download_indices body: (BraceGroup children: [ (C {(mk_download_dirs)}) (C {(DQ ($ VSub_Name '$DOWNLOAD_INDICES'))} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_At '$@'))}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [3650 3672] ) } ) ] spids: [3640] ) spids: [3635 3639] ) (FuncDef name: debfor body: (BraceGroup children: [ (Subshell child: (While cond: [(Sentence child:(C {(read)} {(pkg)} {(path)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (ForEach iter_name: p iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$p'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$pkg'))} {(Lit_Other ']')} ) (ControlFlow token: <ControlFlow_Continue continue> ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) (C {(echo)} {(DQ ($ VSub_Name '$path'))}) ] spids: [3709 3739] ) spids: [3703 3707] ) ] spids: [3695 3742] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debpaths))} spids: [3744] ) ] ) spids: [3685 3751] ) ] spids: [3682] ) spids: [3677 3681] ) (FuncDef name: apt_dest body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(deb)}] action: [ (Pipeline children: [ (C {(echo)} { (DQ (/var/cache/apt/archives/) (${ VSub_Number 2) (_) (${ VSub_Number 3) (_) (${ VSub_Number 4) (.deb) ) } ) (C {(sed)} {(SQ <'s/:/%3a/'>)}) ] negated: False ) ] spids: [3789 3790 3820 16777215] ) (case_arm pat_list: [{(pkg)}] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ ($ VSub_Number '$5'))} spids: [3829] ) ] spids: [3827] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ (debootstrap.invalid))} spids: [3835] ) ] spids: [3835] ) (C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Name '$APTSTATE') (/lists/))}) (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name m) (_) ($ VSub_Number '$6'))}) (C {(sed)} {(SQ <'s/\\//_/g'>)}) ] negated: False ) ] spids: [3823 3824 3901 16777215] ) (case_arm pat_list: [{(rel)}] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [3910] ) ] spids: [3908] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ (debootstrap.invalid))} spids: [3916] ) ] spids: [3916] ) (C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Name '$APTSTATE') (/lists/))}) (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name m) (_) ($ VSub_Number '$4'))}) (C {(sed)} {(SQ <'s/\\//_/g'>)}) ] negated: False ) ] spids: [3904 3905 3981 16777215] ) ] spids: [3780 3786 3984] ) ] spids: [3761] ) spids: [3756 3760] ) (FuncDef name: get_release_checksum body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:reldest) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [4003] ) ] spids: [4001] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [4011] ) ] spids: [4009] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$DEBOOTSTRAP_CHECKSUM_FIELD'))} {(Lit_Other '=')} {(MD5SUM)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:match) op: Equal rhs: {(DQ ('^[Mm][Dd]5[Ss][Uu][Mm]'))} spids: [4037] ) ] spids: [4035] ) ] spids: [16777215 4032] ) ] else_action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:match) op: Equal rhs: {(DQ ('^[Ss][Hh][Aa]') ($ VSub_Name '$SHA_SIZE') (':'))} spids: [4048] ) ] spids: [4046] ) ] spids: [4043 4056] ) (Pipeline children: [ (SimpleCommand words: [{(sed)} {(-n)} {(DQ (/) ($ VSub_Name '$match') ('/,/^[^ ]/p'))}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$reldest'))} spids: [4069] ) ] ) (While cond: [(Sentence child:(C {(read)} {(a)} {(b)} {(c)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$c'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$path'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(echo)} {(DQ ($ VSub_Name '$a') (' ') ($ VSub_Name '$b'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 4110] ) ] spids: [16777215 4121] ) ] spids: [4090 4124] ) ) (C {(head)} {(-n)} {(1)}) ] negated: False ) ] spids: [3998] ) spids: [3993 3997] ) (FuncDef name: extract_release_components body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:reldest) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [4147] ) ] spids: [4145] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TMPCOMPONENTS) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(SQ <'s/Components: *//p'>)} {(DQ ($ VSub_Name '$reldest'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4158 4170] ) ) } spids: [4156] ) ] spids: [4156] ) (ForEach iter_name: c iter_words: [{($ VSub_Name '$TMPCOMPONENTS')}] do_arg_iter: False body: (DoGroup children: [ (C {(eval)} { (DQ ('\n') ('\t\tcase ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (c) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' in\n') ('\t\t ') ($ VSub_Name '$USE_COMPONENTS') (')\n') ('\t\t\tCOMPONENTS=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('COMPONENTS ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (c) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\t\t\t;;\n') ('\t\tesac\n') ('\t\t') ) } ) ] spids: [4184 4214] ) spids: [4179 4182] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPONENTS) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(echo)} {($ VSub_Name '$COMPONENTS')})] ) left_token: <Left_CommandSub '$('> spids: [4219 4223] ) ) } spids: [4217] ) ] spids: [4217] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$COMPONENTS'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(mv)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$reldest') (.malformed))} ) (C {(error)} {(1)} {(INVALIDREL)} {(DQ ('Invalid Release file, no valid components'))}) ] spids: [16777215 4240] ) ] spids: [16777215 4266] ) ] spids: [4142] ) spids: [4137 4141] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CODENAME) op:Equal rhs:{(DQ )} spids:[4271])] spids: [4271] ) (FuncDef name: validate_suite body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:reldest) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [4285] ) ] spids: [4283] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CODENAME) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(DQ ('s/^Codename: *//p'))} {(DQ ($ VSub_Name '$reldest'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4293 4305] ) } spids: [4292] ) ] spids: [4292] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:suite) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(DQ ('s/^Suite: *//p'))} {(DQ ($ VSub_Name '$reldest'))}) ] ) left_token: <Left_CommandSub '$('> spids: [4311 4323] ) } spids: [4310] ) ] spids: [4308] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SUITE'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$suite'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SUITE'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$CODENAME'))} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(WRONGSUITE)} {(DQ ('Asked to install suite %s, but got %s (codename: %s) from mirror'))} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$suite'))} {(DQ ($ VSub_Name '$CODENAME'))} ) ] spids: [16777215 4362] ) ] spids: [16777215 4388] ) ] spids: [4280] ) spids: [4275 4279] ) (FuncDef name: split_inline_sig body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:inreldest) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [4403] ) ] spids: [4401] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:reldest) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [4411] ) ] spids: [4409] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:relsigdest) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [4419] ) ] spids: [4417] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$relsigdest'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:nl) op:Equal rhs:{(DQ )} spids:[4459])] spids: [4459] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:state) op:Equal rhs:{(pre-begin)} spids:[4464])] spids: [4464] ) (While cond: [ (Sentence child: (SimpleCommand words: [{(read)} {(-r)} {(line)}] more_env: [(env_pair name:IFS val:{(SQ )} spids:[4470])] ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Case to_match: {(DQ (${ VSub_Name state))} arms: [ (case_arm pat_list: [{(pre-begin)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name line))} {(Lit_Other '=')} {(DQ ('x-----BEGIN PGP SIGNED MESSAGE-----'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state) op: Equal rhs: {(begin)} spids: [4520] ) ] spids: [4520] ) ] spids: [16777215 4517] ) ] spids: [16777215 4524] ) ] spids: [4493 4494 4527 16777215] ) (case_arm pat_list: [{(begin)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name line))} {(Lit_Other '=')} {(DQ (x))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state) op: Equal rhs: {(data)} spids: [4557] ) ] spids: [4557] ) ] spids: [16777215 4554] ) ] spids: [16777215 4561] ) ] spids: [4530 4531 4564 16777215] ) (case_arm pat_list: [{(data)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name line))} {(Lit_Other '=')} {(DQ ('x-----BEGIN PGP SIGNATURE-----'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ (${ VSub_Name line))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$relsigdest'))} spids: [4608] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state) op: Equal rhs: {(signature)} spids: [4615] ) ] spids: [4615] ) ] spids: [16777215 4591] ) ] else_action: [ (SimpleCommand words: [ {(printf)} {(DQ (${ VSub_Name nl) ('%s'))} {(DQ (${ VSub_Name line))} ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$reldest'))} spids: [4637] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:nl) op: Equal rhs: {(DQ (Lit_Other '\\') (n))} spids: [4644] ) ] spids: [4644] ) ] spids: [4619 4651] ) ] spids: [4567 4568 4654 16777215] ) (case_arm pat_list: [{(signature)}] action: [ (SimpleCommand words: [ {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ (${ VSub_Name line))} ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$relsigdest'))} spids: [4675] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name line))} {(Lit_Other '=')} {(DQ ('x-----END PGP SIGNATURE-----'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [16777215 4702] ) ] spids: [16777215 4708] ) ] spids: [4657 4658 16777215 4711] ) ] spids: [4482 4490 4711] ) ] spids: [4479 4714] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$inreldest'))} spids: [4716] ) ] ) ] spids: [4398] ) spids: [4393 4397] ) (FuncDef name: download_release_sig body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m1) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [4735] ) ] spids: [4733] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:inreldest) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [4743] ) ] spids: [4741] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:reldest) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [4751] ) ] spids: [4749] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:relsigdest) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [4759] ) ] spids: [4757] ) (C {(progress)} {(0)} {(100)} {(DOWNREL)} {(DQ ('Downloading Release file'))}) (C {(progress_next)} {(100)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(get)} {(DQ ($ VSub_Name '$m1') (/dists/) ($ VSub_Name '$SUITE') (/InRelease))} {(DQ ($ VSub_Name '$inreldest'))} {(nocache)} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(split_inline_sig)} {(DQ ($ VSub_Name '$inreldest'))} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$relsigdest'))} ) (C {(progress)} {(100)} {(100)} {(DOWNREL)} {(DQ ('Downloading Release file'))}) ] spids: [16777215 4802] ) ] else_action: [ (AndOr children: [ (C {(get)} {(DQ ($ VSub_Name '$m1') (/dists/) ($ VSub_Name '$SUITE') (/Release))} {(DQ ($ VSub_Name '$reldest'))} {(nocache)} ) (C {(error)} {(1)} {(NOGETREL)} {(DQ ('Failed getting release file %s'))} {(DQ ($ VSub_Name '$m1') (/dists/) ($ VSub_Name '$SUITE') (/Release))} ) ] op_id: Op_DPipe ) (C {(progress)} {(100)} {(100)} {(DOWNREL)} {(DQ ('Downloading Release file'))}) ] spids: [4833 4885] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$KEYRING'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$DISABLE_KEYRING'))} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (C {(progress)} {(0)} {(100)} {(DOWNRELSIG)} {(DQ ('Downloading Release file signature'))} ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$relsigdest'))} {(Lit_Other ']')} ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(progress_next)} {(50)}) (AndOr children: [ (C {(get)} { (DQ ($ VSub_Name '$m1') (/dists/) ($ VSub_Name '$SUITE') (/Release.gpg) ) } {(DQ ($ VSub_Name '$relsigdest'))} {(nocache)} ) (C {(error)} {(1)} {(NOGETRELSIG)} {(DQ ('Failed getting release signature file %s'))} {(DQ ($ VSub_Name '$m1') (/dists/) ($ VSub_Name '$SUITE') (/Release.gpg))} ) ] op_id: Op_DPipe ) (C {(progress)} {(50)} {(100)} {(DOWNRELSIG)} {(DQ ('Downloading Release file signature'))} ) ] spids: [16777215 4944] ) ] spids: [16777215 5003] ) (C {(info)} {(RELEASESIG)} {(DQ ('Checking Release signature'))}) (Pipeline children: [ (Subshell child: (AndOr children: [ (C {(gpgv)} {(--status-fd)} {(1)} {(--keyring)} {(DQ ($ VSub_Name '$KEYRING'))} {(--ignore-time-conflict)} {(DQ ($ VSub_Name '$relsigdest'))} {(DQ ($ VSub_Name '$reldest'))} ) (C {(true)}) ] op_id: Op_DPipe ) spids: [5024 5052] ) (C {(read_gpg_status)}) ] negated: False ) (C {(progress)} {(100)} {(100)} {(DOWNRELSIG)} {(DQ ('Downloading Release file signature'))} ) ] spids: [16777215 4913] ) ] spids: [16777215 5072] ) ] spids: [4730] ) spids: [4725 4729] ) (FuncDef name: download_release_indices body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m1) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [5089 5093] ) ) } spids: [5087] ) ] spids: [5085] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:inreldest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(rel)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$m1'))} {(DQ (dists/) ($ VSub_Name '$SUITE') (/InRelease))} ) ] ) left_token: <Left_CommandSub '$('> spids: [5103 5121] ) ) } spids: [5099] ) ] spids: [5097] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:reldest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(rel)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$m1'))} {(DQ (dists/) ($ VSub_Name '$SUITE') (/Release))} ) ] ) left_token: <Left_CommandSub '$('> spids: [5131 5149] ) ) } spids: [5127] ) ] spids: [5125] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:relsigdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(rel)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$m1'))} {(DQ (dists/) ($ VSub_Name '$SUITE') (/Release.gpg))} ) ] ) left_token: <Left_CommandSub '$('> spids: [5159 5177] ) ) } spids: [5155] ) ] spids: [5153] ) (C {(download_release_sig)} {(DQ ($ VSub_Name '$m1'))} {(DQ ($ VSub_Name '$inreldest'))} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$relsigdest'))} ) (C {(validate_suite)} {(DQ ($ VSub_Name '$reldest'))}) (C {(extract_release_components)} {($ VSub_Name '$reldest')}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:totalpkgs) op:Equal rhs:{(0)} spids:[5218])] spids: [5216] ) (ForEach iter_name: c iter_words: [{($ VSub_Name '$COMPONENTS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:subpath) op: Equal rhs: {(DQ ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages))} spids: [5236] ) ] spids: [5234] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:xzi) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_release_checksum)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$subpath') (.xz))} ) ] ) left_token: <Left_Backtick '`'> spids: [5249 5260] ) ) } spids: [5247] ) ] spids: [5245] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:bz2i) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_release_checksum)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$subpath') (.bz2))} ) ] ) left_token: <Left_Backtick '`'> spids: [5268 5279] ) ) } spids: [5266] ) ] spids: [5264] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:gzi) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_release_checksum)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$subpath') (.gz))} ) ] ) left_token: <Left_Backtick '`'> spids: [5287 5298] ) ) } spids: [5285] ) ] spids: [5283] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:normi) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_release_checksum)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$subpath'))} ) ] ) left_token: <Left_Backtick '`'> spids: [5306 5316] ) ) } spids: [5304] ) ] spids: [5302] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(SQ )} spids:[5322])] spids: [5320] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$normi'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {(DQ ($ VSub_Name '$normi'))} spids: [5345] ) ] spids: [5345] ) ] spids: [16777215 5342] ) (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(bunzip2)}) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$bz2i'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {(DQ ($ VSub_Name '$bz2i'))} spids: [5377] ) ] spids: [5377] ) ] spids: [5351 5374] ) (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(unxz)}) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$xzi'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {(DQ ($ VSub_Name '$xzi'))} spids: [5409] ) ] spids: [5409] ) ] spids: [5383 5406] ) (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(gunzip)}) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$gzi'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {(DQ ($ VSub_Name '$gzi'))} spids: [5441] ) ] spids: [5441] ) ] spids: [5415 5438] ) ] spids: [16777215 5447] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$i'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:totalpkgs) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$totalpkgs')}) right: (ArithWord w: { (BracedVarSub token: <VSub_Name i> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('* ')} ) spids: [5478 5482] ) } ) ) spids: [5472 5485] ) ) } spids: [5470] ) ] spids: [5470] ) ] spids: [16777215 5467] ) ] else_action: [ (C {(mv)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$reldest') (.malformed))} ) (C {(error)} {(1)} {(MISSINGRELENTRY)} {(DQ ('Invalid Release file, no entry for %s'))} {(DQ ($ VSub_Name '$subpath'))} ) ] spids: [5489 5519] ) ] spids: [5231 5522] ) spids: [5227 5229] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:donepkgs) op:Equal rhs:{(0)} spids:[5528])] spids: [5526] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:pkgdest) op:Equal spids:[5534])] spids: [5532] ) (C {(progress)} {(0)} {($ VSub_Name '$totalpkgs')} {(DOWNPKGS)} {(DQ ('Downloading Packages files'))} ) (ForEach iter_name: c iter_words: [{($ VSub_Name '$COMPONENTS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:subpath) op: Equal rhs: {(DQ ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages))} spids: [5564] ) ] spids: [5562] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: {(DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$subpath'))} spids: [5575] ) ] spids: [5573] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:xzi) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_release_checksum)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$subpath') (.xz))} ) ] ) left_token: <Left_Backtick '`'> spids: [5588 5599] ) ) } spids: [5586] ) ] spids: [5584] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:bz2i) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_release_checksum)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$subpath') (.bz2))} ) ] ) left_token: <Left_Backtick '`'> spids: [5607 5618] ) ) } spids: [5605] ) ] spids: [5603] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:gzi) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_release_checksum)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$subpath') (.gz))} ) ] ) left_token: <Left_Backtick '`'> spids: [5626 5637] ) ) } spids: [5624] ) ] spids: [5622] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:normi) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_release_checksum)} {(DQ ($ VSub_Name '$reldest'))} {(DQ ($ VSub_Name '$subpath'))} ) ] ) left_token: <Left_Backtick '`'> spids: [5645 5655] ) ) } spids: [5643] ) ] spids: [5641] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:ext) op:Equal rhs:{(SQ )} spids:[5661])] spids: [5659] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(SQ )} spids:[5666])] spids: [5664] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$normi'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ext) op: Equal rhs: {(DQ ($ VSub_Name '$ext') (' ') ($ VSub_Name '$normi') (' .'))} spids: [5689] ) ] spids: [5689] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {(DQ ($ VSub_Name '$normi'))} spids: [5698] ) ] spids: [5698] ) ] spids: [16777215 5686] ) ] spids: [16777215 5704] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(unxz)}) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$xzi'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ext) op: Equal rhs: {(DQ ($ VSub_Name '$ext') (' ') ($ VSub_Name '$xzi') (' xz'))} spids: [5733] ) ] spids: [5733] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name i> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$xzi')} ) spids: [5744 5748] ) ) } spids: [5742] ) ] spids: [5742] ) ] spids: [16777215 5730] ) ] spids: [16777215 5752] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(bunzip2)}) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$bz2i'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ext) op: Equal rhs: {(DQ ($ VSub_Name '$ext') (' ') ($ VSub_Name '$bz2i') (' bz2'))} spids: [5781] ) ] spids: [5781] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name i> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$bz2i')} ) spids: [5792 5796] ) ) } spids: [5790] ) ] spids: [5790] ) ] spids: [16777215 5778] ) ] spids: [16777215 5800] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(gunzip)}) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$gzi'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ext) op: Equal rhs: {(DQ ($ VSub_Name '$ext') (' ') ($ VSub_Name '$gzi') (' gz'))} spids: [5829] ) ] spids: [5829] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name i> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$gzi')} ) spids: [5840 5844] ) ) } spids: [5838] ) ] spids: [5838] ) ] spids: [16777215 5826] ) ] spids: [16777215 5848] ) (C {(progress_next)} { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$donepkgs')}) right: (ArithWord w: { (BracedVarSub token: <VSub_Name i> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('* ')}) spids: [5859 5863] ) } ) ) spids: [5854 5865] ) ) } ) (ForEach iter_name: m iter_words: [{($ VSub_Name '$MIRRORS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [5885 5909] ) ) } spids: [5881] ) ] spids: [5881] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(get)} {(DQ ($ VSub_Name '$m') (/) ($ VSub_Name '$path'))} {(DQ ($ VSub_Name '$pkgdest'))} {($ VSub_Name '$ext')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ';'> ) ] spids: [16777215 5930] ) ] spids: [16777215 5935] ) ] spids: [5878 5938] ) spids: [5874 5876] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$pkgdest'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(COULDNTDL)} {(DQ ("Couldn't download %s"))} {(DQ ($ VSub_Name '$path'))} ) ] spids: [16777215 5956] ) ] spids: [16777215 5974] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:donepkgs) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$donepkgs')}) right: (ArithWord w: { (BracedVarSub token: <VSub_Name i> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('* ')} ) spids: [5984 5988] ) } ) ) spids: [5979 5990] ) ) } spids: [5977] ) ] spids: [5977] ) (C {(progress)} {($ VSub_Name '$donepkgs')} {($ VSub_Name '$totalpkgs')} {(DOWNPKGS)} {(DQ ('Downloading Packages files'))} ) ] spids: [5559 6007] ) spids: [5555 5557] ) ] spids: [5082] ) spids: [5077 5081] ) (FuncDef name: get_package_sizes body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [6026] ) ] spids: [6024] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [6037] ) ] spids: [6035] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (Pipeline children: [ (C {($ VSub_Name '$PKGDETAILS')} {(PKGS)} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$pkgdest'))} {(DQ ($ VSub_At '$@'))} ) (Subshell child: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:newleft) op: Equal rhs: {(DQ )} spids: [6067] ) ] spids: [6067] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:totaldebs) op: Equal rhs: {(0)} spids: [6072] ) ] spids: [6072] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:countdebs) op: Equal rhs: {(0)} spids: [6076] ) ] spids: [6076] ) (While cond: [ (Sentence child: (C {(read)} {(p)} {(details)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$details'))} {(Lit_Other '=')} {(DQ (-))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:newleft) op: Equal rhs: { (DQ ($ VSub_Name '$newleft') (' ') ($ VSub_Name '$p')) } spids: [6112] ) ] spids: [6112] ) ] spids: [16777215 6109] ) ] else_action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:size) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name details> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('* ')} ) spids: [6125 6129] ) ) } spids: [6123] ) ] spids: [6123] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:totaldebs) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$totaldebs')}) right: (ArithWord w:{($ VSub_Name '$size')}) ) spids: [6136 6143] ) ) } spids: [6134] ) ] spids: [6134] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:countdebs) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$countdebs')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [6149 6156] ) ) } spids: [6147] ) ] spids: [6147] ) ] spids: [6120 6160] ) ] spids: [6089 6163] ) ) (C {(echo)} { (DQ ($ VSub_Name '$countdebs') (' ') ($ VSub_Name '$totaldebs') ($ VSub_Name '$newleft') ) } ) ] ) spids: [6064 6176] ) ] negated: False ) ] spids: [6017] ) spids: [6012 6016] ) (FuncDef name: download_debs body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [6194] ) ] spids: [6192] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [6202] ) ] spids: [6200] ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(shift)}) (Pipeline children: [ (C {($ VSub_Name '$PKGDETAILS')} {(PKGS)} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$pkgdest'))} {(DQ ($ VSub_At '$@'))} ) (Subshell child: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:leftover) op: Equal rhs: {(DQ )} spids: [6236] ) ] spids: [6236] ) (While cond: [ (Sentence child: (C {(read)} {(p)} {(ver)} {(arc)} {(mdup)} {(fil)} {(checksum)} {(size)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$ver'))} {(Lit_Other '=')} {(DQ (-))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:leftover) op: Equal rhs: { (DQ ($ VSub_Name '$leftover') (' ') ($ VSub_Name '$p') ) } spids: [6283] ) ] spids: [6283] ) ] spids: [16777215 6280] ) ] else_action: [ (C {(progress_next)} { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$dloaddebs')}) right: (ArithWord w:{($ VSub_Name '$size')}) ) spids: [6297 6304] ) ) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:debdest) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(deb)} {(DQ ($ VSub_Name '$p'))} {(DQ ($ VSub_Name '$ver'))} {(DQ ($ VSub_Name '$arc'))} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$fil'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [6312 6336] ) ) } spids: [6310] ) ] spids: [6308] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(get)} {(DQ ($ VSub_Name '$m') (/) ($ VSub_Name '$fil'))} {(DQ ($ VSub_Name '$TARGET') (/) ($ VSub_Name '$debdest'))} {(DQ ($ VSub_Name '$checksum'))} {(DQ ($ VSub_Name '$size'))} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dloaddebs) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: {($ VSub_Name '$dloaddebs')} ) right: (ArithWord w: {($ VSub_Name '$size')} ) ) spids: [6370 6377] ) ) } spids: [6368] ) ] spids: [6368] ) (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name '$p') (' ') ($ VSub_Name '$ver') (' ') ($ VSub_Name '$m') (/) ($ VSub_Name '$fil') ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$TARGET') (/debootstrap/deburis)} spids: [6383] ) ] ) (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name '$p') (' ') ($ VSub_Name '$debdest')) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$TARGET') (/debootstrap/debpaths)} spids: [6400] ) ] ) ] spids: [16777215 6365] ) ] else_action: [ (C {(warning)} {(COULDNTDL)} {(DQ ("Couldn't download package %s (ver %s arch %s)"))} {(DQ ($ VSub_Name '$p'))} {(DQ ($ VSub_Name '$ver'))} {(DQ ($ VSub_Name '$arc'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:leftover) op: Equal rhs: { (DQ ($ VSub_Name '$leftover') (' ') ($ VSub_Name '$p') ) } spids: [6435] ) ] spids: [6435] ) ] spids: [6411 6443] ) ] spids: [6291 6446] ) ] spids: [6260 6449] ) ) (SimpleCommand words: [ {(echo)} { (BracedVarSub token: <VSub_Name leftover> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(' ')}) spids: [6457 6461] ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(5)} spids: [6454] ) ] ) ] ) spids: [6233 6464] ) ] negated: False ) ] spids: [6189] ) spids: [6184 6188] ) (FuncDef name: download_release body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m1) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [6481 6485] ) ) } spids: [6479] ) ] spids: [6477] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:numdebs) op: Equal rhs: {(DQ ($ VSub_Pound '$#'))} spids: [6492] ) ] spids: [6490] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:countdebs) op:Equal rhs:{(0)} spids:[6501])] spids: [6499] ) (C {(progress)} {($ VSub_Name '$countdebs')} {($ VSub_Name '$numdebs')} {(SIZEDEBS)} {(DQ ('Finding package sizes'))} ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:totaldebs) op:Equal rhs:{(0)} spids:[6521])] spids: [6519] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:leftoverdebs) op: Equal rhs: {(DQ ($ VSub_Star '$*'))} spids: [6527] ) ] spids: [6525] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:leftoverdebs) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(printf)} {(DQ ($ VSub_Name '$leftoverdebs'))}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)} {(-u)}) (C {(tr)} {(SQ <'\\n'>)} {(SQ <' '>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [6539 6569] ) } spids: [6538] ) ] spids: [6538] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:numdebs) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(printf)} {(DQ ($ VSub_Name '$leftoverdebs'))}) (C {(wc)} {(-w)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [6573 6583] ) } spids: [6572] ) ] spids: [6572] ) (ForEach iter_name: c iter_words: [{($ VSub_Name '$COMPONENTS')}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$countdebs'))} {(-ge)} {(DQ ($ VSub_Name '$numdebs'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ';'> ) ] spids: [16777215 6616] ) ] spids: [16777215 6621] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: { (DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages) ) } spids: [6627] ) ] spids: [6625] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m1'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [6645 6669] ) ) } spids: [6641] ) ] spids: [6639] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_Name '$pkgdest'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Continue continue>) terminator: <Op_Semi ';'> ) ] spids: [16777215 6688] ) ] spids: [16777215 6693] ) (C {(info)} {(CHECKINGSIZES)} {(DQ ('Checking component %s on %s...'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$m1'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:leftoverdebs) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_package_sizes)} {(DQ ($ VSub_Name '$m1'))} {(DQ ($ VSub_Name '$pkgdest'))} {($ VSub_Name '$leftoverdebs')} ) ] ) left_token: <Left_CommandSub '$('> spids: [6717 6729] ) ) } spids: [6715] ) ] spids: [6715] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:countdebs) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$countdebs')}) right: (ArithWord w: { (BracedVarSub token: <VSub_Name leftoverdebs> suffix_op: (StringUnary op_id: VOp1_DPercent arg_word: {(' *')} ) spids: [6740 6744] ) } ) ) spids: [6735 6746] ) } spids: [6734] ) ] spids: [6734] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:leftoverdebs) op: Equal rhs: { (BracedVarSub token: <VSub_Name leftoverdebs> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('* ')}) spids: [6750 6754] ) } spids: [6749] ) ] spids: [6749] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:totaldebs) op: Equal rhs: { (BracedVarSub token: <VSub_Name leftoverdebs> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [6759 6763] ) } spids: [6758] ) ] spids: [6758] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:leftoverdebs) op: Equal rhs: { (BracedVarSub token: <VSub_Name leftoverdebs> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('* ')}) spids: [6767 6771] ) } spids: [6766] ) ] spids: [6766] ) (C {(progress)} {($ VSub_Name '$countdebs')} {($ VSub_Name '$numdebs')} {(SIZEDEBS)} {(DQ ('Finding package sizes'))} ) ] spids: [6596 6788] ) spids: [6592 6594] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$countdebs'))} {(-ne)} {(DQ ($ VSub_Name '$numdebs'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(LEFTOVERDEBS)} {(DQ ("Couldn't find these debs: %s"))} {(DQ ($ VSub_Name '$leftoverdebs'))} ) ] spids: [16777215 6809] ) ] spids: [16777215 6827] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:dloaddebs) op:Equal rhs:{(0)} spids:[6833])] spids: [6831] ) (C {(progress)} {($ VSub_Name '$dloaddebs')} {($ VSub_Name '$totaldebs')} {(DOWNDEBS)} {(DQ ('Downloading packages'))} ) (SimpleCommand words: [{(Lit_Other ':')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$TARGET') (/debootstrap/debpaths)} spids: [6852] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgs_to_get) op: Equal rhs: {(DQ ($ VSub_Star '$*'))} spids: [6858] ) ] spids: [6858] ) (ForEach iter_name: c iter_words: [{($ VSub_Name '$COMPONENTS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: { (DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages) ) } spids: [6878] ) ] spids: [6876] ) (ForEach iter_name: m iter_words: [{($ VSub_Name '$MIRRORS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [6908 6932] ) ) } spids: [6904] ) ] spids: [6902] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_Name '$pkgdest'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Continue continue>) terminator: <Op_Semi ';'> ) ] spids: [16777215 6951] ) ] spids: [16777215 6956] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgs_to_get) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(download_debs)} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$pkgdest'))} {($ VSub_Name '$pkgs_to_get')} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 5 arg_word: {(1)} spids: [6974] ) (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(6)} spids: [6977] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [6961 6979] ) ) } spids: [6959] ) ] spids: [6959] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$pkgs_to_get'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ';'> ) ] spids: [16777215 6996] ) ] spids: [16777215 7001] ) ] spids: [6899 7004] ) redirects: [(Redir op_id:Redir_GreatAnd fd:6 arg_word:{(1)} spids:[7006])] spids: [6895 6897] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$pkgs_to_get'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ';'> ) ] spids: [16777215 7023] ) ] spids: [16777215 7028] ) ] spids: [6873 7031] ) spids: [6869 6871] ) (C {(progress)} {($ VSub_Name '$dloaddebs')} {($ VSub_Name '$totaldebs')} {(DOWNDEBS)} {(DQ ('Downloading packages'))} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$pkgs_to_get'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(COULDNTDLPKGS)} {(DQ ("Couldn't download packages: %s"))} {(DQ ($ VSub_Name '$pkgs_to_get'))} ) ] spids: [16777215 7064] ) ] spids: [16777215 7082] ) ] spids: [6474] ) spids: [6469 6473] ) (FuncDef name: download_main_indices body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m1) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [7099 7103] ) ) } spids: [7097] ) ] spids: [7095] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:comp) op: Equal rhs: {(DQ (${ VSub_Name USE_COMPONENTS))} spids: [7109] ) ] spids: [7107] ) (C {(progress)} {(0)} {(100)} {(DOWNMAINPKGS)} {(DQ ('Downloading Packages file'))}) (C {(progress_next)} {(100)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$comp'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:comp) op: Equal rhs: {(main)} spids: [7151] ) ] spids: [7151] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 7149] ) ] spids: [16777215 7155] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPONENTS) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$comp')}) (C {(tr)} {(SQ <'|'>)} {(SQ <' '>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [7160 7176] ) ) } spids: [7158] ) ] spids: [7158] ) (C {(export)} {(COMPONENTS)}) (ForEach iter_name: m iter_words: [{($ VSub_Name '$MIRRORS')}] do_arg_iter: False body: (DoGroup children: [ (ForEach iter_name: c iter_words: [{($ VSub_Name '$COMPONENTS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: { (DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages) ) } spids: [7212] ) ] spids: [7210] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [7230 7254] ) ) } spids: [7226] ) ] spids: [7224] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(gunzip)}) (C {(get)} {(DQ ($ VSub_Name '$m') (/) (${ VSub_Name path) (.gz))} {(DQ (${ VSub_Name pkgdest) (.gz))} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$pkgdest'))}) (C {(gunzip)} {(DQ ($ VSub_Name '$pkgdest') (.gz))}) ] spids: [16777215 7285] ) (if_arm cond: [ (Sentence child: (C {(get)} {(DQ ($ VSub_Name '$m') (/) ($ VSub_Name '$path'))} {(DQ ($ VSub_Name '$pkgdest'))} ) terminator: <Op_Semi ';'> ) ] action: [(C {(true)})] spids: [7305 7320] ) ] spids: [16777215 7326] ) ] spids: [7207 7329] ) spids: [7203 7205] ) ] spids: [7195 7332] ) spids: [7191 7193] ) (C {(progress)} {(100)} {(100)} {(DOWNMAINPKGS)} {(DQ ('Downloading Packages file'))}) ] spids: [7092] ) spids: [7087 7091] ) (FuncDef name: download_main body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m1) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [7362 7366] ) ) } spids: [7360] ) ] spids: [7358] ) (SimpleCommand words: [{(Lit_Other ':')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$TARGET') (/debootstrap/debpaths)} spids: [7372] ) ] ) (ForEach iter_name: p iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (ForEach iter_name: c iter_words: [{($ VSub_Name '$COMPONENTS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:details) op: Equal rhs: {(DQ )} spids: [7405] ) ] spids: [7403] ) (ForEach iter_name: m iter_words: [{($ VSub_Name '$MIRRORS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: { (DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages) ) } spids: [7424] ) ] spids: [7422] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [7442 7466] ) ) } spids: [7438] ) ] spids: [7436] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_Name '$pkgdest'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token: <ControlFlow_Continue continue> ) terminator: <Op_Semi ';'> ) ] spids: [16777215 7485] ) ] spids: [16777215 7490] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:details) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$PKGDETAILS')} {(PKGS)} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$pkgdest'))} {(DQ ($ VSub_Name '$p'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [7495 7511] ) ) } spids: [7493] ) ] spids: [7493] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$details'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$p') (' -'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:details) op: Equal rhs: {(DQ )} spids: [7536] ) ] spids: [7536] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [16777215 7533] ) ] spids: [16777215 7544] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:size) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name details> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('* ')} ) spids: [7549 7553] ) ) } spids: [7547] ) ] spids: [7547] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:details) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name details> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(' *')} ) spids: [7559 7563] ) ) } spids: [7557] ) ] spids: [7557] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checksum) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name details> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('* ')} ) spids: [7569 7573] ) ) } spids: [7567] ) ] spids: [7567] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:details) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name details> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(' *')} ) spids: [7579 7583] ) ) } spids: [7577] ) ] spids: [7577] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:debdest) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(deb)} {($ VSub_Name '$details')} ) ] ) left_token: <Left_CommandSub '$('> spids: [7591 7597] ) ) } spids: [7589] ) ] spids: [7587] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(get)} { (DQ ($ VSub_Name '$m') (/) (BracedVarSub token: <VSub_Name details> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('* ')} ) spids: [7608 7612] ) ) } {(DQ ($ VSub_Name '$TARGET') (/) ($ VSub_Name '$debdest'))} {(DQ ($ VSub_Name '$checksum'))} {(DQ ($ VSub_Name '$size'))} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name '$p') (' ') ($ VSub_Name '$debdest')) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$TARGET') (/debootstrap/debpaths)} spids: [7635] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:details) op: Equal rhs: {(DQ (done))} spids: [7646] ) ] spids: [7646] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 7630] ) ] spids: [16777215 7655] ) ] spids: [7419 7658] ) spids: [7415 7417] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$details'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [16777215 7678] ) ] spids: [16777215 7684] ) ] spids: [7400 7687] ) spids: [7396 7398] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$details'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (done))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(COULDNTDL)} {(DQ ("Couldn't download %s"))} {(DQ ($ VSub_Name '$p'))} ) ] spids: [16777215 7708] ) ] spids: [16777215 7726] ) ] spids: [7388 7729] ) spids: [7382 7386] ) ] spids: [7355] ) spids: [7350 7354] ) (FuncDef name: get_debs body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:field) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [7748] ) ] spids: [7746] ) (C {(shift)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:m1) op:Equal spids:[7759]) (assign_pair lhs:(LhsName name:c) op:Equal spids:[7761]) ] spids: [7757] ) (ForEach iter_name: m1 iter_words: [{($ VSub_Name '$MIRRORS')}] do_arg_iter: False body: (DoGroup children: [ (ForEach iter_name: c iter_words: [{($ VSub_Name '$COMPONENTS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: { (DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages) ) } spids: [7790] ) ] spids: [7788] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m1'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [7808 7832] ) ) } spids: [7804] ) ] spids: [7802] ) (C {(echo)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(DQ ($ VSub_Name '$PKGDETAILS'))} {(FIELD)} {(DQ ($ VSub_Name '$field'))} {(DQ ($ VSub_Name '$m1'))} {(DQ ($ VSub_Name '$pkgdest'))} {(DQ ($ VSub_At '$@'))} ) (C {(sed)} {(SQ <'s/ .*//'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [7838 7868] ) } ) ] spids: [7785 7871] ) spids: [7781 7783] ) ] spids: [7773 7874] ) spids: [7769 7771] ) ] spids: [7743] ) spids: [7738 7742] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRACTORS_SUPPORTED) op: Equal rhs: {(DQ ('dpkg-deb ar'))} spids: [7883] ) ] spids: [7883] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRACT_DEB_TAR_OPTIONS) op: Equal rhs: {(SQ )} spids: [7888] ) ] spids: [7888] ) (FuncDef name: extract_dpkg_deb_field body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkg) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [7904] ) ] spids: [7902] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:field) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [7912] ) ] spids: [7910] ) (C {(dpkg-deb)} {(-f)} {(DQ ($ VSub_Name '$pkg'))} {(DQ ($ VSub_Name '$field'))}) ] spids: [7899] ) spids: [7894 7898] ) (FuncDef name: extract_dpkg_deb_data body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkg) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [7944] ) ] spids: [7942] ) (Pipeline children: [ (C {(dpkg-deb)} {(--fsys-tarfile)} {(DQ ($ VSub_Name '$pkg'))}) (C {(tar)} {($ VSub_Name '$EXTRACT_DEB_TAR_OPTIONS')} {(-xf)} {(-)}) ] negated: False ) ] spids: [7939] ) spids: [7934 7938] ) (FuncDef name: extract_ar_deb_field body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkg) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [7985] ) ] spids: [7983] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:field) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [7993] ) ] spids: [7991] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tarball) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ar)} {(-t)} {(DQ ($ VSub_Name '$pkg'))}) (C {(grep)} {(DQ ('^control') (Lit_Other '\\') (.tar))}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [8002 8020] ) } spids: [8001] ) ] spids: [7999] ) (Case to_match: {(DQ ($ VSub_Name '$tarball'))} arms: [ (case_arm pat_list: [{(control.tar.gz)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cat_cmd) op: Equal rhs: {(zcat)} spids: [8036] ) ] spids: [8036] ) ] spids: [8033 8034 8039 16777215] ) (case_arm pat_list: [{(control.tar.xz)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cat_cmd) op: Equal rhs: {(xzcat)} spids: [8045] ) ] spids: [8045] ) ] spids: [8042 8043 8048 16777215] ) (case_arm pat_list: [{(control.tar)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cat_cmd) op: Equal rhs: {(cat)} spids: [8054] ) ] spids: [8054] ) ] spids: [8051 8052 8057 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(error)} {(1)} {(UNKNOWNCONTROLCOMP)} {(DQ ('Unknown compression type for %s in %s'))} {(DQ ($ VSub_Name '$tarball'))} {(DQ ($ VSub_Name '$pkg'))} ) ] spids: [8060 8061 8081 16777215] ) ] spids: [8024 8030 8084] ) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(type)} {($ VSub_Name '$cat_cmd')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [8094] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [8097] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(ar)} {(-p)} {(DQ ($ VSub_Name '$pkg'))} {(DQ ($ VSub_Name '$tarball'))}) (C {($ VSub_Name '$cat_cmd')}) (SimpleCommand words: [{(tar)} {(-O)} {(-xf)} {(-)} {(control)} {(./control)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [8135] ) ] ) (C {(grep)} {(-i)} {(DQ ('^') ($ VSub_Name '$field') (':'))}) (C {(sed)} {(-e)} {(SQ <'s/[^:]*: *//'>)}) (C {(head)} {(-n)} {(1)}) ] negated: False ) ] spids: [16777215 8101] ) ] else_action: [ (C {(error)} {(1)} {(UNPACKCMDUNVL)} {(DQ ('Extracting %s requires the %s command, which is not available'))} {(DQ ($ VSub_Name '$pkg'))} {(DQ ($ VSub_Name '$cat_cmd'))} ) ] spids: [8170 8192] ) ] spids: [7980] ) spids: [7975 7979] ) (FuncDef name: extract_ar_deb_data body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkg) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [8207] ) ] spids: [8205] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tarball) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ar)} {(-t)} {(DQ ($ VSub_Name '$pkg'))}) (C {(grep)} {(DQ ('^data.tar'))}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [8216 8232] ) } spids: [8215] ) ] spids: [8213] ) (Case to_match: {(DQ ($ VSub_Name '$tarball'))} arms: [ (case_arm pat_list: [{(data.tar.gz)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cat_cmd) op: Equal rhs: {(zcat)} spids: [8248] ) ] spids: [8248] ) ] spids: [8245 8246 8251 16777215] ) (case_arm pat_list: [{(data.tar.bz2)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cat_cmd) op: Equal rhs: {(bzcat)} spids: [8257] ) ] spids: [8257] ) ] spids: [8254 8255 8260 16777215] ) (case_arm pat_list: [{(data.tar.xz)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cat_cmd) op: Equal rhs: {(xzcat)} spids: [8266] ) ] spids: [8266] ) ] spids: [8263 8264 8269 16777215] ) (case_arm pat_list: [{(data.tar)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cat_cmd) op: Equal rhs: {(cat)} spids: [8275] ) ] spids: [8275] ) ] spids: [8272 8273 8278 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(error)} {(1)} {(UNKNOWNDATACOMP)} {(DQ ('Unknown compression type for %s in %s'))} {(DQ ($ VSub_Name '$tarball'))} {(DQ ($ VSub_Name '$pkg'))} ) ] spids: [8281 8282 8302 16777215] ) ] spids: [8236 8242 8305] ) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(type)} {($ VSub_Name '$cat_cmd')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [8315] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [8318] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(ar)} {(-p)} {(DQ ($ VSub_Name '$pkg'))} {(DQ ($ VSub_Name '$tarball'))}) (C {($ VSub_Name '$cat_cmd')}) (C {(tar)} {($ VSub_Name '$EXTRACT_DEB_TAR_OPTIONS')} {(-xf)} {(-)}) ] negated: False ) ] spids: [16777215 8322] ) ] else_action: [ (C {(error)} {(1)} {(UNPACKCMDUNVL)} {(DQ ('Extracting %s requires the %s command, which is not available'))} {(DQ ($ VSub_Name '$pkg'))} {(DQ ($ VSub_Name '$cat_cmd'))} ) ] spids: [8352 8374] ) ] spids: [8202] ) spids: [8197 8201] ) (FuncDef name: valid_extractor body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:extractor) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [8389] ) ] spids: [8387] ) (ForEach iter_name: E iter_words: [{($ VSub_Name '$EXTRACTORS_SUPPORTED')}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$extractor'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$E'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [16777215 8425] ) ] spids: [16777215 8433] ) ] spids: [8405 8436] ) spids: [8401 8403] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [8384] ) spids: [8379 8383] ) (FuncDef name: choose_extractor body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:extractor) op:Equal spids:[8457])] spids: [8455] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extractor) op: Equal rhs: {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} spids: [8477] ) ] spids: [8477] ) ] spids: [16777215 8474] ) (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(type)} {(dpkg-deb)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [8489] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [8492] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extractor) op: Equal rhs: {(DQ (dpkg-deb))} spids: [8499] ) ] spids: [8499] ) ] spids: [8483 8496] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extractor) op: Equal rhs: {(DQ (ar))} spids: [8508] ) ] spids: [8508] ) ] spids: [8505 8514] ) (C {(info)} {(CHOSENEXTRACTOR)} {(DQ ('Chosen extractor for .deb packages: %s'))} {(DQ ($ VSub_Name '$extractor'))} ) (Case to_match: {(DQ ($ VSub_Name '$extractor'))} arms: [ (case_arm pat_list: [{(dpkg-deb)}] action: [ (FuncDef name: extract_deb_field body: (BraceGroup children: [ (Sentence child: (C {(extract_dpkg_deb_field)} {(DQ ($ VSub_At '$@'))}) terminator: <Op_Semi ';'> ) ] spids: [8549] ) spids: [8544 8548] ) (FuncDef name: extract_deb_data body: (BraceGroup children: [ (Sentence child: (C {(extract_dpkg_deb_data)} {(DQ ($ VSub_At '$@'))}) terminator: <Op_Semi ';'> ) ] spids: [8566] ) spids: [8561 8565] ) ] spids: [8540 8541 8578 16777215] ) (case_arm pat_list: [{(ar)}] action: [ (FuncDef name: extract_deb_field body: (BraceGroup children: [ (Sentence child: (C {(extract_ar_deb_field)} {(DQ ($ VSub_At '$@'))}) terminator: <Op_Semi ';'> ) ] spids: [8590] ) spids: [8585 8589] ) (FuncDef name: extract_deb_data body: (BraceGroup children: [ (Sentence child: (C {(extract_ar_deb_data)} {(DQ ($ VSub_At '$@'))}) terminator: <Op_Semi ';'> ) ] spids: [8607] ) spids: [8602 8606] ) ] spids: [8581 8582 8619 16777215] ) ] spids: [8531 8537 8622] ) ] spids: [8452] ) spids: [8447 8451] ) (FuncDef name: extract body: (BraceGroup children: [ (Sentence child: (Subshell child: (CommandList children: [ (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: {(0)} spids: [8646] ) (assign_pair lhs: (LhsName name:cat_cmd) op: Equal spids: [8649] ) ] spids: [8644] ) (ForEach iter_name: pkg iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(debfor)} {(DQ ($ VSub_At '$@'))})] ) left_token: <Left_CommandSub '$('> spids: [8658 8664] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$p')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [8672 8679] ) ) } spids: [8670] ) ] spids: [8670] ) (C {(progress)} {(DQ ($ VSub_Name '$p'))} {(DQ ($ VSub_Pound '$#'))} {(EXTRACTPKGS)} {(DQ ('Extracting packages'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:packagename) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$pkg'))}) (C {(sed)} {(SQ <'s,^.*/,,;s,_.*$,,'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [8702 8716] ) ) } spids: [8700] ) ] spids: [8700] ) (C {(info)} {(EXTRACTING)} {(DQ ('Extracting %s...'))} {(DQ ($ VSub_Name '$packagename'))} ) (C {(extract_deb_data)} {(DQ (./) ($ VSub_Name '$pkg'))}) ] spids: [8667 8741] ) spids: [8657 8665] ) ] ) spids: [8634 8743] ) terminator: <Op_Semi ';'> ) ] spids: [8632] ) spids: [8627 8631] ) (FuncDef name: in_target_nofail body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{($ VSub_Name '$CHROOT_CMD')} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [8767] ) ] ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [(C {(true)})] spids: [16777215 8771] ) ] spids: [16777215 8777] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [8754] ) spids: [8749 8753] ) (FuncDef name: in_target_failmsg body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [8797] ) ] spids: [8795] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [8805] ) ] spids: [8803] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [8813] ) ] spids: [8811] ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(shift)}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {($ VSub_Name '$CHROOT_CMD')} {(DQ ($ VSub_At '$@'))})] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(warning)} {(DQ ($ VSub_Name '$code'))} {(DQ ($ VSub_Name '$msg'))} {(DQ ($ VSub_Name '$arg'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: {(DQ ('See %s for details'))} spids: [8861] ) ] spids: [8861] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} spids: [8884] ) ] spids: [8884] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkg) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(grep)} {(SQ <'^dpkg: error processing '>)} { (DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log) ) } ) (C {(head)} {(-n)} {(1)}) (C {(sed)} { (SQ < 's/\\(error processing \\)\\(package \\|archive \\)/\\1/' > ) } ) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(4)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [8895 8936] ) ) } spids: [8893] ) ] spids: [8891] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$pkg'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: { (DQ ($ VSub_Name '$msg') (' (possibly the package ') ($ VSub_Name '$pkg') (' is at fault)') ) } spids: [8956] ) ] spids: [8956] ) ] spids: [16777215 8953] ) ] spids: [16777215 8965] ) ] spids: [16777215 8881] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {(DQ ('the log'))} spids: [8971] ) ] spids: [8971] ) ] spids: [8968 8977] ) (C {(warning)} {(DQ ($ VSub_Name '$code'))} {(DQ ($ VSub_Name '$msg'))} {(DQ ($ VSub_Name '$arg'))} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 8839] ) ] spids: [16777215 9000] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [8792] ) spids: [8787 8791] ) (FuncDef name: in_target body: (BraceGroup children: [ (C {(in_target_failmsg)} {(IN_TARGET_FAIL)} {(DQ ('Failure trying to run: %s'))} {(DQ ($ VSub_Name '$CHROOT_CMD') (' ') ($ VSub_Star '$*'))} {(DQ ($ VSub_At '$@'))} ) ] spids: [9015] ) spids: [9010 9014] ) (FuncDef name: conditional_cp body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_Number '$2') (/) ($ VSub_Number '$1'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(-L)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Number '$2') (/) ($ VSub_Number '$1'))} spids: [9105] ) ] ) ] spids: [16777215 9096] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(-a)} {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$2') (/) ($ VSub_Number '$1'))} ) ] spids: [9113 9126] ) ] spids: [16777215 9144] ) ] spids: [16777215 9068] ) ] spids: [16777215 9147] ) ] spids: [9048] ) spids: [9043 9047] ) (FuncDef name: mv_invalid_to body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [9162] ) ] spids: [9160] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} { (DQ (BracedVarSub token: <VSub_Name m> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('http:') (Lit_Slash /) (Lit_Slash /)} ) spids: [9174 9180] ) ) } ) (C {(tr)} {(SQ </>)} {(SQ <_>)}) (C {(sed)} {(SQ <'s/_*//'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [9170 9202] ) ) } spids: [9168] ) ] spids: [9168] ) (Subshell child: (CommandList children: [ (C {(cd)} {(DQ ($ VSub_Name '$TARGET') (/) ($ VSub_Name '$APTSTATE') (/lists))}) (ForEach iter_name: a iter_words: [{(debootstrap.invalid_) (Lit_Other '*')}] do_arg_iter: False body: (DoGroup children: [ (C {(mv)} {(DQ ($ VSub_Name '$a'))} { (DQ (${ VSub_Name m) (_) (BracedVarSub token: <VSub_Name a> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*_')}) spids: [9241 9245] ) ) } ) ] spids: [9227 9249] ) spids: [9222 9225] ) ] ) spids: [9206 9252] ) ] spids: [9157] ) spids: [9152 9156] ) (FuncDef name: setup_apt_sources body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$TARGET') (/etc/apt))}) (ForEach iter_name: m iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:cs) op:Equal rhs:{(DQ )} spids:[9291])] spids: [9289] ) (ForEach iter_name: c iter_words: [ { (BracedVarSub token: <VSub_Name COMPONENTS> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$USE_COMPONENTS')} ) spids: [9302 9306] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: { (DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages) ) } spids: [9314] ) ] spids: [9312] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [9332 9356] ) ) } spids: [9328] ) ] spids: [9326] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$pkgdest'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cs) op: Equal rhs: {(DQ ($ VSub_Name '$cs') (' ') ($ VSub_Name '$c'))} spids: [9375] ) ] spids: [9375] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 9373] ) ] spids: [16777215 9383] ) ] spids: [9309 9386] ) spids: [9301 9307] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$cs'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(echo)} { (DQ ('deb ') ($ VSub_Name '$m') (' ') ($ VSub_Name '$SUITE') ($ VSub_Name '$cs') ) } ) terminator: <Op_Semi ';'> ) ] spids: [16777215 9406] ) ] spids: [16777215 9419] ) ] spids: [9286 9422] ) redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/etc/apt/sources.list))} spids: [9424] ) ] spids: [9280 9284] ) ] spids: [9262] ) spids: [9257 9261] ) (FuncDef name: setup_etc body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$TARGET') (/etc))}) (C {(conditional_cp)} {(/etc/resolv.conf)} {(DQ ($ VSub_Name '$TARGET'))}) (C {(conditional_cp)} {(/etc/hostname)} {(DQ ($ VSub_Name '$TARGET'))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$DLDEST'))} {(Lit_Other '=')} {(apt_dest)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_Name '$TARGET') (/etc/apt/sources.list))} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [(C {(setup_apt_sources)} {(DQ ('http://debootstrap.invalid/'))})] spids: [16777215 9502] ) ] spids: [16777215 9512] ) ] spids: [9439] ) spids: [9434 9438] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:UMOUNT_DIRS) op:Equal rhs:{(SQ )} spids:[9517])] spids: [9517] ) (FuncDef name: umount_exit_function body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:realdir) op:Equal spids:[9530])] spids: [9528] ) (ForEach iter_name: dir iter_words: [{($ VSub_Name '$UMOUNT_DIRS')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:realdir) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(in_target_nofail)} {(readlink)} {(-f)} {(DQ ($ VSub_Name '$dir'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [9547 9557] ) ) } spids: [9545] ) ] spids: [9545] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$realdir'))} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Continue continue>) ] op_id: Op_DPipe ) (AndOr children: [ (Subshell child: (CommandList children: [ (Sentence child: (C {(cd)} {(/)}) terminator: <Op_Semi ';'> ) (C {(umount)} { (DQ ($ VSub_Name '$TARGET') (/) (BracedVarSub token: <VSub_Name realdir> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /)} ) spids: [9587 9591] ) ) } ) ] ) spids: [9574 9594] ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [9542 9601] ) spids: [9538 9540] ) ] spids: [9525] ) spids: [9520 9524] ) (FuncDef name: umount_on_exit body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$UMOUNT_DIRS'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UMOUNT_DIRS) op: Equal rhs: {(DQ ($ VSub_Name '$UMOUNT_DIRS') (' ') ($ VSub_Number '$1'))} spids: [9628] ) ] spids: [9628] ) ] spids: [16777215 9625] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UMOUNT_DIRS) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [9639] ) ] spids: [9639] ) (C {(on_exit)} {(umount_exit_function)}) ] spids: [9636 9650] ) ] spids: [9611] ) spids: [9606 9610] ) (FuncDef name: clear_mtab body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$TARGET') (/etc/mtab))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(KW_Bang '!')} {(-h)} {(DQ ($ VSub_Name '$TARGET') (/etc/mtab))} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name '$TARGET') (/etc/mtab))})] spids: [16777215 9692] ) ] spids: [16777215 9705] ) ] spids: [9660] ) spids: [9655 9659] ) (FuncDef name: setup_proc body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$HOST_OS'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (freebsd) (Lit_Other '*')}] action: [ (C {(umount_on_exit)} {(/dev)}) (C {(umount_on_exit)} {(/proc)}) (AndOr children: [ (SimpleCommand words: [{(umount)} {(DQ ($ VSub_Name '$TARGET') (/proc))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [9750] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other '=')} {(kfreebsd)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(in_target)} {(mount)} {(-t)} {(linprocfs)} {(proc)} {(/proc)})] spids: [16777215 9773] ) ] else_action: [ (C {(mount)} {(-t)} {(linprocfs)} {(proc)} {($ VSub_Name '$TARGET') (/proc)}) ] spids: [9789 9804] ) ] spids: [9727 9730 9807 16777215] ) (case_arm pat_list: [{(hurd) (Lit_Other '*')}] action: [ (C {(settrans)} {(-a)} {(DQ ($ VSub_Name '$TARGET') (/dev))} {(/hurd/firmlink)} {(/dev)} ) (C {(settrans)} {(-a)} {(DQ ($ VSub_Name '$TARGET') (/servers))} {(/hurd/firmlink)} {(/servers)} ) (C {(settrans)} {(-a)} {(DQ ($ VSub_Name '$TARGET') (/proc))} {(/hurd/firmlink)} {(/proc)} ) ] spids: [9810 9812 9861 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(umount_on_exit)} {(/dev/pts)}) (C {(umount_on_exit)} {(/dev/shm)}) (C {(umount_on_exit)} {(/proc/bus/usb)}) (C {(umount_on_exit)} {(/proc)}) (AndOr children: [ (SimpleCommand words: [{(umount)} {(DQ ($ VSub_Name '$TARGET') (/proc))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [9895] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) (C {(in_target)} {(mount)} {(-t)} {(proc)} {(proc)} {(/proc)}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_Name '$TARGET') (/sys))} {(Lit_Other ']')} ) (SimpleCommand words: [ {(grep)} {(-q)} {(SQ <'[[:space:]]sysfs'>)} {(/proc/filesystems)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [9943] ) ] ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (C {(umount_on_exit)} {(/sys)}) (AndOr children: [ (SimpleCommand words: [{(umount)} {(DQ ($ VSub_Name '$TARGET') (/sys))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [9962] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) (C {(in_target)} {(mount)} {(-t)} {(sysfs)} {(sysfs)} {(/sys)}) ] spids: [16777215 9947] ) ] spids: [16777215 9983] ) (C {(on_exit)} {(clear_mtab)}) ] spids: [9864 9865 9991 16777215] ) ] spids: [9718 9724 9994] ) (C {(umount_on_exit)} {(/lib/init/rw)}) ] spids: [9715] ) spids: [9710 9714] ) (FuncDef name: setup_proc_fakechroot body: (BraceGroup children: [ (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET') (/proc))}) (C {(ln)} {(-s)} {(/proc)} {(DQ ($ VSub_Name '$TARGET'))}) ] spids: [10009] ) spids: [10004 10008] ) (FuncDef name: setup_devices body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(doing_variant)} {(fakechroot)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(setup_devices_fakechroot)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 10053] ) ] spids: [16777215 10064] ) (Case to_match: {(DQ ($ VSub_Name '$HOST_OS'))} arms: [ (case_arm pat_list: [{(kfreebsd) (Lit_Other '*')}] spids: [10077 10079 10082 16777215] ) (case_arm pat_list:[{(freebsd)}] spids:[10085 10086 10089 16777215]) (case_arm pat_list: [{(hurd) (Lit_Other '*')}] spids: [10092 10094 10097 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(setup_devices_simple)})] spids: [10100 10101 10107 16777215] ) ] spids: [10068 10074 10110] ) ] spids: [10043] ) spids: [10038 10042] ) (FuncDef name: setup_dynamic_devices body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(doing_variant)} {(fakechroot)}) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [16777215 10133] ) ] spids: [16777215 10141] ) (Case to_match: {(DQ ($ VSub_Name '$HOST_OS'))} arms: [ (case_arm pat_list: [{(kfreebsd) (Lit_Other '*')}] action: [(C {(in_target)} {(mount)} {(-t)} {(devfs)} {(devfs)} {(/dev)})] spids: [10154 10156 10171 16777215] ) (case_arm pat_list: [{(freebsd)}] action: [(C {(mount)} {(-t)} {(devfs)} {(devfs)} {($ VSub_Name '$TARGET') (/dev)})] spids: [10174 10175 10189 16777215] ) (case_arm pat_list: [{(hurd) (Lit_Other '*')}] action: [(C {(in_target)} {(/usr/lib/hurd/setup-translators)} {(-k)})] spids: [10192 10194 10207 16777215] ) ] spids: [10145 10151 10210] ) ] spids: [10123] ) spids: [10118 10122] ) (FuncDef name: setup_devices_simple body: (BraceGroup children: [ (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$TARGET') (/dev/null)} {(c)} {(1)} {(3)}) (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$TARGET') (/dev/zero)} {(c)} {(1)} {(5)}) (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$TARGET') (/dev/full)} {(c)} {(1)} {(7)}) (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$TARGET') (/dev/random)} {(c)} {(1)} {(8)}) (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$TARGET') (/dev/urandom)} {(c)} {(1)} {(9)}) (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$TARGET') (/dev/tty)} {(c)} {(5)} {(0)}) (C {(mkdir)} {($ VSub_Name '$TARGET') (/dev/pts/)} {($ VSub_Name '$TARGET') (/dev/shm/)}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$TARGET') (/dev/ptmx)} {(c)} {(5)} {(2)} ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(warning)} {(MKNOD)} { (DQ ( 'Could not create /dev/ptmx, falling back to symlink. This chroot will require /dev/pts mounted with ptmxmode=666' ) ) } ) (C {(ln)} {(-s)} {(pts/ptmx)} {($ VSub_Name '$TARGET') (/dev/ptmx)}) ] spids: [16777215 10364] ) ] spids: [16777215 10386] ) (C {(ln)} {(-s)} {(/proc/self/fd)} {($ VSub_Name '$TARGET') (/dev/fd)}) (C {(ln)} {(-s)} {(/proc/self/fd/0)} {($ VSub_Name '$TARGET') (/dev/stdin)}) (C {(ln)} {(-s)} {(/proc/self/fd/1)} {($ VSub_Name '$TARGET') (/dev/stdout)}) (C {(ln)} {(-s)} {(/proc/self/fd/2)} {($ VSub_Name '$TARGET') (/dev/stderr)}) ] spids: [10220] ) spids: [10215 10219] ) (FuncDef name: setup_devices_fakechroot body: (BraceGroup children: [ (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET') (/dev))}) (C {(ln)} {(-s)} {(/dev)} {(DQ ($ VSub_Name '$TARGET'))}) ] spids: [10436] ) spids: [10431 10435] ) (FuncDef name: setup_dselect_method body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(apt)}] action: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$TARGET') (/var/lib/dpkg))}) (SimpleCommand words: [{(echo)} {(DQ ('apt apt'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/var/lib/dpkg/cmethopt))} spids: [10499] ) ] ) (C {(chmod)} {(644)} {(DQ ($ VSub_Name '$TARGET') (/var/lib/dpkg/cmethopt))}) ] spids: [10479 10480 10517 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(error)} {(1)} {(UNKNOWNDSELECT)} {(DQ ('unknown dselect method'))})] spids: [10520 10521 10535 16777215] ) ] spids: [10470 10476 10538] ) ] spids: [10467] ) spids: [10462 10466] ) (FuncDef name: setup_merged_usr body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$MERGED_USR'))} {(Lit_Other '=')} {(DQ (no))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 10591] ) ] spids: [16777215 10598] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:link_dir) op:Equal spids:[10604])] spids: [10602] ) (Case to_match: {($ VSub_Name '$ARCH')} arms: [ (case_arm pat_list: [{(hurd-) (Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [10614 10616 10622 16777215] ) (case_arm pat_list: [{(amd64)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ ('lib32 lib64 libx32'))} spids: [10628] ) ] spids: [10628] ) ] spids: [10625 10626 10633 16777215] ) (case_arm pat_list: [{(i386)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ ('lib64 libx32'))} spids: [10639] ) ] spids: [10639] ) ] spids: [10636 10637 10644 16777215] ) (case_arm pat_list: [{(mips)} {(mipsel)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ ('lib32 lib64'))} spids: [10653] ) ] spids: [10653] ) ] spids: [10647 10650 10658 16777215] ) (case_arm pat_list: [{(mips64) (Lit_Other '*')} {(mipsn32) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ ('lib32 lib64 libo32'))} spids: [10669] ) ] spids: [10669] ) ] spids: [10661 10666 10674 16777215] ) (case_arm pat_list: [{(powerpc)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ (lib64))} spids: [10680] ) ] spids: [10680] ) ] spids: [10677 10678 10685 16777215] ) (case_arm pat_list: [{(ppc64)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ ('lib32 lib64'))} spids: [10691] ) ] spids: [10691] ) ] spids: [10688 10689 10696 16777215] ) (case_arm pat_list: [{(ppc64el)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ (lib64))} spids: [10702] ) ] spids: [10702] ) ] spids: [10699 10700 10707 16777215] ) (case_arm pat_list: [{(s390x)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ (lib32))} spids: [10713] ) ] spids: [10713] ) ] spids: [10710 10711 10718 16777215] ) (case_arm pat_list: [{(sparc)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ (lib64))} spids: [10724] ) ] spids: [10724] ) ] spids: [10721 10722 10729 16777215] ) (case_arm pat_list: [{(sparc64)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ ('lib32 lib64'))} spids: [10735] ) ] spids: [10735] ) ] spids: [10732 10733 10740 16777215] ) (case_arm pat_list: [{(x32)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ ('lib32 lib64 libx32'))} spids: [10746] ) ] spids: [10746] ) ] spids: [10743 10744 10751 16777215] ) ] spids: [10607 10611 10754] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ ('bin sbin lib ') ($ VSub_Name '$link_dir'))} spids: [10757] ) ] spids: [10757] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal spids:[10767])] spids: [10765] ) (ForEach iter_name: dir iter_words: [{($ VSub_Name '$link_dir')}] do_arg_iter: False body: (DoGroup children: [ (C {(ln)} {(-s)} {(usr/) ($ VSub_Name '$dir')} {($ VSub_Name '$TARGET') (/) ($ VSub_Name '$dir')} ) (C {(mkdir)} {(-p)} {($ VSub_Name '$TARGET') (/usr/) ($ VSub_Name '$dir')}) ] spids: [10779 10803] ) spids: [10775 10777] ) ] spids: [10571] ) spids: [10567 10570] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(in_path)} {(perl)}) terminator:<Op_Semi ';'>)] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGDETAILS) op: Equal rhs: {(pkgdetails_perl)} spids: [10832] ) ] spids: [10832] ) (FuncDef name: pkgdetails_field body: (BraceGroup children: [ (C {(perl)} {(-le)} { (SQ <'\n'> < '$unique = shift @ARGV; $field = lc(shift @ARGV); $mirror = shift @ARGV;\n' > <'%fields = map { $_, 0 } @ARGV;\n'> <'$prevpkg = "";\n'> <'while (<STDIN>) {\n'> <'\tchomp;\n'> <'\tnext if (/^ /);\n'> <'\tif (/^([^:]*:)\\s*(.*)$/) {\n'> <'\t\t$f = lc($1); $v = $2;\n'> <'\t\tif ($f eq "package:") {\n'> <'\t\t\t$last = 0;\n'> <'\t\t\t$pkg = $v;\n'> <'\t\t\tif ($pkg ne $prevpkg) {\n'> <'\t\t\t\tprint $output if defined $output;\n'> <'\t\t\t\tif ($unique && defined $output_val) {\n'> <'\t\t\t\t\tdelete $fields{$output_val};\n'> <'\t\t\t\t\t$last = 1 unless keys %fields;\n'> <'\t\t\t\t}\n'> <'\t\t\t\t$prevpkg = $pkg;\n'> <'\t\t\t}\n'> <'\t\t\tundef $output;\n'> <'\t\t\tundef $output_val;\n'> <'\t\t\tlast if $last;\n'> <'\t\t}\n'> <'\t\t$ver = $v if ($f eq "version:");\n'> <'\t\t$arc = $v if ($f eq "architecture:");\n'> <'\t\t$fil = $v if ($f eq "filename:");\n'> < '\t\t$chk = $v if (lc $f eq lc($ENV{DEBOOTSTRAP_CHECKSUM_FIELD}).":");\n' > <'\t\t$siz = $v if ($f eq "size:");\n'> <'\t\t$val = $v if ($f eq $field);\n'> <'\t} elsif (/^$/) {\n'> <'\t\tif (defined $val && defined $fields{$val}) {\n'> <'\t\t\t$output = sprintf "%s %s %s %s %s %s %s",\n'> <'\t\t\t $pkg, $ver, $arc, $mirror, $fil, $chk, $siz;\n'> <'\t\t\t$output_val = $val;\n'> <'\t\t}\n'> <'\t\tundef $val;\n'> <'\t}\n'> <'}\n'> <'print $output if defined $output;\n'> <'delete $fields{$output_val} if $unique && defined $output_val;\n'> <'for $v (keys %fields) {\n'> <'\tprintf ("%s -\\n", $v) if ($unique);\n'> <'}\n'> ) } {(DQ ($ VSub_At '$@'))} ) ] spids: [10842] ) spids: [10837 10841] ) (FuncDef name: pkgdetails_perl body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ ('WGET%'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(shift)}) terminator: <Op_Semi ';'> ) (C {(perl)} {(-e)} { (SQ <'\n'> <'$v = 0;\n'> <'$allow_percentage = 0;\n'> <'while (read STDIN, $x, 1) {\n'> <'\tif ($x =~ m/\\s/) {\n'> <'\t\t$allow_percentage = 1;\n'> <'\t} elsif ($allow_percentage and $x =~ m/\\d/) {\n'> <'\t\t$v *= 10;\n'> <'\t\t$v += $x;\n'> <'\t} elsif ($allow_percentage and $x eq "%") {\n'> < '\t\tprintf "P: %d %d%s\\n", int($v / 100.0 * ($ARGV[1] - $ARGV[0]) + $ARGV[0]), $ARGV[2], ($#ARGV == 3 ? " $ARGV[3]" : "");\n' > <'\t\t$v = 0;\n'> <'\t} else {\n'> <'\t\t$v = 0;\n'> <'\t\t$allow_percentage = 0;\n'> <'\t}\n'> <'}'> ) } {(DQ ($ VSub_At '$@'))} ) ] spids: [16777215 10934] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (GETDEPS))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [10992] ) ] spids: [10990] ) terminator: <Op_Semi ';'> ) (Sentence child: (C {(shift)}) terminator: <Op_Semi ';'> ) (C {(shift)}) (Pipeline children: [ (SimpleCommand words: [ {(perl)} {(-e)} { (SQ <'\n'> <'$prevpkg = "";\n'> <'@d = ();\n'> <'while (<STDIN>) {\n'> <'\tchomp;\n'> <'\tif (/^Package: (.*)$/) {\n'> <'\t\t$pkg = $1;\n'> <'\t\tif ($pkg ne $prevpkg) {\n'> <'\t\t\tfor my $d (@d) {\n'> <'\t\t\t\tprint "$d\\n";\n'> <'\t\t\t}\n'> <'\t\t}\n'> <'\t\t$prevpkg = $1;\n'> <'\t\t@d = ();\n'> <'\t}\n'> <'\t$in = 1 if (grep {$_ eq $pkg} @ARGV);\n'> <'\t$in = 0 if (/^$/);\n'> < '\tif ($in and (/^Depends: (.*)$/ or /^Pre-Depends: (.*)$/)) {\n' > <'\t\tfor $d (split /\\s*,\\s*/, $1) {\n'> <'\t\t\t$d =~ s/\\s*[|].*$//;\n'> <'\t\t\t$d =~ s/\\s*[(].*[)]\\s*//;\n'> <'\t\t\t$d =~ s/:.*//;\n'> <'\t\t\tpush @d, $d;\n'> <'\t\t}\n'> <'\t}\n'> <'}\n'> <'for my $d (@d) {\n'> <'\tprint "$d\\n";\n'> <'}'> ) } {(DQ ($ VSub_At '$@'))} ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$pkgdest'))} spids: [11040] ) ] ) (C {(sort)}) (C {(uniq)}) ] negated: False ) ] spids: [10970 10987] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (PKGS))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [11080] ) ] spids: [11078] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [11088] ) ] spids: [11086] ) (Sentence child: (C {(shift)}) terminator: <Op_Semi ';'> ) (Sentence child: (C {(shift)}) terminator: <Op_Semi ';'> ) (C {(shift)}) (SimpleCommand words: [ {(pkgdetails_field)} {(1)} {(Package) (Lit_Other ':')} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_At '$@'))} ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$p'))} spids: [11118] ) ] ) ] spids: [11058 11075] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (FIELD))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [11147] ) ] spids: [11145] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [11155] ) ] spids: [11153] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [11163] ) ] spids: [11161] ) (Sentence child: (C {(shift)}) terminator: <Op_Semi ';'> ) (Sentence child: (C {(shift)}) terminator: <Op_Semi ';'> ) (Sentence child: (C {(shift)}) terminator: <Op_Semi ';'> ) (C {(shift)}) (SimpleCommand words: [ {(pkgdetails_field)} {(0)} {(DQ ($ VSub_Name '$f'))} {(DQ ($ VSub_Name '$m'))} {(DQ ($ VSub_At '$@'))} ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$p'))} spids: [11197] ) ] ) ] spids: [11125 11142] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (STANZAS))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [11226] ) ] spids: [11224] ) terminator: <Op_Semi ';'> ) (Sentence child: (C {(shift)}) terminator: <Op_Semi ';'> ) (C {(shift)}) (SimpleCommand words: [ {(perl)} {(-e)} { (SQ <'\n'> <'my $accum = "";\n'> <'while (<STDIN>) {\n'> <'\t$accum .= $_;\n'> <'\t$in = 1 if (/^Package: (.*)$/ && grep {$_ eq $1} @ARGV);\n'> <'\tif ($in and /^$/) {\n'> <'\t\tprint $accum;\n'> <'\t\tif (substr($accum, -1) != "\\n") {\n'> <'\t\t\tprint "\\n\\n";\n'> <'\t\t} elsif (substr($accum, -2, 1) != "\\n") {\n'> <'\t\t\tprint "\\n";\n'> <'\t\t}\n'> <'\t\t$in = 0;\n'> <'\t}\n'> <'\t$accum = "" if /^$/;\n'> <'}'> ) } {(DQ ($ VSub_At '$@'))} ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$pkgdest'))} spids: [11261] ) ] ) ] spids: [11204 11221] ) ] spids: [16777215 11271] ) ] spids: [10914] ) spids: [10909 10913] ) ] spids: [16777215 10829] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ (/usr/lib/debootstrap/pkgdetails))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGDETAILS) op: Equal rhs: {(DQ (/usr/lib/debootstrap/pkgdetails))} spids: [11292] ) ] spids: [11292] ) ] spids: [11276 11289] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR') (/pkgdetails))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGDETAILS) op: Equal rhs: {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR') (/pkgdetails))} spids: [11314] ) ] spids: [11314] ) ] spids: [11297 11311] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PKGDETAILS) op:Equal rhs:{(DQ )} spids:[11323])] spids: [11323] ) ] spids: [11320 11327] ) (FuncDef name: resolve_deps body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m1) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [11346 11350] ) ) } spids: [11344] ) ] spids: [11342] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:PKGS) op: Equal rhs: {(DQ ($ VSub_Star '$*'))} spids: [11357] ) ] spids: [11355] ) (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ALLPKGS) op: Equal rhs: {(DQ ($ VSub_Name '$PKGS'))} spids: [11365] ) ] spids: [11363] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ALLPKGS2) op: Equal rhs: {(DQ )} spids: [11374] ) ] spids: [11372] ) terminator: <Op_Semi ';'> ) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PKGS'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:NEWPKGS) op: Equal rhs: {(DQ )} spids: [11402] ) ] spids: [11400] ) (ForEach iter_name: c iter_words: [ { (BracedVarSub token: <VSub_Name COMPONENTS> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$USE_COMPONENTS')} ) spids: [11413 11417] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: { (DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages) ) } spids: [11425] ) ] spids: [11423] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m1'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [11443 11467] ) ) } spids: [11439] ) ] spids: [11437] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NEWPKGS) op: Equal rhs: { (DQ ($ VSub_Name '$NEWPKGS') (' ') (CommandSubPart command_list: (CommandList children: [ (C {(DQ ($ VSub_Name '$PKGDETAILS'))} {(GETDEPS)} {(DQ ($ VSub_Name '$pkgdest'))} {($ VSub_Name '$PKGS')} ) ] ) left_token: <Left_CommandSub '$('> spids: [11475 11487] ) ) } spids: [11471] ) ] spids: [11471] ) ] spids: [11420 11491] ) spids: [11412 11418] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGS) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} { (DQ ($ VSub_Name '$PKGS') (' ') ($ VSub_Name '$NEWPKGS')) } ) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) (C {(uniq)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [11495 11523] ) } spids: [11494] ) ] spids: [11494] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:REALPKGS) op: Equal rhs: {(DQ )} spids: [11528] ) ] spids: [11526] ) (ForEach iter_name: c iter_words: [ { (BracedVarSub token: <VSub_Name COMPONENTS> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$USE_COMPONENTS')} ) spids: [11539 11543] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: { (DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages) ) } spids: [11551] ) ] spids: [11549] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m1'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [11569 11593] ) ) } spids: [11565] ) ] spids: [11563] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REALPKGS) op: Equal rhs: { (DQ ($ VSub_Name '$REALPKGS') (' ') (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(DQ ($ VSub_Name '$PKGDETAILS'))} {(PKGS)} {(REAL)} {(DQ ($ VSub_Name '$pkgdest'))} {($ VSub_Name '$PKGS')} ) (C {(sed)} {(-n)} {(SQ <'s/ .*REAL.*$//p'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [11601 11625] ) ) } spids: [11597] ) ] spids: [11597] ) ] spids: [11546 11629] ) spids: [11538 11544] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGS) op: Equal rhs: {(DQ ($ VSub_Name '$REALPKGS'))} spids: [11632] ) ] spids: [11632] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ALLPKGS2) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} { (DQ ($ VSub_Name '$PKGS') (' ') ($ VSub_Name '$ALLPKGS')) } ) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) (C {(uniq)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [11639 11667] ) } spids: [11638] ) ] spids: [11638] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGS) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$ALLPKGS2'))} {(DQ ($ VSub_Name '$ALLPKGS'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [11671 11681] ) } spids: [11670] ) ] spids: [11670] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ALLPKGS) op: Equal rhs: {(DQ ($ VSub_Name '$ALLPKGS2'))} spids: [11684] ) ] spids: [11684] ) ] spids: [11397 11690] ) ) (C {(echo)} {($ VSub_Name '$ALLPKGS')}) ] spids: [11339] ) spids: [11334 11338] ) (FuncDef name: setup_available body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m1) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [11712 11716] ) ) } spids: [11710] ) ] spids: [11708] ) (ForEach iter_name: c iter_words: [ { (BracedVarSub token: <VSub_Name COMPONENTS> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$USE_COMPONENTS')} ) spids: [11727 11731] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: { (DQ (dists/) ($ VSub_Name '$SUITE') (/) ($ VSub_Name '$c') (/binary-) ($ VSub_Name '$ARCH') (/Packages) ) } spids: [11739] ) ] spids: [11737] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: { (DQ ($ VSub_Name '$TARGET') (/) (CommandSubPart command_list: (CommandList children: [ (C {($ VSub_Name '$DLDEST')} {(pkg)} {(DQ ($ VSub_Name '$SUITE'))} {(DQ ($ VSub_Name '$c'))} {(DQ ($ VSub_Name '$ARCH'))} {(DQ ($ VSub_Name '$m1'))} {(DQ ($ VSub_Name '$path'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [11757 11781] ) ) } spids: [11753] ) ] spids: [11751] ) (C {(DQ ($ VSub_Name '$PKGDETAILS'))} {(STANZAS)} {(DQ ($ VSub_Name '$pkgdest'))} {(DQ ($ VSub_At '$@'))} ) ] spids: [11734 11808] ) redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/var/lib/dpkg/available))} spids: [11810] ) ] spids: [11726 11732] ) (Pipeline children: [ (ForEach iter_name: pkg do_arg_iter: True body: (DoGroup children: [(C {(echo)} {(DQ ($ VSub_Name '$pkg') (' install'))})] spids: [11823 11834] ) spids: [16777215 16777215] ) (C {(in_target)} {(dpkg)} {(--set-selections)}) ] negated: False ) ] spids: [11705] ) spids: [11700 11704] ) (FuncDef name: get_next_predep body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:stanza) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(in_target_nofail)} {(dpkg)} {(--predep-package)})] ) left_token: <Left_CommandSub '$('> spids: [11859 11865] ) ) } spids: [11857] ) ] spids: [11855] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stanza'))} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] op_id: Op_DPipe ) (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$stanza'))}) (C {(grep)} {(SQ <'^Package:'>)}) (C {(sed)} {(SQ <'s/^Package://; s/^ *//'>)}) ] negated: False ) ] spids: [11852] ) spids: [11847 11851] ) (FuncDef name: check_sane_mount body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Number '$1'))}) (Case to_match: {(DQ ($ VSub_Name '$HOST_OS'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (freebsd) (Lit_Other '*')} {(hurd) (Lit_Other '*')}] spids: [11949 11955 11958 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr children: [ (C {(mknod)} {(DQ ($ VSub_Number '$1') (/test-dev-null))} {(c)} {(1)} {(3)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(echo)} {(test)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1') (/test-dev-null))} spids: [11993] ) ] ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Number '$1') (/test-dev-null))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 12001] ) ] spids: [16777215 12019] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Number '$1') (/test-dev-null))}) ] spids: [11961 11962 12032 16777215] ) ] spids: [11940 11946 12035] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SH) op:Equal rhs:{(/bin/sh)} spids:[12039])] spids: [12039] ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} {($ VSub_Name '$SH')} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(which)} {(sh)})]) left_token: <Left_Backtick '`'> spids: [12054 12058] ) } spids: [12053] ) ] spids: [12053] ) ] op_id: Op_DPipe ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1') (/test-exec))} spids: [12064] ) (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ ('#! ') ($ VSub_Name '$SH') ('\n') (':\n'))} do_expansion: True here_end: EOF was_filled: True spids: [12071] ) ] ) (C {(chmod)} {(Lit_Other '+') (x)} {(DQ ($ VSub_Number '$1') (/test-exec))}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(DQ ($ VSub_Number '$1') (/test-exec))})] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Number '$1') (/test-exec))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 12101] ) ] spids: [16777215 12119] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Number '$1') (/test-exec))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [11927] ) spids: [11922 11926] ) (FuncDef name: read_gpg_status body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:badsig) op:Equal rhs:{(SQ )} spids:[12148])] spids: [12148] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:unkkey) op:Equal rhs:{(SQ )} spids:[12151])] spids: [12151] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:validsig) op:Equal rhs:{(SQ )} spids:[12154])] spids: [12154] ) (While cond: [ (Sentence child: (C {(read)} {(prefix)} {(keyword)} {(keyid)} {(rest)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$prefix'))} {(Lit_Other '=')} {(SQ <'[GNUPG:]'>)} {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Continue continue>) ] op_id: Op_DPipe ) (Case to_match: {($ VSub_Name '$keyword')} arms: [ (case_arm pat_list: [{(BADSIG)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:badsig) op: Equal rhs: {(DQ ($ VSub_Name '$keyid'))} spids: [12202] ) ] spids: [12202] ) ] spids: [12199 12200 12207 16777215] ) (case_arm pat_list: [{(NO_PUBKEY)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:unkkey) op: Equal rhs: {(DQ ($ VSub_Name '$keyid'))} spids: [12213] ) ] spids: [12213] ) ] spids: [12210 12211 12218 16777215] ) (case_arm pat_list: [{(VALIDSIG)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:validsig) op: Equal rhs: {(DQ ($ VSub_Name '$keyid'))} spids: [12224] ) ] spids: [12224] ) ] spids: [12221 12222 12229 16777215] ) ] spids: [12192 12196 12232] ) ] spids: [12170 12235] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$validsig'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(info)} {(VALIDRELSIG)} {(DQ ('Valid Release signature (key id %s)'))} {(DQ ($ VSub_Name '$validsig'))} ) ] spids: [16777215 12249] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$badsig'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(BADRELSIG)} {(DQ ('Invalid Release signature (key id %s)'))} {(DQ ($ VSub_Name '$badsig'))} ) ] spids: [12265 12276] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$unkkey'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(UNKNOWNRELSIG)} {(DQ ('Release signed by unknown key (key id %s)'))} {(DQ ($ VSub_Name '$unkkey'))} ) ] spids: [12294 12305] ) ] else_action: [ (C {(error)} {(1)} {(SIGCHECK)} {(DQ ('Error executing gpgv to check Release signature'))}) ] spids: [12323 12337] ) ] spids: [12145] ) spids: [12140 12144] ) (FuncDef name: without body: (BraceGroup children: [ (Pipeline children: [ (Subshell child: (CommandList children: [ (Sentence child: (Pipeline children: [ (C {(echo)} {($ VSub_Number '$1')}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) (C {(uniq)}) ] negated: False ) terminator: <Op_Semi ';'> ) (Pipeline children: [ (C {(echo)} {($ VSub_Number '$2')} {($ VSub_Number '$2')}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) ] negated: False ) ] ) spids: [12354 12398] ) (C {(sort)}) (C {(uniq)} {(-u)}) (C {(tr)} {(SQ <'\\n'>)} {(SQ <' '>)}) ] negated: False ) (C {(echo)}) ] spids: [12347] ) spids: [12342 12346] ) (FuncDef name: repeatn body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [12441] ) ] spids: [12439] ) (C {(shift)}) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$n'))} {(-gt)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(DQ ($ VSub_At '$@'))}) terminator:<Op_Semi ';'>)] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [16777215 12475] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name '$n')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [12486 12495] ) ) } spids: [12484] ) ] spids: [12484] ) (C {(sleep)} {(1)}) ] spids: [12481 12504] ) ] spids: [12465 12507] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$n'))} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 12525] ) ] spids: [16777215 12532] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [12436] ) spids: [12431 12435] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:N_EXIT_THINGS) op:Equal rhs:{(0)} spids:[12542])] spids: [12542] ) (FuncDef name: exit_function body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:n) op:Equal rhs:{(0)} spids:[12555])] spids: [12553] ) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$n'))} {(-lt)} {(DQ ($ VSub_Name '$N_EXIT_THINGS'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Subshell child: (AndOr children: [ (SimpleCommand words: [ {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(eval)} {(echo)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') (EXIT_THING_) ($ VSub_Name '$n') (Lit_RBrace '}') } ) ] ) left_token: <Left_CommandSub '$('> spids: [12582 12592] ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [12594] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) spids: [12579 12600] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$n')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [12605 12614] ) ) } spids: [12603] ) ] spids: [12603] ) ] spids: [12576 12618] ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:N_EXIT_THINGS) op:Equal rhs:{(0)} spids:[12621])] spids: [12621] ) ] spids: [12550] ) spids: [12545 12549] ) (C {(trap)} {(DQ (exit_function))} {(0)}) (C {(trap)} {(DQ ('exit 129'))} {(1)}) (C {(trap)} { (DQ ('error 130 INTERRUPTED ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('Interrupt caught ... exiting') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } {(2)} ) (C {(trap)} {(DQ ('exit 131'))} {(3)}) (C {(trap)} {(DQ ('exit 143'))} {(15)}) (FuncDef name: on_exit body: (BraceGroup children: [ (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(echo)} {(EXIT_THING_) (${ VSub_Name N_EXIT_THINGS) (Lit_Other '=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ($ VSub_Number '$1') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) } ) ] ) left_token: <Left_Backtick '`'> spids: [12681 12692] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:N_EXIT_THINGS) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$N_EXIT_THINGS')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [12697 12706] ) ) } spids: [12695] ) ] spids: [12695] ) ] spids: [12676] ) spids: [12671 12675] ) (FuncDef name: install_fakechroot_tools body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other '=')} {(DQ (fakechroot))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(export)} {(Lit_VarLike 'PATH=') (/usr/sbin) (Lit_Other ':') (/sbin) (Lit_Other ':') ($ VSub_Name '$PATH') } ) ] spids: [16777215 12741] ) ] spids: [16777215 12754] ) (C {(mv)} {(DQ ($ VSub_Name '$TARGET') (/sbin/ldconfig))} {(DQ ($ VSub_Name '$TARGET') (/sbin/ldconfig.REAL))} ) (SimpleCommand words: [ {(echo)} { (DQ ('#!/bin/sh\n') ('echo\n') ('echo ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('Warning: Fake ldconfig called, doing nothing') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/sbin/ldconfig))} spids: [12783] ) ] ) (C {(chmod)} {(755)} {(DQ ($ VSub_Name '$TARGET') (/sbin/ldconfig))}) (SimpleCommand words: [{(echo)} {(DQ ('/sbin/ldconfig\n') ('/sbin/ldconfig.REAL\n') (fakechroot))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/var/lib/dpkg/diversions))} spids: [12811] ) ] ) (C {(mv)} {(DQ ($ VSub_Name '$TARGET') (/usr/bin/ldd))} {(DQ ($ VSub_Name '$TARGET') (/usr/bin/ldd.REAL))} ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('#!/usr/bin/perl\n') ('\n') ('# fakeldd\n') ('#\n') ('# Replacement for ldd with usage of objdump\n') ('#\n') ('# (c) 2003-2005 Piotr Roszatycki <dexter@debian.org>, BSD\n') ('\n') ('\n') ('my %libs = ();\n') ('\n') ('my $status = 0;\n') ('my $dynamic = 0;\n') ('my $biarch = 0;\n') ('\n') ('my $ldlinuxsodir = "/lib";\n') ('my @ld_library_path = qw(/usr/lib /lib);\n') ('\n') ('\n') ('sub ldso($) {\n') ('\tmy ($lib) = @_;\n') ('\tmy @files = ();\n') ('\n') ('\tif ($lib =~ /^\\//) {\n') ('\t $libs{$lib} = $lib;\n') ('\t push @files, $lib;\n') ('\t} else {\n') ('\t foreach my $ld_path (@ld_library_path) {\n') ('\t\tnext unless -f "$ld_path/$lib";\n') ('\t\tmy $badformat = 0;\n') ('\t\topen OBJDUMP, "objdump -p $ld_path/$lib 2>/dev/null |";\n') ('\t \twhile (my $line = <OBJDUMP>) {\n') ('\t\t if ($line =~ /file format (\\S*)$/) {\n') ('\t\t\t\t$badformat = 1 unless $format eq $1;\n') ('\t\t\t\tlast;\n') ('\t\t }\n') ('\t\t}\n') ('\t\tclose OBJDUMP;\n') ('\t\tnext if $badformat;\n') ('\t\t$libs{$lib} = "$ld_path/$lib";\n') ('\t\tpush @files, "$ld_path/$lib";\n') ('\t }\n') ('\t objdump(@files);\n') ('\t}\n') ('}\n') ('\n') ('\n') ('sub objdump(@) {\n') ('\tmy (@files) = @_;\n') ('\tmy @libs = ();\n') ('\n') ('\tforeach my $file (@files) {\n') ('\t open OBJDUMP, "objdump -p $file 2>/dev/null |";\n') ('\t while (my $line = <OBJDUMP>) {\n') ('\t\t$line =~ s/^\\s+//;\n') ('\t\tmy @f = split (/\\s+/, $line);\n') ('\t\tif ($line =~ /file format (\\S*)$/) {\n') ('\t\t if (not $format) {\n') ('\t\t\t$format = $1;\n') ('\t\t\tif ($unamearch eq "x86_64" and $format eq "elf32-i386") {\n') ('\t\t\t my $link = readlink "/lib/ld-linux.so.2";\n') ('\t\t\t if ($link =~ /^\\/emul\\/ia32-linux\\//) {\n') ('\t\t\t\t$ld_library_path[-2] = "/emul/ia32-linux/usr/lib";\n') ('\t\t\t\t$ld_library_path[-1] = "/emul/ia32-linux/lib";\n') ('\t\t\t }\n') ( '\t\t\t} elsif ($unamearch =~ /^(sparc|sparc64)$/ and $format eq "elf64-sparc") {\n' ) ('\t\t\t $ldlinuxsodir = "/lib64";\n') ('\t\t\t $ld_library_path[-2] = "/usr/lib64";\n') ('\t\t\t $ld_library_path[-1] = "/lib64";\n') ('\t\t\t}\n') ('\t\t } else {\n') ('\t\t\tnext unless $format eq $1;\n') ('\t\t }\n') ('\t\t}\n') ('\t\tif (not $dynamic and $f[0] eq "Dynamic") {\n') ('\t\t $dynamic = 1;\n') ('\t\t}\n') ('\t\tnext unless $f[0] eq "NEEDED";\n') ('\t\tif ($f[1] =~ /^ld-linux(\\.|-)/) {\n') ('\t\t $f[1] = "$ldlinuxsodir/" . $f[1];\n') ('\t\t}\n') ('\t\tif (not defined $libs{$f[1]}) {\n') ('\t\t $libs{$f[1]} = undef;\n') ('\t\t push @libs, $f[1];\n') ('\t\t}\n') ('\t }\n') ('\t close OBJDUMP;\n') ('\t}\n') ('\n') ('\tforeach my $lib (@libs) {\n') ('\t ldso($lib);\n') ('\t}\n') ('}\n') ('\n') ('\n') ('if ($#ARGV < 0) {\n') ('\tprint STDERR "fakeldd: missing file arguments\\n";\n') ('\texit 1;\n') ('}\n') ('\n') ('while ($ARGV[0] =~ /^-/) {\n') ('\tmy $arg = $ARGV[0];\n') ('\tshift @ARGV;\n') ('\tlast if $arg eq "--";\n') ('}\n') ('\n') ('open LD_SO_CONF, "/etc/ld.so.conf";\n') ('while ($line = <LD_SO_CONF>) {\n') ('\tchomp $line;\n') ('\tunshift @ld_library_path, $line;\n') ('}\n') ('close LD_SO_CONF;\n') ('\n') ('unshift @ld_library_path, split(/:/, $ENV{LD_LIBRARY_PATH});\n') ('\n') ('$unamearch = `/bin/uname -m`;\n') ('chomp $unamearch;\n') ('\n') ('foreach my $file (@ARGV) {\n') ('\tmy $address;\n') ('\t%libs = ();\n') ('\t$dynamic = 0;\n') ('\n') ('\tif ($#ARGV > 0) {\n') ('\t\tprint "$file:\\n";\n') ('\t}\n') ('\n') ('\tif (not -f $file) {\n') ('\t\tprint STDERR "ldd: $file: No such file or directory\\n";\n') ('\t\t$status = 1;\n') ('\t\tnext;\n') ('\t}\n') ('\n') ('\tobjdump($file);\n') ('\n') ('\tif ($dynamic == 0) {\n') ('\t\tprint "\\tnot a dynamic executable\\n";\n') ('\t\t$status = 1;\n') ('\t} elsif (scalar %libs eq "0") {\n') ('\t\tprint "\\tstatically linked\\n";\n') ('\t}\n') ('\n') ('\tif ($format =~ /^elf64-/) {\n') ('\t\t$address = "0x0000000000000000";\n') ('\t} else {\n') ('\t\t$address = "0x00000000";\n') ('\t}\n') ('\n') ('\tforeach $lib (keys %libs) {\n') ('\t\tif ($libs{$lib}) {\n') ('\t\t\tprintf "\\t%s => %s (%s)\\n", $lib, $libs{$lib}, $address;\n') ('\t\t} else {\n') ('\t\t\tprintf "\\t%s => not found\\n", $lib;\n') ('\t\t}\n') ('\t}\n') ('}\n') ('\n') ('exit $status;\n') } do_expansion: False here_end: END was_filled: True spids: [12835] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/usr/bin/ldd))} spids: [12841] ) ] ) (C {(chmod)} {(755)} {(DQ ($ VSub_Name '$TARGET') (/usr/bin/ldd))}) (SimpleCommand words: [{(echo)} {(DQ ('/usr/bin/ldd\n') ('/usr/bin/ldd.REAL\n') (fakechroot))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/var/lib/dpkg/diversions))} spids: [12869] ) ] ) ] spids: [12721] ) spids: [12716 12720] ) ] )