(CommandList children: [ (C {(set)} {(-e)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:VERSION) op:Equal rhs:{(SQ <'@VERSION@'>)} spids:[8])] spids: [8] ) (AndOr children:[(C {(unset)} {(TMP)} {(TEMP)} {(TMPDIR)})(C {(true)})] op_id:Op_DPipe) (C {(export)} {(PATH)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(/debootstrap/debootstrap)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEBOOTSTRAP_DIR) op: Equal rhs: {(/debootstrap)} spids: [69] ) ] spids: [69] ) ] spids: [-1 66] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEBOOTSTRAP_DIR) op: Equal rhs: {(/usr/share/debootstrap)} spids: [76] ) ] spids: [76] ) ] spids: [73 80] ) ] spids: [-1 52] ) ] spids: [-1 82] ) (C {(.)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/functions)}) (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(1)} spids:[92])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:LANG) op:Equal rhs:{(C)} spids:[96])] spids: [96] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:USE_COMPONENTS) op:Equal rhs:{(main)} spids:[99])] spids: [99] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:KEYRING) op:Equal rhs:{(DQ )} spids:[102])] spids: [102] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DISABLE_KEYRING) op:Equal rhs:{(DQ )} spids:[106])] spids: [106] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FORCE_KEYRING) op:Equal rhs:{(DQ )} spids:[110])] spids: [110] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:VARIANT) op:Equal rhs:{(DQ )} spids:[114])] spids: [114] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MERGED_USR) op:Equal rhs:{(DQ (no))} spids:[118])] spids: [118] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ARCH) op:Equal rhs:{(DQ )} spids:[123])] spids: [123] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:HOST_ARCH) op:Equal rhs:{(DQ )} spids:[127])] spids: [127] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:HOST_OS) op:Equal rhs:{(DQ )} spids:[131])] spids: [131] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:KEEP_DEBOOTSTRAP_DIR) op:Equal rhs:{(DQ )} spids:[135])] spids: [135] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_DEBIANINSTALLER_INTERACTION) op: Equal rhs: {(DQ )} spids: [139] ) ] spids: [139] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SECOND_STAGE_ONLY) op:Equal rhs:{(DQ )} spids:[143])] spids: [143] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PRINT_DEBS) op:Equal rhs:{(DQ )} spids:[147])] spids: [147] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CHROOTDIR) op:Equal rhs:{(DQ )} spids:[151])] spids: [151] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MAKE_TARBALL) op:Equal rhs:{(DQ )} spids:[155])] spids: [155] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:EXTRACTOR_OVERRIDE) op:Equal rhs:{(DQ )} spids:[159])] spids: [159] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:UNPACK_TARBALL) op:Equal rhs:{(DQ )} spids:[163])] spids: [163] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ADDITIONAL) op:Equal rhs:{(DQ )} spids:[167])] spids: [167] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:EXCLUDE) op:Equal rhs:{(DQ )} spids:[171])] spids: [171] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:VERBOSE) op:Equal rhs:{(DQ )} spids:[175])] spids: [175] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CERTIFICATE) op:Equal rhs:{(DQ )} spids:[179])] spids: [179] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CHECKCERTIF) op:Equal rhs:{(DQ )} spids:[183])] spids: [183] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PRIVATEKEY) op:Equal rhs:{(DQ )} spids:[187])] spids: [187] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEF_MIRROR) op: Equal rhs: {(DQ ('http://deb.debian.org/debian'))} spids: [192] ) ] spids: [192] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEF_HTTPS_MIRROR) op: Equal rhs: {(DQ ('https://deb.debian.org/debian'))} spids: [197] ) ] spids: [197] ) (C {(export)} {(LANG)} {(USE_COMPONENTS)}) (C {(umask)} {(022)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:RESOLVE_DEPS) op:Equal rhs:{(true)} spids:[225])] spids: [225] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ('finddebs dldebs first_stage second_stage'))} spids: [229] ) ] spids: [229] ) (FuncDef name: am_doing_phase body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[248])] spids: [246] ) terminator: <Op_Semi ';'> ) (ForEach iter_name: x iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(echo)} {(DQ (' ') ($ VSub_Name '$WHAT_TO_DO') (' '))}) (C {(grep)} {(-q)} {(DQ (' ') ($ VSub_Name '$x') (' '))}) ] negated: False ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [-1 289] ) ] spids: [-1 296] ) ] spids: [263 299] ) spids: [257 261] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [239] ) spids: [234 238] ) (FuncDef name: usage_err body: (BraceGroup children: [ (C {(info)} {(USAGE1)} {(DQ ('usage: [OPTION]... <suite> <target> [<mirror> [<script>]]'))}) (C {(info)} {(USAGE2)} { (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (BracedVarSub token: <VSub_Number 0> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [336 341] ) (" --help' for more information.") ) } ) (C {(error)} {(DQ ($ VSub_At '$@'))}) ] spids: [317] ) spids: [313 316] ) (FuncDef name: usage body: (BraceGroup children: [ (C {(echo)} { (DQ ('Usage: ') (BracedVarSub token: <VSub_Number 0> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [366 371] ) (' [OPTION]... <suite> <target> [<mirror> [<script>]]') ) } ) (C {(echo)} {(DQ ('Bootstrap a Debian base system into a target directory.'))}) (C {(echo)}) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ (' --help display this help and exit\n') (' --version display version information and exit\n') (" --verbose don't turn off the output of wget\n") ('\n') ( " --download-only download packages, but don't perform installation\n" ) (' --print-debs print the packages to be installed, and exit\n') ('\n') ( ' --arch=A set the architecture to install (use if no dpkg)\n' ) (' [ --arch=powerpc ]\n') ('\n') ( ' --include=A,B,C adds specified names to the list of base packages\n' ) (' --exclude=A,B,C removes specified packages from the list\n') ( ' --components=A,B,C use packages from the listed components of the\n' ) (' archive\n') (' --variant=X use variant X of the bootstrap scripts\n') (' (currently supported variants: buildd, fakechroot,\n') (' minbase)\n') (' --merged-usr make /{bin,sbin,lib}/ symlinks to /usr/\n') (' --keyring=K check Release files against keyring K\n') (' --no-check-gpg avoid checking Release file signatures\n') (' --force-check-gpg force checking Release file signatures\n') (' (also disables automatic fallback to HTTPS in case\n') ( ' of a missing keyring), aborting otherwise\n' ) (" --no-resolve-deps don't try to resolve dependencies automatically\n") ('\n') ( ' --unpack-tarball=T acquire .debs from a tarball instead of http\n' ) (' --make-tarball=T download .debs and create a tarball (tgz format)\n') (' --second-stage-target=DIR\n') (' Run second stage in a subdirectory instead of root\n') ( ' (can be used to create a foreign chroot)\n' ) (' (requires --second-stage)\n') ( ' --extractor=TYPE override automatic .deb extractor selection\n' ) (' (supported: ') ($ VSub_Name '$EXTRACTORS_SUPPORTED') (')\n') ( ' --debian-installer used for internal purposes by debian-installer\n' ) (' --private-key=file read the private key from file\n') ( ' --certificate=file use the client certificate stored in file (PEM)\n' ) (' --no-check-certificate do not check certificate against certificate authorities\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [388] ) ] ) ] spids: [359] ) spids: [355 358] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$PKGDETAILS'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NO_PKGDETAILS)} { (DQ ( 'No pkgdetails available; either install perl, or build pkgdetails.c from the base-installer source package' ) ) } ) ] spids: [-1 451] ) ] spids: [-1 464] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (While cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(--help)}] action: [(C {(usage)}) (C {(exit)} {(0)})] spids: [507 508 519 -1] ) (case_arm pat_list: [{(--version)}] action: [ (C {(echo)} {(DQ ('debootstrap ') ($ VSub_Name '$VERSION'))}) (C {(exit)} {(0)}) ] spids: [522 523 539 -1] ) (case_arm pat_list: [{(--debian-installer)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (Subshell child: (SimpleCommand words: [{(echo)} {(-n)} {(DQ )}] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(3)} spids: [558] ) ] ) redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [562] ) ] spids: [550 560] ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(ARG_DIBYHAND)} { (DQ ( "If running debootstrap by hand, don't use --debian-installer" ) ) } ) ] spids: [-1 566] ) ] spids: [-1 580] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_DEBIANINSTALLER_INTERACTION) op: Equal rhs: {(yes)} spids: [583] ) ] spids: [583] ) (C {(shift)}) ] spids: [542 543 590 -1] ) (case_arm pat_list: [{(--foreign)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PRINT_DEBS'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ('finddebs dldebs first_stage'))} spids: [618] ) ] spids: [618] ) ] spids: [-1 615] ) ] spids: [-1 624] ) (C {(shift)}) ] spids: [593 594 630 -1] ) (case_arm pat_list: [{(--second-stage)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ (second_stage))} spids: [637] ) ] spids: [637] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SECOND_STAGE_ONLY) op: Equal rhs: {(true)} spids: [643] ) ] spids: [643] ) (C {(shift)}) ] spids: [633 634 650 -1] ) (case_arm pat_list: [ {(--second-stage-target)} {(--second-stage-target) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(STAGE2ONLY)} {(DQ ('option %s only applies in the second stage'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [-1 681] ) ] spids: [-1 699] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--second-stage-target))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHROOTDIR) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [731] ) ] spids: [731] ) (C {(shift)} {(2)}) ] spids: [-1 728] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--second-stage-target=')} ) spids: [754 758] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHROOTDIR) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--second-stage-target=')} ) spids: [769 773] ) ) } spids: [767] ) ] spids: [767] ) (C {(shift)}) ] spids: [742 764] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument: %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [780 798] ) ] spids: [653 659 801 -1] ) (case_arm pat_list: [{(--print-debs)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ('finddebs printdebs kill_target'))} spids: [808] ) ] spids: [808] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PRINT_DEBS) op: Equal rhs: {(true)} spids: [814] ) ] spids: [814] ) (C {(shift)}) ] spids: [804 805 821 -1] ) (case_arm pat_list: [{(--download-only)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ('finddebs dldebs'))} spids: [828] ) ] spids: [828] ) (C {(shift)}) ] spids: [824 825 837 -1] ) (case_arm pat_list: [ {(--make-tarball)} {(--make-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ('finddebs dldebs maketarball kill_target'))} spids: [849] ) ] spids: [849] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--make-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MAKE_TARBALL) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [884] ) ] spids: [884] ) (C {(shift)} {(2)}) ] spids: [-1 881] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--make-tarball=')} ) spids: [907 911] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MAKE_TARBALL) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--make-tarball=')} ) spids: [922 926] ) ) } spids: [920] ) ] spids: [920] ) (C {(shift)}) ] spids: [895 917] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [933 951] ) ] spids: [840 846 954 -1] ) (case_arm pat_list: [{(--resolve-deps)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESOLVE_DEPS) op: Equal rhs: {(true)} spids: [965] ) ] spids: [965] ) (C {(shift)}) ] spids: [957 958 972 -1] ) (case_arm pat_list: [{(--no-resolve-deps)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESOLVE_DEPS) op: Equal rhs: {(false)} spids: [979] ) ] spids: [979] ) (C {(shift)}) ] spids: [975 976 986 -1] ) (case_arm pat_list: [{(--keep-debootstrap-dir)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KEEP_DEBOOTSTRAP_DIR) op: Equal rhs: {(true)} spids: [993] ) ] spids: [993] ) (C {(shift)}) ] spids: [989 990 1000 -1] ) (case_arm pat_list: [ {(--arch)} {(--arch) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--arch))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ARCH) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1041] ) ] spids: [1041] ) (C {(shift)} {(2)}) ] spids: [-1 1038] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--arch=')} ) spids: [1064 1068] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ARCH) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--arch=')} ) spids: [1079 1083] ) ) } spids: [1077] ) ] spids: [1077] ) (C {(shift)}) ] spids: [1052 1074] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1090 1108] ) ] spids: [1003 1009 1111 -1] ) (case_arm pat_list: [ {(--extractor)} {(--extractor) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--extractor))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRACTOR_OVERRIDE) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1152] ) ] spids: [1152] ) (C {(shift)} {(2)}) ] spids: [-1 1149] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--extractor=')} ) spids: [1175 1179] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRACTOR_OVERRIDE) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--extractor=')} ) spids: [1190 1194] ) ) } spids: [1188] ) ] spids: [1188] ) (C {(shift)}) ] spids: [1163 1185] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1201 1219] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(valid_extractor)} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [ {(type)} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [1244] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [1247] ) ] ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(MISSINGEXTRACTOR)} {(DQ ('The selected extractor cannot be found: %s'))} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} ) ] spids: [-1 1251] ) ] spids: [-1 1269] ) ] spids: [-1 1231] ) ] else_action: [ (C {(error)} {(1)} {(BADEXTRACTOR)} {(DQ ('%s: unknown extractor'))} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} ) ] spids: [1272 1290] ) ] spids: [1114 1120 1293 -1] ) (case_arm pat_list: [ {(--unpack-tarball)} {(--unpack-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--unpack-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UNPACK_TARBALL) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1334] ) ] spids: [1334] ) (C {(shift)} {(2)}) ] spids: [-1 1331] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--unpack-tarball=')} ) spids: [1357 1361] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UNPACK_TARBALL) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--unpack-tarball=')} ) spids: [1372 1376] ) ) } spids: [1370] ) ] spids: [1370] ) (C {(shift)}) ] spids: [1345 1367] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1383 1401] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NOTARBALL)} {(DQ ('%s: No such file or directory'))} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} ) ] spids: [-1 1420] ) ] spids: [-1 1438] ) ] spids: [1296 1302 1441 -1] ) (case_arm pat_list: [ {(--include)} {(--include) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--include))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADDITIONAL) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1481] ) ] spids: [1481] ) (C {(shift)} {(2)}) ] spids: [-1 1478] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--include=')} ) spids: [1504 1508] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADDITIONAL) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--include=')} ) spids: [1519 1523] ) ) } spids: [1517] ) ] spids: [1517] ) (C {(shift)} {(1)}) ] spids: [1492 1514] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1532 1550] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADDITIONAL) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$ADDITIONAL'))}) (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1555 1571] ) ) } spids: [1553] ) ] spids: [1553] ) ] spids: [1444 1450 1575 -1] ) (case_arm pat_list: [ {(--exclude)} {(--exclude) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--exclude))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXCLUDE) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1615] ) ] spids: [1615] ) (C {(shift)} {(2)}) ] spids: [-1 1612] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--exclude=')} ) spids: [1638 1642] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXCLUDE) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--exclude=')} ) spids: [1653 1657] ) ) } spids: [1651] ) ] spids: [1651] ) (C {(shift)} {(1)}) ] spids: [1626 1648] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1666 1684] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXCLUDE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$EXCLUDE'))}) (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1689 1705] ) ) } spids: [1687] ) ] spids: [1687] ) ] spids: [1578 1584 1709 -1] ) (case_arm pat_list: [{(--verbose)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERBOSE) op: Equal rhs: {(true)} spids: [1716] ) ] spids: [1716] ) (C {(export)} {(VERBOSE)}) (C {(shift)} {(1)}) ] spids: [1712 1713 1730 -1] ) (case_arm pat_list: [ {(--components)} {(--components) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--components))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_COMPONENTS) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1770] ) ] spids: [1770] ) (C {(shift)} {(2)}) ] spids: [-1 1767] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--components=')} ) spids: [1793 1797] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_COMPONENTS) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--components=')} ) spids: [1808 1812] ) ) } spids: [1806] ) ] spids: [1806] ) (C {(shift)} {(1)}) ] spids: [1781 1803] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1821 1839] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_COMPONENTS) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$USE_COMPONENTS'))}) (C {(tr)} {(Lit_Comma ',')} {(DQ ('|'))}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1844 1860] ) ) } spids: [1842] ) ] spids: [1842] ) ] spids: [1733 1739 1864 -1] ) (case_arm pat_list: [ {(--variant)} {(--variant) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--variant))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VARIANT) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1904] ) ] spids: [1904] ) (C {(shift)} {(2)}) ] spids: [-1 1901] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--variant=')} ) spids: [1927 1931] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VARIANT) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--variant=')} ) spids: [1942 1946] ) ) } spids: [1940] ) ] spids: [1940] ) (C {(shift)} {(1)}) ] spids: [1915 1937] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1955 1973] ) ] spids: [1867 1873 1976 -1] ) (case_arm pat_list: [{(--merged-usr)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MERGED_USR) op: Equal rhs: {(yes)} spids: [1983] ) ] spids: [1983] ) (C {(shift)}) ] spids: [1979 1980 1990 -1] ) (case_arm pat_list: [{(--no-merged-usr)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MERGED_USR) op: Equal rhs: {(no)} spids: [1997] ) ] spids: [1997] ) (C {(shift)}) ] spids: [1993 1994 2004 -1] ) (case_arm pat_list: [ {(--keyring)} {(--keyring) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(gpgv)} {(--version)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [2024] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2027] ) ] ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NEEDGPGV)} { (DQ ( 'gpgv not installed, but required for Release verification' ) ) } ) ] spids: [-1 2031] ) ] spids: [-1 2045] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--keyring))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KEYRING) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2076] ) ] spids: [2076] ) (C {(shift)} {(2)}) ] spids: [-1 2073] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--keyring=')} ) spids: [2099 2103] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KEYRING) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--keyring=')} ) spids: [2114 2118] ) ) } spids: [2112] ) ] spids: [2112] ) (C {(shift)} {(1)}) ] spids: [2087 2109] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2127 2145] ) ] spids: [2007 2013 2148 -1] ) (case_arm pat_list: [{(--no-check-gpg)}] action: [ (C {(shift)} {(1)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISABLE_KEYRING) op: Equal rhs: {(1)} spids: [2160] ) ] spids: [2160] ) ] spids: [2151 2152 2164 -1] ) (case_arm pat_list: [{(--force-check-gpg)}] action: [ (C {(shift)} {(1)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FORCE_KEYRING) op: Equal rhs: {(1)} spids: [2176] ) ] spids: [2176] ) ] spids: [2167 2168 2180 -1] ) (case_arm pat_list: [ {(--certificate)} {(--certificate) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--certificate))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CERTIFICATE) op: Equal rhs: {(DQ ('--certificate=') ($ VSub_Number '$2'))} spids: [2220] ) ] spids: [2220] ) (C {(shift)} {(2)}) ] spids: [-1 2217] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--certificate=')} ) spids: [2244 2248] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CERTIFICATE) op: Equal rhs: { (DQ ('--certificate=') (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--certificate=')} ) spids: [2260 2264] ) ) } spids: [2257] ) ] spids: [2257] ) (C {(shift)} {(1)}) ] spids: [2232 2254] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2274 2293] ) ] spids: [2183 2189 2296 -1] ) (case_arm pat_list: [ {(--private-key)} {(--private-key) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--private-key))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PRIVATEKEY) op: Equal rhs: {(DQ ('--private-key=') ($ VSub_Number '$2'))} spids: [2336] ) ] spids: [2336] ) (C {(shift)} {(2)}) ] spids: [-1 2333] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--private-key=')} ) spids: [2360 2364] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PRIVATEKEY) op: Equal rhs: { (DQ ('--private-key=') (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--private-key=')} ) spids: [2376 2380] ) ) } spids: [2373] ) ] spids: [2373] ) (C {(shift)} {(1)}) ] spids: [2348 2370] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2390 2409] ) ] spids: [2299 2305 2412 -1] ) (case_arm pat_list: [{(--no-check-certificate)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHECKCERTIF) op: Equal rhs: {(DQ (--no-check-certificate))} spids: [2419] ) ] spids: [2419] ) (C {(shift)}) ] spids: [2415 2416 2428 -1] ) (case_arm pat_list: [{(-) (Lit_Other '*')}] action: [ (C {(error)} {(1)} {(BADARG)} {(DQ ('unrecognized or invalid option %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2431 2433 2451 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [2454 2455 2461 -1] ) ] spids: [498 504 2464] ) ] spids: [495 2467] ) ) ] spids: [-1 486] ) ] spids: [-1 2469] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$DISABLE_KEYRING'))} {(-a)} {(-n)} {(DQ ($ VSub_Name '$FORCE_KEYRING'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(BADARG)} { (DQ ( 'Both --no-check-gpg and --force-check-gpg specified, please pick one (at most)' ) ) } ) ] spids: [-1 2497] ) ] spids: [-1 2510] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUITE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/suite)})] ) left_token: <Left_CommandSub '$('> spids: [2538 2543] ) } spids: [2537] ) ] spids: [2537] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)})] ) left_token: <Left_CommandSub '$('> spids: [2547 2552] ) } spids: [2546] ) ] spids: [2546] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/variant)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VARIANT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/variant)}) ] ) left_token: <Left_CommandSub '$('> spids: [2571 2576] ) } spids: [2570] ) ] spids: [2570] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUPPORTED_VARIANTS) op: Equal rhs: {(DQ ($ VSub_Name '$VARIANT'))} spids: [2579] ) ] spids: [2579] ) ] spids: [-1 2567] ) ] spids: [-1 2585] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$CHROOTDIR'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TARGET) op:Equal rhs:{(/)} spids:[2604])] spids: [2604] ) ] spids: [-1 2601] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET) op: Equal rhs: {($ VSub_Name '$CHROOTDIR')} spids: [2611] ) ] spids: [2611] ) ] spids: [2608 2615] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCRIPT) op: Equal rhs: {($ VSub_Name '$DEBOOTSTRAP_DIR') (/suite-script)} spids: [2618] ) ] spids: [2618] ) ] spids: [-1 2534] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [ (C {(usage_err)} {(1)} {(NEEDSUITETARGET)} {(DQ ('You must specify a suite and a target.'))} ) ] spids: [-1 2650] ) ] spids: [-1 2664] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUITE) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2667] ) ] spids: [2667] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2673] ) ] spids: [2673] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USER_MIRROR) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [2679] ) ] spids: [2679] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name TARGET> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)}) spids: [2687 2691] ) ) } spids: [2685] ) ] spids: [2685] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name TARGET> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(Lit_Slash /)}) spids: [2700 2704] ) ) } {(Lit_Other '=')} {(DQ (${ VSub_Name TARGET))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name TARGET> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [2726 2731] ) ) } {(Lit_Other '=')} {(DQ ($ VSub_Name '$TARGET'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(pwd)})] ) left_token: <Left_Backtick '`'> spids: [2753 2755] ) (/) ($ VSub_Name '$TARGET') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2749 2759] ) ) } spids: [2747] ) ] spids: [2747] ) ] spids: [-1 2744] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Sentence child: (C {(cd)} { (DQ (BracedVarSub token: <VSub_Name TARGET> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [2772 2777] ) ) } ) terminator: <Op_Semi ';'> ) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [2784 2786] ) (/) (BracedVarSub token: <VSub_Name TARGET> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [2788 2793] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2768 2795] ) ) } spids: [2766] ) ] spids: [2766] ) ] spids: [2763 2799] ) ] spids: [-1 2718] ) ] spids: [-1 2802] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCRIPT) op: Equal rhs: {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR') (/scripts/) ($ VSub_Number '$1'))} spids: [2806] ) ] spids: [2806] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCRIPT) op: Equal rhs: {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} spids: [2848] ) ] spids: [2848] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUPPORTED_VARIANTS) op: Equal rhs: {(DQ ($ VSub_Name '$VARIANT'))} spids: [2860] ) ] spids: [2860] ) ] spids: [-1 2845] ) ] spids: [-1 2866] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$4'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCRIPT) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [2889] ) ] spids: [2889] ) ] spids: [-1 2886] ) ] spids: [-1 2895] ) ] spids: [2622 2897] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(dpkg)}) (SimpleCommand words: [{(dpkg)} {(--print-architecture)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [2918] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2921] ) ] ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(/usr/bin/dpkg)} {(--print-architecture)})] ) left_token: <Left_Backtick '`'> spids: [2929 2933] ) } spids: [2928] ) ] spids: [2928] ) ] spids: [-1 2925] ) (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(udpkg)}) (SimpleCommand words: [{(udpkg)} {(--print-architecture)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [2949] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2952] ) ] ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(/usr/bin/udpkg)} {(--print-architecture)})] ) left_token: <Left_Backtick '`'> spids: [2960 2964] ) } spids: [2959] ) ] spids: [2959] ) ] spids: [2935 2956] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)})] ) left_token: <Left_Backtick '`'> spids: [2982 2987] ) } spids: [2981] ) ] spids: [2981] ) ] spids: [2966 2978] ) ] spids: [-1 2989] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(DQ ($ VSub_Name '$HOST_ARCH'))} spids: [2991] ) ] spids: [2991] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Case to_match: { (CommandSubPart command_list: (CommandList children:[(C {(uname)})]) left_token: <Left_Backtick '`'> spids: [3017 3019] ) } arms: [ (case_arm pat_list: [{(Linux)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(linux)} spids: [3028] ) ] spids: [3028] ) ] spids: [3024 3025 3032 -1] ) (case_arm pat_list: [{(GNU/kFreeBSD)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(kfreebsd)} spids: [3039] ) ] spids: [3039] ) ] spids: [3035 3036 3043 -1] ) (case_arm pat_list: [{(GNU)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(hurd)} spids: [3050] ) ] spids: [3050] ) ] spids: [3046 3047 3054 -1] ) (case_arm pat_list: [{(FreeBSD) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(freebsd)} spids: [3062] ) ] spids: [3062] ) ] spids: [3057 3059 3066 -1] ) ] spids: [3015 3021 3069] ) ] spids: [-1 3012] ) ] spids: [-1 3071] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ARCH'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ARCH) op: Equal rhs: {($ VSub_Name '$HOST_ARCH')} spids: [3090] ) ] spids: [3090] ) ] spids: [-1 3087] ) ] spids: [-1 3093] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ARCH'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other ']')}) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [(C {(error)} {(1)} {(WHATARCH)} {(DQ ("Couldn't work out current architecture"))})] spids: [-1 3121] ) ] spids: [-1 3135] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other '=')} {(DQ (kfreebsd))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other '=')} {(DQ (freebsd))} {(Lit_Other ']')} ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [ (ForEach iter_name: module iter_words: [{(linprocfs)} {(fdescfs)} {(tmpfs)} {(linsysfs)}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (SimpleCommand words: [{(kldstat)} {(-m)} {(DQ ($ VSub_Name '$module'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [3200] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [3204] ) ] ) (C {(warning)} {(SANITYCHECK)} {(DQ ('Probably required module %s is not loaded'))} {(DQ ($ VSub_Name '$module'))} ) ] op_id: Op_DPipe ) ] spids: [3189 3222] ) spids: [3179 3187] ) ] spids: [-1 3171] ) ] spids: [-1 3224] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$TARGET'))} {(Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CHROOT_CMD) op:Equal rhs:{(DQ )} spids:[3247])] spids: [3247] ) ] spids: [-1 3244] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHROOT_CMD) op: Equal rhs: {(DQ ('chroot ') ($ VSub_Name '$TARGET'))} spids: [3254] ) ] spids: [3254] ) ] spids: [3251 3260] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$SHA_SIZE'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SHA_SIZE) op:Equal rhs:{(256)} spids:[3279])] spids: [3279] ) ] spids: [-1 3276] ) ] spids: [-1 3282] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE) (sum))})] negated: True ) (Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE))})] negated: True ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SHA_SIZE) op:Equal rhs:{(1)} spids:[3315])] spids: [3315] ) ] spids: [-1 3312] ) ] spids: [-1 3318] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEBOOTSTRAP_CHECKSUM_FIELD) op: Equal rhs: {(DQ (SHA) ($ VSub_Name '$SHA_SIZE'))} spids: [3320] ) ] spids: [3320] ) (C {(export)} {(ARCH)} {(SUITE)} {(TARGET)} {(CHROOT_CMD)} {(SHA_SIZE)} {(DEBOOTSTRAP_CHECKSUM_FIELD)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(am_doing_phase)} {(first_stage)} {(second_stage)}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(id)}) (C {(Lit_Other '[')} { (CommandSubPart command_list: (CommandList children:[(C {(id)} {(-u)})]) left_token: <Left_Backtick '`'> spids: [3364 3368] ) } {(-ne)} {(0)} {(Lit_Other ']')} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [(C {(error)} {(1)} {(NEEDROOT)} {(DQ ('debootstrap can only run as root'))})] spids: [-1 3377] ) ] spids: [-1 3391] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(check_sane_mount)} {(DQ ($ VSub_Name '$TARGET'))})] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NOEXEC)} { (DQ ("Cannot install into target '") ($ VSub_Name '$TARGET') ("' mounted with noexec or nodev") ) } ) ] spids: [-1 3409] ) ] spids: [-1 3425] ) ] spids: [-1 3351] ) ] spids: [-1 3427] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_Name '$SCRIPT'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NOSCRIPT)} {(DQ ('No such script: %s'))} {(DQ ($ VSub_Name '$SCRIPT'))}) ] spids: [-1 3445] ) ] spids: [-1 3462] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$TARGET'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap))})] spids: [-1 3486] ) ] spids: [-1 3498] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_DEBIANINSTALLER_INTERACTION'))} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(3)} spids:[3552])] ) ] spids: [-1 3539] ) (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ';'>)] action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(2)} spids:[3575])] ) ] spids: [3555 3562] ) ] else_action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(1)} spids:[3595])] ) (SimpleCommand words: [{(exec)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} spids: [3601] ) ] ) (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[3610])] ) ] spids: [3578 3613] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name UNPACK_TARBALL> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(Lit_Slash /)}) spids: [3639 3643] ) ) } {(Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(TARPATH)} {(DQ ('Tarball must be given a complete path'))}) ] spids: [-1 3655] ) ] spids: [-1 3669] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name UNPACK_TARBALL> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.tar)}) spids: [3677 3681] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Subshell child: (AndOr children: [ (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))}) (C {(tar)} {(-xf)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))}) ] op_id: Op_DAmp ) spids: [3697 3713] ) ] spids: [-1 3694] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name UNPACK_TARBALL> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.tgz)}) spids: [3721 3725] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Subshell child: (AndOr children: [ (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))}) (Pipeline children: [ (C {(zcat)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))}) (C {(tar)} {(-xf)} {(-)}) ] negated: False ) ] op_id: Op_DAmp ) spids: [3741 3763] ) ] spids: [3716 3738] ) ] else_action: [ (C {(error)} {(1)} {(NOTTAR)} {(DQ ('Unknown tarball: must be either .tar or .tgz'))}) ] spids: [3766 3780] ) ] spids: [-1 3631] ) ] spids: [-1 3782] ) (C {(.)} {(DQ ($ VSub_Name '$SCRIPT'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MIRRORS) op: Equal rhs: {(null) (Lit_Other ':')} spids: [3816] ) ] spids: [3816] ) ] spids: [-1 3813] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MIRRORS) op: Equal rhs: {(DQ ($ VSub_Name '$DEF_MIRROR'))} spids: [3823] ) ] spids: [3823] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USER_MIRROR'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MIRRORS) op: Equal rhs: {(DQ ($ VSub_Name '$USER_MIRROR'))} spids: [3849] ) ] spids: [3849] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MIRRORS) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)}) spids: [3857 3861] ) ) } spids: [3855] ) ] spids: [3855] ) ] spids: [-1 3846] ) ] spids: [-1 3865] ) ] spids: [3820 3867] ) (C {(export)} {(MIRRORS)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(false)} spids:[3875])] spids: [3875] ) (ForEach iter_name: v iter_words: [{($ VSub_Name '$SUPPORTED_VARIANTS')}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(doing_variant)} {($ VSub_Name '$v')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ok) op: Equal rhs: {(true)} spids: [3899] ) ] spids: [3899] ) terminator: <Op_Semi ';'> ) ] spids: [-1 3897] ) ] spids: [-1 3903] ) ] spids: [3887 3905] ) spids: [3883 3885] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {($ VSub_Name '$ok')})] negated:True) terminator: <Op_Semi ';'> ) ] action: [(C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ('unsupported variant'))})] spids: [-1 3914] ) ] spids: [-1 3927] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(finddebs)}) terminator:<Op_Semi ';'>)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$FINDDEBS_NEEDS_INDICES'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RESOLVE_DEPS'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [ (C {(download_indices)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GOT_INDICES) op: Equal rhs: {(true)} spids: [3985] ) ] spids: [3985] ) ] spids: [-1 3979] ) ] spids: [-1 3989] ) (C {(work_out_debs)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$base') (' ') ($ VSub_Name '$ADDITIONAL'))} {(DQ ($ VSub_Name '$EXCLUDE'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [3998 4010] ) } spids: [3997] ) ] spids: [3997] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RESOLVE_DEPS'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:requiredX) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(echo)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$required')}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) (C {(uniq)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [4036 4060] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4033 4061] ) } spids: [4032] ) ] spids: [4032] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:baseX) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(echo)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$base')}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) (C {(uniq)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [4068 4092] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4065 4093] ) } spids: [4064] ) ] spids: [4064] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:baseN) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$baseX'))} {(DQ ($ VSub_Name '$requiredX'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4098 4108] ) } spids: [4097] ) ] spids: [4097] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:baseU) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$baseX'))} {(DQ ($ VSub_Name '$baseN'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4112 4122] ) } spids: [4111] ) ] spids: [4111] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$baseU'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(info)} {(REDUNDANTBASE)} {(DQ ('Found packages in base already in required: %s'))} {(DQ ($ VSub_Name '$baseU'))} ) ] spids: [-1 4143] ) ] spids: [-1 4159] ) (C {(info)} {(RESOLVEREQ)} {(DQ ('Resolving dependencies of required packages...'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:required) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(resolve_deps)} {($ VSub_Name '$requiredX')})] ) left_token: <Left_CommandSub '$('> spids: [4173 4177] ) } spids: [4172] ) ] spids: [4172] ) (C {(info)} {(RESOLVEBASE)} {(DQ ('Resolving dependencies of base packages...'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(resolve_deps)} {($ VSub_Name '$baseX')})] ) left_token: <Left_CommandSub '$('> spids: [4190 4194] ) } spids: [4189] ) ] spids: [4189] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$base'))} {(DQ ($ VSub_Name '$required'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4198 4208] ) } spids: [4197] ) ] spids: [4197] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:requiredX) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$required'))} {(DQ ($ VSub_Name '$requiredX'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4213 4223] ) } spids: [4212] ) ] spids: [4212] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:baseX) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$base'))} {(DQ ($ VSub_Name '$baseX'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4227 4237] ) } spids: [4226] ) ] spids: [4226] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$requiredX'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(info)} {(NEWREQUIRED)} {(DQ ('Found additional required dependencies: %s'))} {(DQ ($ VSub_Name '$requiredX'))} ) ] spids: [-1 4257] ) ] spids: [-1 4273] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$baseX'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(info)} {(NEWBASE)} {(DQ ('Found additional base dependencies: %s'))} {(DQ ($ VSub_Name '$baseX'))} ) ] spids: [-1 4293] ) ] spids: [-1 4309] ) ] spids: [-1 4029] ) ] spids: [-1 4312] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_debs) op: Equal rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))} spids: [4316] ) ] spids: [4316] ) ] spids: [-1 3941] ) ] spids: [-1 4323] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ';'>)] action: [(C {(echo)} {(DQ ($ VSub_Name '$all_debs'))})] spids: [-1 4333] ) ] spids: [-1 4342] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(dldebs)}) terminator:<Op_Semi ';'>)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$GOT_INDICES'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(download_indices)})] spids: [-1 4373] ) ] spids: [-1 4379] ) (C {(download)} {($ VSub_Name '$all_debs')}) ] spids: [-1 4352] ) ] spids: [-1 4386] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(maketarball)}) terminator:<Op_Semi ';'>)] action: [ (Subshell child: (CommandList children: [ (Sentence child: (C {(cd)} {($ VSub_Name '$TARGET')}) terminator: <Op_Semi ';'> ) (C {(tar)} {(czf)} {(-)} {(var/lib/apt)} {(var/cache/apt)}) ] ) redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$MAKE_TARBALL')} spids: [4417] ) ] spids: [4399 4415] ) ] spids: [-1 4396] ) ] spids: [-1 4420] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(first_stage)}) terminator:<Op_Semi ';'>)] action: [ (C {(choose_extractor)}) (C {(first_stage_install)}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(am_doing_phase)} {(second_stage)})] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(DQ ($ VSub_Number '$0'))} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))} ) (C {(cp)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/functions)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/functions))} ) (C {(cp)} {($ VSub_Name '$SCRIPT')} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/suite-script))} ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$ARCH'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/arch))} spids: [4504] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$SUITE'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/suite))} spids: [4517] ) ] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ )} {(Lit_Other '=')} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other ']')} ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$VARIANT'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/variant))} spids: [4546] ) ] ) ] op_id: Op_DPipe ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$required'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/required))} spids: [4559] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$base'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/base))} spids: [4572] ) ] ) (C {(chmod)} {(755)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))}) ] spids: [-1 4462] ) ] spids: [-1 4590] ) ] spids: [-1 4430] ) ] spids: [-1 4592] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(second_stage)}) terminator:<Op_Semi ';'>)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:required) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/required)}) ] ) left_token: <Left_CommandSub '$('> spids: [4625 4630] ) ) } spids: [4623] ) ] spids: [4623] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/base)})] ) left_token: <Left_CommandSub '$('> spids: [4636 4641] ) ) } spids: [4634] ) ] spids: [4634] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_debs) op: Equal rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))} spids: [4645] ) ] spids: [4645] ) ] spids: [-1 4620] ) ] spids: [-1 4653] ) (C {(second_stage_install)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$TARGET') (/etc/apt/sources.list))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name '$TARGET') (/etc/apt/sources.list))})] spids: [-1 4696] ) ] spids: [-1 4709] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('http:') (Lit_Slash /) (Lit_Slash /)} ) spids: [4717 4723] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$MIRRORS'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(setup_apt_sources)} { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [4742 4746] ) ) } ) (C {(mv_invalid_to)} { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [4753 4757] ) ) } ) ] spids: [-1 4736] ) ] else_action: [ (C {(setup_apt_sources)} {(DQ ($ VSub_Name '$DEF_MIRROR'))}) (C {(mv_invalid_to)} {(DQ ($ VSub_Name '$DEF_MIRROR'))}) ] spids: [4761 4778] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} {(DQ ($ VSub_Name '$TARGET') (/var/log/bootstrap.log))} ) ] spids: [-1 4814] ) ] else_action: [ (C {(mv)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} {(DQ ($ VSub_Name '$TARGET') (/var/log/bootstrap.log))} ) ] spids: [4830 4866] ) ] spids: [-1 4796] ) ] spids: [-1 4869] ) (C {(sync)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(chmod)} {(644)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))} ) ] spids: [-1 4908] ) ] spids: [-1 4921] ) ] spids: [-1 4891] ) ] else_action: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap))})] spids: [4924 4937] ) ] spids: [-1 4602] ) ] spids: [-1 4939] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(kill_target)}) terminator:<Op_Semi ';'>)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} {(KW_Bang '!') (Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(info)} {(KILLTARGET)} {(DQ ('Deleting target directory'))}) (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET'))}) ] spids: [-1 4968] ) ] spids: [-1 4989] ) ] spids: [-1 4949] ) ] spids: [-1 4991] ) ] )