(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: [-1 94] ) ] spids: [-1 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:-1 arg_word:{(4)} spids:[231])] spids: [190 229] ) ] spids: [-1 187] ) ] else_action: [ (Subshell child: (C {(printf)} { (DQ ("E: ") ($ VSub_Name "$fmt") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ) } {(DQ ($ VSub_At "$@"))} ) redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(4)} spids:[252])] spids: [238 250] ) ] spids: [235 256] ) (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: [280] ) ] spids: [278] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fmt) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [288] ) ] spids: [286] ) (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: [334 344] ) spids: [328 332] ) (C {(echo)} {(DQ ("WF: ") ($ VSub_Name "$fmt"))}) ] ) redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(4)} spids:[355])] spids: [314 353] ) ] spids: [-1 311] ) ] else_action: [ (SimpleCommand words: [ {(printf)} { (DQ ("W: ") ($ VSub_Name "$fmt") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ) } {(DQ ($ VSub_At "$@"))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(4)} spids:[374])] ) ] spids: [359 378] ) ] spids: [271] ) spids: [266 270] ) (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: [397] ) ] spids: [395] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fmt) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [405] ) ] spids: [403] ) (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: [451 461] ) spids: [445 449] ) (C {(echo)} {(DQ ("IF: ") ($ VSub_Name "$fmt"))}) ] ) redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(4)} spids:[472])] spids: [431 470] ) ] spids: [-1 428] ) ] else_action: [ (SimpleCommand words: [ {(printf)} { (DQ ("I: ") ($ VSub_Name "$fmt") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ) } {(DQ ($ VSub_At "$@"))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(4)} spids:[491])] ) ] spids: [476 495] ) ] spids: [388] ) spids: [383 387] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROGRESS_NOW) op:Equal rhs:{(0)} spids:[500])] spids: [500] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROGRESS_END) op:Equal rhs:{(0)} spids:[503])] spids: [503] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROGRESS_NEXT) op:Equal rhs:{(DQ )} spids:[506])] spids: [506] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROGRESS_WHAT) op:Equal rhs:{(DQ )} spids:[510])] spids: [510] ) (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: [523] ) ] spids: [523] ) ] spids: [520] ) spids: [515 519] ) (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: [551] ) ] spids: [551] ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(0)} spids:[559])] spids: [557] ) (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: [593] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [596] ) ] ) (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:-1 arg_word:{(3)} spids:[613])] ) ] negated: False ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark "$?")} spids: [617] ) ] spids: [617] ) ] spids: [-1 584] ) ] 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: [634] ) ] spids: [634] ) ] spids: [621 638] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_Name "$ret")}) ] spids: [536] ) spids: [531 535] ) (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: [662] ) ] spids: [660] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:end) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [670] ) ] spids: [668] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [678] ) ] spids: [676] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fmt) op: Equal rhs: {(DQ ($ VSub_Number "$4"))} spids: [686] ) ] spids: [684] ) (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: [718] ) ] spids: [718] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROGRESS_END) op: Equal rhs: {(DQ ($ VSub_Name "$end"))} spids: [724] ) ] spids: [724] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROGRESS_NEXT) op: Equal rhs: {(DQ )} spids: [730] ) ] spids: [730] ) (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: [759 769] ) spids: [753 757] ) (C {(echo)} {(DQ ("PF: ") ($ VSub_Name "$fmt"))}) ] ) redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(3)} spids:[780])] spids: [735 778] ) ] spids: [-1 715] ) ] spids: [-1 784] ) ] spids: [653] ) spids: [648 652] ) (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: [803] ) ] spids: [801] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:end) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [811] ) ] spids: [809] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [819] ) ] spids: [817] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:desc) op: Equal rhs: {(DQ ($ VSub_Number "$4"))} spids: [827] ) ] spids: [825] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:action) op: Equal rhs: {(DQ ($ VSub_Number "$5"))} spids: [835] ) ] spids: [833] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:expect) op:Equal rhs:{(SQ )} spids:[843])] spids: [841] ) (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: [865] ) ] spids: [865] ) ] spids: [-1 862] ) (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: [887] ) ] spids: [887] ) ] spids: [869 884] ) ] spids: [-1 891] ) (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: [910 914] ) } ) ) spids: [905 916] ) ) } spids: [903] ) ] spids: [903] ) ] spids: [900] ) spids: [895 899] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:exitcode) op:Equal rhs:{(0)} spids:[924])] spids: [924] ) (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: [962] ) ] spids: [962] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [-1 959] ) ] spids: [-1 971] ) (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: [1037 1041] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(unpacked)} spids: [1045] ) ] spids: [1045] ) ] spids: [1000 1001 1049 -1] ) (case_arm pat_list: [{(unpacked)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(half-installed)} spids: [1056] ) ] spids: [1056] ) ] spids: [1052 1053 1060 -1] ) (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: [1100 1104] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(installed)} spids: [1108] ) ] spids: [1108] ) ] spids: [1063 1064 1112 -1] ) (case_arm pat_list: [{(installed)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: {(half-configured)} spids: [1119] ) ] spids: [1119] ) ] spids: [1115 1116 1123 -1] ) ] spids: [993 997 1126] ) ] spids: [939 1129] ) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name "$exitcode")} ) ] spids: [794] ) spids: [789 793] ) (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: [1151] ) ] spids: [1151] ) ] spids: [1148] ) spids: [1143 1147] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FINDDEBS_NEEDS_INDICES) op: Equal rhs: {(false)} spids: [1159] ) ] spids: [1159] ) (FuncDef name: finddebs_style body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list:[{(hardcoded)}] spids:[117911801183-1]) (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: [1190] ) ] spids: [1190] ) ] spids: [1186 1187 1194 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(error)} {(1)} {(BADFINDDEBS)} {(DQ ("unknown finddebs style"))})] spids: [1197 1198 1212 -1] ) ] spids: [1170 1176 1215] ) ] spids: [1167] ) spids: [1162 1166] ) (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: [-1 1243] ) ] spids: [-1 1268] ) ] spids: [1225] ) spids: [1220 1224] ) (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: [1314] ) ] spids: [1314] ) ] spids: [-1 1311] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:APTSTATE) op: Equal rhs: {(var/lib/apt)} spids: [1321] ) ] spids: [1321] ) ] spids: [1318 1325] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DLDEST) op: Equal rhs: {(apt_dest)} spids: [1328] ) ] spids: [1328] ) (C {(export)} {(APTSTATE)} {(DLDEST)} {(DEBFOR)}) ] spids: [1290 1291 1341 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(error)} {(1)} {(BADDLOAD)} {(DQ ("unknown download style"))})] spids: [1344 1345 1359 -1] ) ] spids: [1281 1287 1362] ) ] spids: [1278] ) spids: [1273 1277] ) (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: [1407] ) ] spids: [1407] ) ] spids: [-1 1404] ) (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: [1486] ) ] spids: [1486] ) ] spids: [-1 1466] ) ] 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: [-1 1521] ) ] spids: [-1 1535] ) ] spids: [1492 1538] ) ] spids: [1413 1426] ) ] spids: [-1 1541] ) ] spids: [-1 1388] ) ] spids: [-1 1544] ) ] spids: [1372] ) spids: [1367 1371] ) (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: [-1 1578] ) ] spids: [-1 1585] ) (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: [-1 1620] ) ] spids: [-1 1627] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [1558] ) spids: [1553 1557] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUPPORTED_VARIANTS) op: Equal rhs: {(DQ (-))} spids: [1637] ) ] spids: [1637] ) (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: [1650] ) ] spids: [1650] ) (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: [-1 1677] ) ] spids: [-1 1684] ) ] spids: [1665 1687] ) spids: [1661 1663] ) (C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ("unsupported variant"))}) ] spids: [1647] ) spids: [1642 1646] ) (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: [1728] ) ] spids: [1728] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_DEBS) op: Equal rhs: {(download_release)} spids: [1732] ) ] spids: [1732] ) ] spids: [1724 1725 1736 -1] ) (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: [1743] ) ] spids: [1743] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_DEBS) op: Equal rhs: {(download_main)} spids: [1747] ) ] spids: [1747] ) ] spids: [1739 1740 1751 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(error)} {(1)} {(BADMIRROR)} {(DQ ("unknown mirror style"))})] spids: [1754 1755 1769 -1] ) ] spids: [1715 1721 1772] ) (C {(export)} {(DOWNLOAD_INDICES)}) (C {(export)} {(DOWNLOAD_DEBS)}) ] spids: [1712] ) spids: [1707 1711] ) (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: [1795] ) ] spids: [1795] ) (C {(export)} {(DEBOOTSTRAP_CHECKSUM_FIELD)}) ] spids: [1792] ) spids: [1787 1791] ) (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: [1820] ) ] spids: [1818] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:expsize) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [1828] ) ] spids: [1826] ) (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: -1 arg_word: {(DQ ($ VSub_Number "$1"))} spids: [1868] ) ] ) (C {(sed)} {(SQ <"s/ .*$//">)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [1865 1881] ) } spids: [1864] ) ] spids: [1864] ) ] spids: [-1 1861] ) (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: -1 arg_word: {(DQ ($ VSub_Number "$1"))} spids: [1898] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [1895 1903] ) } spids: [1894] ) ] spids: [1894] ) ] spids: [1884 1891] ) ] else_action: [(C {(error)} {(1)} {(SIGCHECK)} {(DQ ("Cannot check md5sum"))})] spids: [1906 1920] ) ] spids: [-1 1851] ) ] 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: -1 arg_word: {(DQ ($ VSub_Number "$1"))} spids: [1950] ) ] ) (C {(sed)} {(SQ <"s/ .*$//">)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [1943 1963] ) } spids: [1942] ) ] spids: [1942] ) ] spids: [-1 1939] ) (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: -1 arg_word: {(DQ ($ VSub_Number "$1"))} spids: [1988] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [1982 1993] ) } spids: [1981] ) ] spids: [1981] ) ] spids: [1966 1978] ) ] else_action: [ (C {(error)} {(1)} {(SIGCHECK)} {(DQ ("Cannot check sha") (${ VSub_Name SHA_SIZE) (sum))} ) ] spids: [1996 2014] ) ] spids: [1923 2017] ) (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: -1 arg_word: {(DQ ($ VSub_Number "$1"))} spids: [2026] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [2021 2031] ) } spids: [2020] ) ] spids: [2020] ) (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: [-1 2068] ) ] spids: [-1 2076] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1811] ) spids: [1806 1810] ) (FuncDef name: get body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:displayname) op:Equal spids:[2104])] spids: [2102] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:versionname) op:Equal spids:[2109])] spids: [2107] ) (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: [2117 2121] ) ) } {(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: [2139 2153] ) ) } spids: [2137] ) ] spids: [2137] ) (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: [2159 2189] ) ) } spids: [2157] ) ] spids: [2157] ) ] spids: [-1 2134] ) ] 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: [2198 2212] ) ) } spids: [2196] ) ] spids: [2196] ) ] spids: [2193 2216] ) (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: [-1 2249] ) (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: [2257 2272] ) ] 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: [-1 2321] ) ] else_action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Number "$2"))})] spids: [2329 2341] ) ] spids: [2284 2344] ) ] spids: [-1 2233] ) ] spids: [-1 2347] ) (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: [-1 2369] ) ] spids: [-1 2383] ) (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:[2407])] spids: [2405] ) (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: [2430] ) ] spids: [2430] ) terminator: <Op_Semi ";"> ) ] spids: [-1 2428] ) ] spids: [-1 2434] ) (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: [2442] ) ] spids: [2442] ) 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: [2470 2475] ) (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: [2484 2491] ) } spids: [2483] ) ] spids: [2483] ) terminator: <Op_Semi ";"> ) ] spids: [2461 2494] ) ) (C {(sort)} {(-n)}) (C {(sed)} {(SQ <"s/.* //">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [2441 2509] ) ) } spids: [2439] ) ] spids: [2437] ) ] spids: [-1 2402] ) ] else_action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:order) op:Equal rhs:{(3)} spids:[2518])] spids: [2516] ) ] spids: [2513 2522] ) (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: [2541 2550] ) ) } spids: [2539] ) ] spids: [2537] ) (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: [2565 2572] ) (Lit_RBrace "}") } ) ] ) left_token: <Left_CommandSub "$("> spids: [2558 2574] ) ) } spids: [2556] ) ] spids: [2554] ) (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: [2589 2596] ) (Lit_RBrace "}") } ) ] ) left_token: <Left_CommandSub "$("> spids: [2582 2598] ) ) } spids: [2580] ) ] spids: [2578] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:from) op:Equal spids:[2604])] spids: [2602] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal spids:[2609])] spids: [2607] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:iters) op:Equal rhs:{(0)} spids:[2614])] spids: [2612] ) (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: [2631] ) ] spids: [2631] ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number "$2") (.xz))} spids: [2638] ) ] spids: [2638] ) ] spids: [2628 2629 2644 -1] ) (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: [2650] ) ] spids: [2650] ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number "$2") (.bz2))} spids: [2657] ) ] spids: [2657] ) ] spids: [2647 2648 2663 -1] ) (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: [2669] ) ] spids: [2669] ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number "$2") (.gz))} spids: [2676] ) ] spids: [2676] ) ] spids: [2666 2667 2682 -1] ) (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: [2688] ) ] spids: [2688] ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [2694] ) ] spids: [2694] ) ] spids: [2685 2686 2699 -1] ) ] spids: [2619 2625 2702] ) (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: [2711 2715] ) ) } {(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: [2730] ) ] spids: [2730] ) ] spids: [-1 2727] ) ] spids: [-1 2737] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest2) op: Equal rhs: {(DQ ($ VSub_Name "$dest"))} spids: [2742] ) ] spids: [2740] ) (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: [2755 2760] ) (/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: [2772 2777] ) (/partial/) (BracedVarSub token: <VSub_Name dest2> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {("*") (Lit_Slash /)} ) spids: [2779 2784] ) ) } spids: [2770] ) ] spids: [2770] ) ] spids: [-1 2767] ) ] spids: [-1 2788] ) (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: [-1 2842] ) ] spids: [-1 2849] ) (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: [2909] ) ] spids: [2909] ) ] spids: [-1 2906] ) ] spids: [-1 2914] ) ] spids: [-1 2869] ) ] spids: [-1 2917] ) (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: [2972 2973 2981 -1] ) (case_arm pat_list: [{(bz2)}] action: [(C {(bunzip2)} {(DQ ($ VSub_Name "$dest"))})] spids: [2984 2985 2993 -1] ) (case_arm pat_list: [{(xz)}] action: [(C {(unxz)} {(DQ ($ VSub_Name "$dest"))})] spids: [2996 2997 3005 -1] ) ] spids: [2963 2969 3008] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [-1 2933] ) ] 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: [3043 3050] ) ) } spids: [3041] ) ] spids: [3041] ) ] spids: [3016 3054] ) ] spids: [2807 3057] ) ) (C {(warning)} {(CORRUPTFILE)} {(DQ ("%s was corrupt"))} {(DQ ($ VSub_Name "$from"))}) ] spids: [2534 3073] ) spids: [2530 2532] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [2091] ) spids: [2086 2090] ) (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: [3097] ) ] spids: [3095] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [3105] ) ] spids: [3103] ) (C {(mkdir)} {(-p)} { (DQ (BracedVarSub token: <VSub_Name dest> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [3116 3121] ) ) } ) (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: [3130 3134] ) ) } {(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: [3161 3165] ) ) } ) ] spids: [-1 3147] ) (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: [3174 3180] ) ) } {(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: [3197 3203] ) ) } {(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: [-1 3238] ) ] else_action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$dest"))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [3246 3263] ) ] spids: [3169 3216] ) (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: [3271 3277] ) ) } {(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: [-1 3319] ) ] else_action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$dest"))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [3327 3344] ) ] spids: [3266 3291] ) (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: [3352 3356] ) ) } {(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: [3376 3380] ) ) } spids: [3374] ) ] spids: [3372] ) (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: [3389 3394] ) ) } {(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: [3413 3421] ) ) } spids: [3410] ) ] spids: [3410] ) ] spids: [-1 3407] ) ] spids: [-1 3425] ) (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: [-1 3441] ) ] else_action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [3460 3468] ) ] spids: [3347 3369] ) (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: [3476 3480] ) ) } {(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: [3500 3520] ) ) } spids: [3498] ) ] spids: [3496] ) (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: [-1 3537] ) ] else_action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [3556 3564] ) ] spids: [3471 3493] ) ] else_action: [ (C {(error)} {(1)} {(UNKNOWNLOC)} {(DQ ("unknown location %s"))} {(DQ ($ VSub_Name "$from"))} ) ] spids: [3567 3585] ) ] spids: [3088] ) spids: [3083 3087] ) (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: [3605 3627] ) } ) ] spids: [3595] ) spids: [3590 3594] ) (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: [3647 3669] ) } ) ] spids: [3637] ) spids: [3632 3636] ) (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: [3706 3736] ) spids: [3700 3704] ) ] spids: [3692 3739] ) redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debpaths))} spids: [3741] ) ] ) spids: [3682 3748] ) ] spids: [3679] ) spids: [3674 3678] ) (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: [3786 3787 3817 -1] ) (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: [3826] ) ] spids: [3824] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ (debootstrap.invalid))} spids: [3832] ) ] spids: [3832] ) (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: [3820 3821 3898 -1] ) (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: [3907] ) ] spids: [3905] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ (debootstrap.invalid))} spids: [3913] ) ] spids: [3913] ) (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: [3901 3902 3978 -1] ) ] spids: [3777 3783 3981] ) ] spids: [3758] ) spids: [3753 3757] ) (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: [4000] ) ] spids: [3998] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [4008] ) ] spids: [4006] ) (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: [4034] ) ] spids: [4032] ) ] spids: [-1 4029] ) ] 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: [4045] ) ] spids: [4043] ) ] spids: [4040 4053] ) (Pipeline children: [ (SimpleCommand words: [{(sed)} {(-n)} {(DQ (/) ($ VSub_Name "$match") ("/,/^[^ ]/p"))}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name "$reldest"))} spids: [4066] ) ] ) (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: [-1 4107] ) ] spids: [-1 4118] ) ] spids: [4087 4121] ) ) (C {(head)} {(-n)} {(1)}) ] negated: False ) ] spids: [3995] ) spids: [3990 3994] ) (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: [4144] ) ] spids: [4142] ) 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: [4155 4167] ) ) } spids: [4153] ) ] spids: [4153] ) (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: [4181 4211] ) spids: [4176 4179] ) (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: [4216 4220] ) ) } spids: [4214] ) ] spids: [4214] ) (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: [-1 4237] ) ] spids: [-1 4263] ) ] spids: [4139] ) spids: [4134 4138] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CODENAME) op:Equal rhs:{(DQ )} spids:[4268])] spids: [4268] ) (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: [4282] ) ] spids: [4280] ) (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: [4290 4302] ) } spids: [4289] ) ] spids: [4289] ) (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: [4308 4320] ) } spids: [4307] ) ] spids: [4305] ) (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: [-1 4359] ) ] spids: [-1 4385] ) ] spids: [4277] ) spids: [4272 4276] ) (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: [4400] ) ] spids: [4398] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:reldest) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [4408] ) ] spids: [4406] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:relsigdest) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [4416] ) ] spids: [4414] ) (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:[4456])] spids: [4456] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:state) op:Equal rhs:{(pre-begin)} spids:[4461])] spids: [4461] ) (While cond: [ (Sentence child: (SimpleCommand words: [{(read)} {(-r)} {(line)}] more_env: [(env_pair name:IFS val:{(SQ )} spids:[4467])] ) 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: [4517] ) ] spids: [4517] ) ] spids: [-1 4514] ) ] spids: [-1 4521] ) ] spids: [4490 4491 4524 -1] ) (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: [4554] ) ] spids: [4554] ) ] spids: [-1 4551] ) ] spids: [-1 4558] ) ] spids: [4527 4528 4561 -1] ) (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") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">)) } {(DQ (${ VSub_Name line))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$relsigdest"))} spids: [4604] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state) op: Equal rhs: {(signature)} spids: [4611] ) ] spids: [4611] ) ] spids: [-1 4588] ) ] else_action: [ (SimpleCommand words: [ {(printf)} {(DQ (${ VSub_Name nl) ("%s"))} {(DQ (${ VSub_Name line))} ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name "$reldest"))} spids: [4633] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:nl) op: Equal rhs: {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} spids: [4640] ) ] spids: [4640] ) ] spids: [4615 4646] ) ] spids: [4564 4565 4649 -1] ) (case_arm pat_list: [{(signature)}] action: [ (SimpleCommand words: [ {(printf)} {(DQ ("%s") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(DQ (${ VSub_Name line))} ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name "$relsigdest"))} spids: [4669] ) ] ) (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: [-1 4696] ) ] spids: [-1 4702] ) ] spids: [4652 4653 -1 4705] ) ] spids: [4479 4487 4705] ) ] spids: [4476 4708] ) redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name "$inreldest"))} spids: [4710] ) ] ) ] spids: [4395] ) spids: [4390 4394] ) (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: [4729] ) ] spids: [4727] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:inreldest) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [4737] ) ] spids: [4735] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:reldest) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [4745] ) ] spids: [4743] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:relsigdest) op: Equal rhs: {(DQ ($ VSub_Number "$4"))} spids: [4753] ) ] spids: [4751] ) (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: [-1 4796] ) ] 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: [4827 4879] ) (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: [-1 4938] ) ] spids: [-1 4997] ) (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: [5018 5046] ) (C {(read_gpg_status)}) ] negated: False ) (C {(progress)} {(100)} {(100)} {(DOWNRELSIG)} {(DQ ("Downloading Release file signature"))} ) ] spids: [-1 4907] ) ] spids: [-1 5066] ) ] spids: [4724] ) spids: [4719 4723] ) (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: [5083 5087] ) ) } spids: [5081] ) ] spids: [5079] ) (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: [5097 5115] ) ) } spids: [5093] ) ] spids: [5091] ) (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: [5125 5143] ) ) } spids: [5121] ) ] spids: [5119] ) (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: [5153 5171] ) ) } spids: [5149] ) ] spids: [5147] ) (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:[5212])] spids: [5210] ) (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: [5230] ) ] spids: [5228] ) (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: [5243 5254] ) ) } spids: [5241] ) ] spids: [5239] ) (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: [5262 5273] ) ) } spids: [5260] ) ] spids: [5258] ) (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: [5281 5292] ) ) } spids: [5279] ) ] spids: [5277] ) (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: [5300 5310] ) ) } spids: [5298] ) ] spids: [5296] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(SQ )} spids:[5316])] spids: [5314] ) (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: [5339] ) ] spids: [5339] ) ] spids: [-1 5336] ) (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: [5371] ) ] spids: [5371] ) ] spids: [5345 5368] ) (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: [5403] ) ] spids: [5403] ) ] spids: [5377 5400] ) (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: [5435] ) ] spids: [5435] ) ] spids: [5409 5432] ) ] spids: [-1 5441] ) (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: [5472 5476] ) } ) ) spids: [5466 5479] ) ) } spids: [5464] ) ] spids: [5464] ) ] spids: [-1 5461] ) ] 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: [5483 5513] ) ] spids: [5225 5516] ) spids: [5221 5223] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:donepkgs) op:Equal rhs:{(0)} spids:[5522])] spids: [5520] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:pkgdest) op:Equal spids:[5528])] spids: [5526] ) (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: [5558] ) ] spids: [5556] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: {(DQ (dists/) ($ VSub_Name "$SUITE") (/) ($ VSub_Name "$subpath"))} spids: [5569] ) ] spids: [5567] ) (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: [5582 5593] ) ) } spids: [5580] ) ] spids: [5578] ) (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: [5601 5612] ) ) } spids: [5599] ) ] spids: [5597] ) (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: [5620 5631] ) ) } spids: [5618] ) ] spids: [5616] ) (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: [5639 5649] ) ) } spids: [5637] ) ] spids: [5635] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:ext) op:Equal rhs:{(SQ )} spids:[5655])] spids: [5653] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(SQ )} spids:[5660])] spids: [5658] ) (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: [5683] ) ] spids: [5683] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {(DQ ($ VSub_Name "$normi"))} spids: [5692] ) ] spids: [5692] ) ] spids: [-1 5680] ) ] spids: [-1 5698] ) (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: [5727] ) ] spids: [5727] ) (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: [5738 5742] ) ) } spids: [5736] ) ] spids: [5736] ) ] spids: [-1 5724] ) ] spids: [-1 5746] ) (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: [5775] ) ] spids: [5775] ) (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: [5786 5790] ) ) } spids: [5784] ) ] spids: [5784] ) ] spids: [-1 5772] ) ] spids: [-1 5794] ) (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: [5823] ) ] spids: [5823] ) (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: [5834 5838] ) ) } spids: [5832] ) ] spids: [5832] ) ] spids: [-1 5820] ) ] spids: [-1 5842] ) (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: [5853 5857] ) } ) ) spids: [5848 5859] ) ) } ) (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: [5879 5903] ) ) } spids: [5875] ) ] spids: [5875] ) (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: [-1 5924] ) ] spids: [-1 5929] ) ] spids: [5872 5932] ) spids: [5868 5870] ) (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: [-1 5950] ) ] spids: [-1 5968] ) (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: [5978 5982] ) } ) ) spids: [5973 5984] ) ) } spids: [5971] ) ] spids: [5971] ) (C {(progress)} {($ VSub_Name "$donepkgs")} {($ VSub_Name "$totalpkgs")} {(DOWNPKGS)} {(DQ ("Downloading Packages files"))} ) ] spids: [5553 6001] ) spids: [5549 5551] ) ] spids: [5076] ) spids: [5071 5075] ) (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: [6020] ) ] spids: [6018] ) 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: [6031] ) ] spids: [6029] ) 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: [6061] ) ] spids: [6061] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:totaldebs) op: Equal rhs: {(0)} spids: [6066] ) ] spids: [6066] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:countdebs) op: Equal rhs: {(0)} spids: [6070] ) ] spids: [6070] ) (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: [6106] ) ] spids: [6106] ) ] spids: [-1 6103] ) ] 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: [6119 6123] ) ) } spids: [6117] ) ] spids: [6117] ) 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: [6130 6137] ) ) } spids: [6128] ) ] spids: [6128] ) (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: [6143 6150] ) ) } spids: [6141] ) ] spids: [6141] ) ] spids: [6114 6154] ) ] spids: [6083 6157] ) ) (C {(echo)} { (DQ ($ VSub_Name "$countdebs") (" ") ($ VSub_Name "$totaldebs") ($ VSub_Name "$newleft") ) } ) ] ) spids: [6058 6170] ) ] negated: False ) ] spids: [6011] ) spids: [6006 6010] ) (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: [6188] ) ] spids: [6186] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pkgdest) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [6196] ) ] spids: [6194] ) (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: [6230] ) ] spids: [6230] ) (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: [6277] ) ] spids: [6277] ) ] spids: [-1 6274] ) ] 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: [6291 6298] ) ) } ) (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: [6306 6330] ) ) } spids: [6304] ) ] spids: [6302] ) (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: [6364 6371] ) ) } spids: [6362] ) ] spids: [6362] ) (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name "$p") (" ") ($ VSub_Name "$ver") (" ") ($ VSub_Name "$m") (/) ($ VSub_Name "$fil") ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$TARGET") (/debootstrap/deburis)} spids: [6377] ) ] ) (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name "$p") (" ") ($ VSub_Name "$debdest")) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$TARGET") (/debootstrap/debpaths)} spids: [6394] ) ] ) ] spids: [-1 6359] ) ] 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: [6429] ) ] spids: [6429] ) ] spids: [6405 6437] ) ] spids: [6285 6440] ) ] spids: [6254 6443] ) ) (SimpleCommand words: [ {(echo)} { (BracedVarSub token: <VSub_Name leftover> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(" ")}) spids: [6451 6455] ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(5)} spids:[6448])] ) ] ) spids: [6227 6458] ) ] negated: False ) ] spids: [6183] ) spids: [6178 6182] ) (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: [6475 6479] ) ) } spids: [6473] ) ] spids: [6471] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:numdebs) op: Equal rhs: {(DQ ($ VSub_Pound "$#"))} spids: [6486] ) ] spids: [6484] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:countdebs) op:Equal rhs:{(0)} spids:[6495])] spids: [6493] ) (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:[6515])] spids: [6513] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:leftoverdebs) op: Equal rhs: {(DQ ($ VSub_Star "$*"))} spids: [6521] ) ] spids: [6519] ) (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: [6533 6563] ) } spids: [6532] ) ] spids: [6532] ) (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: [6567 6577] ) } spids: [6566] ) ] spids: [6566] ) (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: [-1 6610] ) ] spids: [-1 6615] ) (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: [6621] ) ] spids: [6619] ) (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: [6639 6663] ) ) } spids: [6635] ) ] spids: [6633] ) (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: [-1 6682] ) ] spids: [-1 6687] ) (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: [6711 6723] ) ) } spids: [6709] ) ] spids: [6709] ) (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: [6734 6738] ) } ) ) spids: [6729 6740] ) } spids: [6728] ) ] spids: [6728] ) (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: [6744 6748] ) } spids: [6743] ) ] spids: [6743] ) (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: [6753 6757] ) } spids: [6752] ) ] spids: [6752] ) (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: [6761 6765] ) } spids: [6760] ) ] spids: [6760] ) (C {(progress)} {($ VSub_Name "$countdebs")} {($ VSub_Name "$numdebs")} {(SIZEDEBS)} {(DQ ("Finding package sizes"))} ) ] spids: [6590 6782] ) spids: [6586 6588] ) (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: [-1 6803] ) ] spids: [-1 6821] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:dloaddebs) op:Equal rhs:{(0)} spids:[6827])] spids: [6825] ) (C {(progress)} {($ VSub_Name "$dloaddebs")} {($ VSub_Name "$totaldebs")} {(DOWNDEBS)} {(DQ ("Downloading packages"))} ) (SimpleCommand words: [{(Lit_Other ":")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$TARGET") (/debootstrap/debpaths)} spids: [6846] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgs_to_get) op: Equal rhs: {(DQ ($ VSub_Star "$*"))} spids: [6852] ) ] spids: [6852] ) (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: [6872] ) ] spids: [6870] ) (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: [6902 6926] ) ) } spids: [6898] ) ] spids: [6896] ) (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: [-1 6945] ) ] spids: [-1 6950] ) (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: [6968] ) (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(6)} spids: [6971] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [6955 6973] ) ) } spids: [6953] ) ] spids: [6953] ) (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: [-1 6990] ) ] spids: [-1 6995] ) ] spids: [6893 6998] ) redirects: [(Redir op_id:Redir_GreatAnd fd:6 arg_word:{(1)} spids:[7000])] spids: [6889 6891] ) (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: [-1 7017] ) ] spids: [-1 7022] ) ] spids: [6867 7025] ) spids: [6863 6865] ) (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: [-1 7058] ) ] spids: [-1 7076] ) ] spids: [6468] ) spids: [6463 6467] ) (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: [7093 7097] ) ) } spids: [7091] ) ] spids: [7089] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:comp) op: Equal rhs: {(DQ (${ VSub_Name USE_COMPONENTS))} spids: [7103] ) ] spids: [7101] ) (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: [7145] ) ] spids: [7145] ) terminator: <Op_Semi ";"> ) ] spids: [-1 7143] ) ] spids: [-1 7149] ) (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: [7154 7170] ) ) } spids: [7152] ) ] spids: [7152] ) (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: [7206] ) ] spids: [7204] ) (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: [7224 7248] ) ) } spids: [7220] ) ] spids: [7218] ) (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: [-1 7279] ) (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: [7299 7314] ) ] spids: [-1 7320] ) ] spids: [7201 7323] ) spids: [7197 7199] ) ] spids: [7189 7326] ) spids: [7185 7187] ) (C {(progress)} {(100)} {(100)} {(DOWNMAINPKGS)} {(DQ ("Downloading Packages file"))}) ] spids: [7086] ) spids: [7081 7085] ) (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: [7356 7360] ) ) } spids: [7354] ) ] spids: [7352] ) (SimpleCommand words: [{(Lit_Other ":")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$TARGET") (/debootstrap/debpaths)} spids: [7366] ) ] ) (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: [7399] ) ] spids: [7397] ) (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: [7418] ) ] spids: [7416] ) (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: [7436 7460] ) ) } spids: [7432] ) ] spids: [7430] ) (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: [-1 7479] ) ] spids: [-1 7484] ) (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: [7489 7505] ) ) } spids: [7487] ) ] spids: [7487] ) (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: [7530] ) ] spids: [7530] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [-1 7527] ) ] spids: [-1 7538] ) (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: [7543 7547] ) ) } spids: [7541] ) ] spids: [7541] ) 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: [7553 7557] ) ) } spids: [7551] ) ] spids: [7551] ) (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: [7563 7567] ) ) } spids: [7561] ) ] spids: [7561] ) 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: [7573 7577] ) ) } spids: [7571] ) ] spids: [7571] ) (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: [7585 7591] ) ) } spids: [7583] ) ] spids: [7581] ) (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: [7602 7606] ) ) } {(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: -1 arg_word: {($ VSub_Name "$TARGET") (/debootstrap/debpaths)} spids: [7629] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:details) op: Equal rhs: {(DQ (done))} spids: [7640] ) ] spids: [7640] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [-1 7624] ) ] spids: [-1 7649] ) ] spids: [7413 7652] ) spids: [7409 7411] ) (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: [-1 7672] ) ] spids: [-1 7678] ) ] spids: [7394 7681] ) spids: [7390 7392] ) (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: [-1 7702] ) ] spids: [-1 7720] ) ] spids: [7382 7723] ) spids: [7376 7380] ) ] spids: [7349] ) spids: [7344 7348] ) (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: [7742] ) ] spids: [7740] ) (C {(shift)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:m1) op:Equal spids:[7753]) (assign_pair lhs:(LhsName name:c) op:Equal spids:[7755]) ] spids: [7751] ) (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: [7784] ) ] spids: [7782] ) (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: [7802 7826] ) ) } spids: [7798] ) ] spids: [7796] ) (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: [7832 7862] ) } ) ] spids: [7779 7865] ) spids: [7775 7777] ) ] spids: [7767 7868] ) spids: [7763 7765] ) ] spids: [7737] ) spids: [7732 7736] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRACTORS_SUPPORTED) op: Equal rhs: {(DQ ("dpkg-deb ar"))} spids: [7877] ) ] spids: [7877] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRACT_DEB_TAR_OPTIONS) op: Equal rhs: {(SQ )} spids: [7882] ) ] spids: [7882] ) (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: [7898] ) ] spids: [7896] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:field) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [7906] ) ] spids: [7904] ) (C {(dpkg-deb)} {(-f)} {(DQ ($ VSub_Name "$pkg"))} {(DQ ($ VSub_Name "$field"))}) ] spids: [7893] ) spids: [7888 7892] ) (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: [7938] ) ] spids: [7936] ) (Pipeline children: [ (C {(dpkg-deb)} {(--fsys-tarfile)} {(DQ ($ VSub_Name "$pkg"))}) (C {(tar)} {($ VSub_Name "$EXTRACT_DEB_TAR_OPTIONS")} {(-xf)} {(-)}) ] negated: False ) ] spids: [7933] ) spids: [7928 7932] ) (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: [7979] ) ] spids: [7977] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:field) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [7987] ) ] spids: [7985] ) (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") (EscapedLiteralPart token: <Lit_EscapedChar "\\."> ) (tar) ) } ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [7996 8014] ) } spids: [7995] ) ] spids: [7993] ) (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: [8030] ) ] spids: [8030] ) ] spids: [8027 8028 8033 -1] ) (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: [8039] ) ] spids: [8039] ) ] spids: [8036 8037 8042 -1] ) (case_arm pat_list: [{(control.tar)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cat_cmd) op: Equal rhs: {(cat)} spids: [8048] ) ] spids: [8048] ) ] spids: [8045 8046 8051 -1] ) (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: [8054 8055 8075 -1] ) ] spids: [8018 8024 8078] ) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(type)} {($ VSub_Name "$cat_cmd")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [8088] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [8091] ) ] ) 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: [8129] ) ] ) (C {(grep)} {(-i)} {(DQ ("^") ($ VSub_Name "$field") (":"))}) (C {(sed)} {(-e)} {(SQ <"s/[^:]*: *//">)}) (C {(head)} {(-n)} {(1)}) ] negated: False ) ] spids: [-1 8095] ) ] 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: [8164 8186] ) ] spids: [7974] ) spids: [7969 7973] ) (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: [8201] ) ] spids: [8199] ) (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: [8210 8226] ) } spids: [8209] ) ] spids: [8207] ) (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: [8242] ) ] spids: [8242] ) ] spids: [8239 8240 8245 -1] ) (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: [8251] ) ] spids: [8251] ) ] spids: [8248 8249 8254 -1] ) (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: [8260] ) ] spids: [8260] ) ] spids: [8257 8258 8263 -1] ) (case_arm pat_list: [{(data.tar)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cat_cmd) op: Equal rhs: {(cat)} spids: [8269] ) ] spids: [8269] ) ] spids: [8266 8267 8272 -1] ) (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: [8275 8276 8296 -1] ) ] spids: [8230 8236 8299] ) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(type)} {($ VSub_Name "$cat_cmd")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [8309] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [8312] ) ] ) 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: [-1 8316] ) ] 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: [8346 8368] ) ] spids: [8196] ) spids: [8191 8195] ) (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: [8383] ) ] spids: [8381] ) (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: [-1 8419] ) ] spids: [-1 8427] ) ] spids: [8399 8430] ) spids: [8395 8397] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [8378] ) spids: [8373 8377] ) (FuncDef name: choose_extractor body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:extractor) op:Equal spids:[8451])] spids: [8449] ) (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: [8471] ) ] spids: [8471] ) ] spids: [-1 8468] ) (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(type)} {(dpkg-deb)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [8483] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [8486] ) ] ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extractor) op: Equal rhs: {(DQ (dpkg-deb))} spids: [8493] ) ] spids: [8493] ) ] spids: [8477 8490] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extractor) op: Equal rhs: {(DQ (ar))} spids: [8502] ) ] spids: [8502] ) ] spids: [8499 8508] ) (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: [8543] ) spids: [8538 8542] ) (FuncDef name: extract_deb_data body: (BraceGroup children: [ (Sentence child: (C {(extract_dpkg_deb_data)} {(DQ ($ VSub_At "$@"))}) terminator: <Op_Semi ";"> ) ] spids: [8560] ) spids: [8555 8559] ) ] spids: [8534 8535 8572 -1] ) (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: [8584] ) spids: [8579 8583] ) (FuncDef name: extract_deb_data body: (BraceGroup children: [ (Sentence child: (C {(extract_ar_deb_data)} {(DQ ($ VSub_At "$@"))}) terminator: <Op_Semi ";"> ) ] spids: [8601] ) spids: [8596 8600] ) ] spids: [8575 8576 8613 -1] ) ] spids: [8525 8531 8616] ) ] spids: [8446] ) spids: [8441 8445] ) (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: [8640] ) (assign_pair lhs: (LhsName name:cat_cmd) op: Equal spids: [8643] ) ] spids: [8638] ) (ForEach iter_name: pkg iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(debfor)} {(DQ ($ VSub_At "$@"))})] ) left_token: <Left_CommandSub "$("> spids: [8652 8658] ) } ] 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: [8666 8673] ) ) } spids: [8664] ) ] spids: [8664] ) (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: [8696 8710] ) ) } spids: [8694] ) ] spids: [8694] ) (C {(info)} {(EXTRACTING)} {(DQ ("Extracting %s..."))} {(DQ ($ VSub_Name "$packagename"))} ) (C {(extract_deb_data)} {(DQ (./) ($ VSub_Name "$pkg"))}) ] spids: [8661 8735] ) spids: [8651 8659] ) ] ) spids: [8628 8737] ) terminator: <Op_Semi ";"> ) ] spids: [8626] ) spids: [8621 8625] ) (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: [8761] ) ] ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [(C {(true)})] spids: [-1 8765] ) ] spids: [-1 8771] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [8748] ) spids: [8743 8747] ) (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: [8791] ) ] spids: [8789] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [8799] ) ] spids: [8797] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [8807] ) ] spids: [8805] ) (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: [8855] ) ] spids: [8855] ) (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: [8878] ) ] spids: [8878] ) (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: [8889 8930] ) ) } spids: [8887] ) ] spids: [8885] ) (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: [8950] ) ] spids: [8950] ) ] spids: [-1 8947] ) ] spids: [-1 8959] ) ] spids: [-1 8875] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {(DQ ("the log"))} spids: [8965] ) ] spids: [8965] ) ] spids: [8962 8971] ) (C {(warning)} {(DQ ($ VSub_Name "$code"))} {(DQ ($ VSub_Name "$msg"))} {(DQ ($ VSub_Name "$arg"))} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [-1 8833] ) ] spids: [-1 8994] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [8786] ) spids: [8781 8785] ) (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: [9009] ) spids: [9004 9008] ) (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: -1 arg_word: {(DQ ($ VSub_Number "$2") (/) ($ VSub_Number "$1"))} spids: [9099] ) ] ) ] spids: [-1 9090] ) (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: [9107 9120] ) ] spids: [-1 9138] ) ] spids: [-1 9062] ) ] spids: [-1 9141] ) ] spids: [9042] ) spids: [9037 9041] ) (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: [9156] ) ] spids: [9154] ) (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: [9168 9174] ) ) } ) (C {(tr)} {(SQ </>)} {(SQ <_>)}) (C {(sed)} {(SQ <"s/_*//">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [9164 9196] ) ) } spids: [9162] ) ] spids: [9162] ) (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: [9235 9239] ) ) } ) ] spids: [9221 9243] ) spids: [9216 9219] ) ] ) spids: [9200 9246] ) ] spids: [9151] ) spids: [9146 9150] ) (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:[9285])] spids: [9283] ) (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: [9296 9300] ) } ] 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: [9308] ) ] spids: [9306] ) (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: [9326 9350] ) ) } spids: [9322] ) ] spids: [9320] ) (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: [9369] ) ] spids: [9369] ) terminator: <Op_Semi ";"> ) ] spids: [-1 9367] ) ] spids: [-1 9377] ) ] spids: [9303 9380] ) spids: [9295 9301] ) (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: [-1 9400] ) ] spids: [-1 9413] ) ] spids: [9280 9416] ) redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/etc/apt/sources.list))} spids: [9418] ) ] spids: [9274 9278] ) ] spids: [9256] ) spids: [9251 9255] ) (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: [-1 9496] ) ] spids: [-1 9506] ) ] spids: [9433] ) spids: [9428 9432] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:UMOUNT_DIRS) op:Equal rhs:{(SQ )} spids:[9511])] spids: [9511] ) (FuncDef name: umount_exit_function body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:realdir) op:Equal spids:[9524])] spids: [9522] ) (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: [9541 9551] ) ) } spids: [9539] ) ] spids: [9539] ) (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: [9581 9585] ) ) } ) ] ) spids: [9568 9588] ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [9536 9595] ) spids: [9532 9534] ) ] spids: [9519] ) spids: [9514 9518] ) (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: [9622] ) ] spids: [9622] ) ] spids: [-1 9619] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UMOUNT_DIRS) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [9633] ) ] spids: [9633] ) (C {(on_exit)} {(umount_exit_function)}) ] spids: [9630 9644] ) ] spids: [9605] ) spids: [9600 9604] ) (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: [-1 9686] ) ] spids: [-1 9699] ) ] spids: [9654] ) spids: [9649 9653] ) (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: [9744] ) ] ) (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: [-1 9767] ) ] else_action: [ (C {(mount)} {(-t)} {(linprocfs)} {(proc)} {($ VSub_Name "$TARGET") (/proc)}) ] spids: [9783 9798] ) ] spids: [9721 9724 9801 -1] ) (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: [9804 9806 9855 -1] ) (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: [9889] ) ] ) (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: [9937] ) ] ) ] 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: [9956] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) (C {(in_target)} {(mount)} {(-t)} {(sysfs)} {(sysfs)} {(/sys)}) ] spids: [-1 9941] ) ] spids: [-1 9977] ) (C {(on_exit)} {(clear_mtab)}) ] spids: [9858 9859 9985 -1] ) ] spids: [9712 9718 9988] ) (C {(umount_on_exit)} {(/lib/init/rw)}) ] spids: [9709] ) spids: [9704 9708] ) (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: [10003] ) spids: [9998 10002] ) (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: [-1 10047] ) ] spids: [-1 10058] ) (Case to_match: {(DQ ($ VSub_Name "$HOST_OS"))} arms: [ (case_arm pat_list: [{(kfreebsd) (Lit_Other "*")}] spids: [10071 10073 10076 -1] ) (case_arm pat_list:[{(freebsd)}] spids:[100791008010083-1]) (case_arm pat_list: [{(hurd) (Lit_Other "*")}] spids: [10086 10088 10091 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(setup_devices_simple)})] spids: [10094 10095 10101 -1] ) ] spids: [10062 10068 10104] ) ] spids: [10037] ) spids: [10032 10036] ) (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: [-1 10127] ) ] spids: [-1 10135] ) (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: [10148 10150 10165 -1] ) (case_arm pat_list: [{(freebsd)}] action: [(C {(mount)} {(-t)} {(devfs)} {(devfs)} {($ VSub_Name "$TARGET") (/dev)})] spids: [10168 10169 10183 -1] ) (case_arm pat_list: [{(hurd) (Lit_Other "*")}] action: [(C {(in_target)} {(/usr/lib/hurd/setup-translators)} {(-k)})] spids: [10186 10188 10201 -1] ) ] spids: [10139 10145 10204] ) ] spids: [10117] ) spids: [10112 10116] ) (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: [-1 10358] ) ] spids: [-1 10380] ) (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: [10214] ) spids: [10209 10213] ) (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: [10430] ) spids: [10425 10429] ) (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: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/var/lib/dpkg/cmethopt))} spids: [10493] ) ] ) (C {(chmod)} {(644)} {(DQ ($ VSub_Name "$TARGET") (/var/lib/dpkg/cmethopt))}) ] spids: [10473 10474 10511 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(error)} {(1)} {(UNKNOWNDSELECT)} {(DQ ("unknown dselect method"))})] spids: [10514 10515 10529 -1] ) ] spids: [10464 10470 10532] ) ] spids: [10461] ) spids: [10456 10460] ) (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: [-1 10585] ) ] spids: [-1 10592] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:link_dir) op:Equal spids:[10598])] spids: [10596] ) (Case to_match: {($ VSub_Name "$ARCH")} arms: [ (case_arm pat_list: [{(hurd-) (Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [10608 10610 10616 -1] ) (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: [10622] ) ] spids: [10622] ) ] spids: [10619 10620 10627 -1] ) (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: [10633] ) ] spids: [10633] ) ] spids: [10630 10631 10638 -1] ) (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: [10647] ) ] spids: [10647] ) ] spids: [10641 10644 10652 -1] ) (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: [10663] ) ] spids: [10663] ) ] spids: [10655 10660 10668 -1] ) (case_arm pat_list: [{(powerpc)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ (lib64))} spids: [10674] ) ] spids: [10674] ) ] spids: [10671 10672 10679 -1] ) (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: [10685] ) ] spids: [10685] ) ] spids: [10682 10683 10690 -1] ) (case_arm pat_list: [{(ppc64el)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ (lib64))} spids: [10696] ) ] spids: [10696] ) ] spids: [10693 10694 10701 -1] ) (case_arm pat_list: [{(s390x)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ (lib32))} spids: [10707] ) ] spids: [10707] ) ] spids: [10704 10705 10712 -1] ) (case_arm pat_list: [{(sparc)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ (lib64))} spids: [10718] ) ] spids: [10718] ) ] spids: [10715 10716 10723 -1] ) (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: [10729] ) ] spids: [10729] ) ] spids: [10726 10727 10734 -1] ) (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: [10740] ) ] spids: [10740] ) ] spids: [10737 10738 10745 -1] ) ] spids: [10601 10605 10748] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_dir) op: Equal rhs: {(DQ ("bin sbin lib ") ($ VSub_Name "$link_dir"))} spids: [10751] ) ] spids: [10751] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal spids:[10761])] spids: [10759] ) (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: [10773 10797] ) spids: [10769 10771] ) ] spids: [10565] ) spids: [10561 10564] ) (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: [10826] ) ] spids: [10826] ) (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: [10836] ) spids: [10831 10835] ) (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: [-1 10928] ) (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: [10986] ) ] spids: [10984] ) 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: -1 arg_word: {(DQ ($ VSub_Name "$pkgdest"))} spids: [11034] ) ] ) (C {(sort)}) (C {(uniq)}) ] negated: False ) ] spids: [10964 10981] ) (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: [11074] ) ] spids: [11072] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [11082] ) ] spids: [11080] ) (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: -1 arg_word: {(DQ ($ VSub_Name "$p"))} spids: [11112] ) ] ) ] spids: [11052 11069] ) (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: [11141] ) ] spids: [11139] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:m) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [11149] ) ] spids: [11147] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: {(DQ ($ VSub_Number "$4"))} spids: [11157] ) ] spids: [11155] ) (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: -1 arg_word: {(DQ ($ VSub_Name "$p"))} spids: [11191] ) ] ) ] spids: [11119 11136] ) (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: [11220] ) ] spids: [11218] ) 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: -1 arg_word: {(DQ ($ VSub_Name "$pkgdest"))} spids: [11255] ) ] ) ] spids: [11198 11215] ) ] spids: [-1 11265] ) ] spids: [10908] ) spids: [10903 10907] ) ] spids: [-1 10823] ) (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: [11286] ) ] spids: [11286] ) ] spids: [11270 11283] ) (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: [11308] ) ] spids: [11308] ) ] spids: [11291 11305] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PKGDETAILS) op:Equal rhs:{(DQ )} spids:[11317])] spids: [11317] ) ] spids: [11314 11321] ) (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: [11340 11344] ) ) } spids: [11338] ) ] spids: [11336] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:PKGS) op: Equal rhs: {(DQ ($ VSub_Star "$*"))} spids: [11351] ) ] spids: [11349] ) (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ALLPKGS) op: Equal rhs: {(DQ ($ VSub_Name "$PKGS"))} spids: [11359] ) ] spids: [11357] ) terminator: <Op_Semi ";"> ) (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ALLPKGS2) op: Equal rhs: {(DQ )} spids: [11368] ) ] spids: [11366] ) 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: [11396] ) ] spids: [11394] ) (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: [11407 11411] ) } ] 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: [11419] ) ] spids: [11417] ) (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: [11437 11461] ) ) } spids: [11433] ) ] spids: [11431] ) (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: [11469 11481] ) ) } spids: [11465] ) ] spids: [11465] ) ] spids: [11414 11485] ) spids: [11406 11412] ) (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: [11489 11517] ) } spids: [11488] ) ] spids: [11488] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:REALPKGS) op: Equal rhs: {(DQ )} spids: [11522] ) ] spids: [11520] ) (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: [11533 11537] ) } ] 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: [11545] ) ] spids: [11543] ) (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: [11563 11587] ) ) } spids: [11559] ) ] spids: [11557] ) (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: [11595 11619] ) ) } spids: [11591] ) ] spids: [11591] ) ] spids: [11540 11623] ) spids: [11532 11538] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKGS) op: Equal rhs: {(DQ ($ VSub_Name "$REALPKGS"))} spids: [11626] ) ] spids: [11626] ) (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: [11633 11661] ) } spids: [11632] ) ] spids: [11632] ) (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: [11665 11675] ) } spids: [11664] ) ] spids: [11664] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ALLPKGS) op: Equal rhs: {(DQ ($ VSub_Name "$ALLPKGS2"))} spids: [11678] ) ] spids: [11678] ) ] spids: [11391 11684] ) ) (C {(echo)} {($ VSub_Name "$ALLPKGS")}) ] spids: [11333] ) spids: [11328 11332] ) (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: [11706 11710] ) ) } spids: [11704] ) ] spids: [11702] ) (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: [11721 11725] ) } ] 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: [11733] ) ] spids: [11731] ) (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: [11751 11775] ) ) } spids: [11747] ) ] spids: [11745] ) (C {(DQ ($ VSub_Name "$PKGDETAILS"))} {(STANZAS)} {(DQ ($ VSub_Name "$pkgdest"))} {(DQ ($ VSub_At "$@"))} ) ] spids: [11728 11802] ) redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/var/lib/dpkg/available))} spids: [11804] ) ] spids: [11720 11726] ) (Pipeline children: [ (ForEach iter_name: pkg do_arg_iter: True body: (DoGroup children: [(C {(echo)} {(DQ ($ VSub_Name "$pkg") (" install"))})] spids: [11817 11828] ) spids: [-1 -1] ) (C {(in_target)} {(dpkg)} {(--set-selections)}) ] negated: False ) ] spids: [11699] ) spids: [11694 11698] ) (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: [11853 11859] ) ) } spids: [11851] ) ] spids: [11849] ) (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: [11846] ) spids: [11841 11845] ) (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: [11943 11949 11952 -1] ) (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: -1 arg_word: {(DQ ($ VSub_Number "$1") (/test-dev-null))} spids: [11987] ) ] ) ] 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: [-1 11995] ) ] spids: [-1 12013] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Number "$1") (/test-dev-null))}) ] spids: [11955 11956 12026 -1] ) ] spids: [11934 11940 12029] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SH) op:Equal rhs:{(/bin/sh)} spids:[12033])] spids: [12033] ) (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: [12048 12052] ) } spids: [12047] ) ] spids: [12047] ) ] op_id: Op_DPipe ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Number "$1") (/test-exec))} spids: [12058] ) (HereDoc op_id: Redir_DLess fd: -1 body: {(DQ ("#! ") ($ VSub_Name "$SH") ("\n") (":\n"))} do_expansion: True here_end: EOF was_filled: True spids: [12065] ) ] ) (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: [-1 12094] ) ] spids: [-1 12112] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Number "$1") (/test-exec))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [11921] ) spids: [11916 11920] ) (FuncDef name: read_gpg_status body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:badsig) op:Equal rhs:{(SQ )} spids:[12141])] spids: [12141] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:unkkey) op:Equal rhs:{(SQ )} spids:[12144])] spids: [12144] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:validsig) op:Equal rhs:{(SQ )} spids:[12147])] spids: [12147] ) (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: [12195] ) ] spids: [12195] ) ] spids: [12192 12193 12200 -1] ) (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: [12206] ) ] spids: [12206] ) ] spids: [12203 12204 12211 -1] ) (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: [12217] ) ] spids: [12217] ) ] spids: [12214 12215 12222 -1] ) ] spids: [12185 12189 12225] ) ] spids: [12163 12228] ) ) (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: [-1 12242] ) (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: [12258 12269] ) (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: [12287 12298] ) ] else_action: [ (C {(error)} {(1)} {(SIGCHECK)} {(DQ ("Error executing gpgv to check Release signature"))}) ] spids: [12316 12330] ) ] spids: [12138] ) spids: [12133 12137] ) (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: [12347 12391] ) (C {(sort)}) (C {(uniq)} {(-u)}) (C {(tr)} {(SQ <"\\n">)} {(SQ <" ">)}) ] negated: False ) (C {(echo)}) ] spids: [12340] ) spids: [12335 12339] ) (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: [12434] ) ] spids: [12432] ) (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: [-1 12468] ) ] 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: [12479 12488] ) ) } spids: [12477] ) ] spids: [12477] ) (C {(sleep)} {(1)}) ] spids: [12474 12497] ) ] spids: [12458 12500] ) ) (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: [-1 12518] ) ] spids: [-1 12525] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [12429] ) spids: [12424 12428] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:N_EXIT_THINGS) op:Equal rhs:{(0)} spids:[12535])] spids: [12535] ) (FuncDef name: exit_function body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:n) op:Equal rhs:{(0)} spids:[12548])] spids: [12546] ) (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: [12575 12585] ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [12587] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) spids: [12572 12593] ) (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: [12598 12607] ) ) } spids: [12596] ) ] spids: [12596] ) ] spids: [12569 12611] ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:N_EXIT_THINGS) op:Equal rhs:{(0)} spids:[12614])] spids: [12614] ) ] spids: [12543] ) spids: [12538 12542] ) (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: [12674 12685] ) } ) (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: [12690 12699] ) ) } spids: [12688] ) ] spids: [12688] ) ] spids: [12669] ) spids: [12664 12668] ) (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: [-1 12734] ) ] spids: [-1 12747] ) (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: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/sbin/ldconfig))} spids: [12776] ) ] ) (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: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/var/lib/dpkg/diversions))} spids: [12804] ) ] ) (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: -1 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: [12828] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/usr/bin/ldd))} spids: [12834] ) ] ) (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: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/var/lib/dpkg/diversions))} spids: [12862] ) ] ) ] spids: [12714] ) spids: [12709 12713] ) ] )