(command.CommandList children: [ (C {(set)} {(-e)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERSION spids:[8]) op: Equal rhs: {(SQ <'@VERSION@'>)} spids: [8] ) ] spids: [8] ) (command.AndOr ops: [Op_DPipe] children: [(C {(unset)} {(TMP)} {(TEMP)} {(TMPDIR)}) (C {(true)})] ) (C {(export)} {(PATH)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$DEBOOTSTRAP_DIR'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-x)} {(/debootstrap/debootstrap)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEBOOTSTRAP_DIR spids:[69]) op: Equal rhs: {(/debootstrap)} spids: [69] ) ] spids: [69] ) ] spids: [16777215 66] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEBOOTSTRAP_DIR spids:[76]) op: Equal rhs: {(/usr/share/debootstrap)} spids: [76] ) ] spids: [76] ) ] spids: [73 80] ) ] spids: [16777215 52] ) ] spids: [16777215 82] ) (C {(.)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/functions)}) (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(1)})] ) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:LANG spids:[96]) op:Equal rhs:{(C)} spids:[96])] spids: [96] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_COMPONENTS spids:[99]) op: Equal rhs: {(main)} spids: [99] ) ] spids: [99] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEYRING spids:[102]) op: Equal rhs: {(DQ )} spids: [102] ) ] spids: [102] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DISABLE_KEYRING spids:[106]) op: Equal rhs: {(DQ )} spids: [106] ) ] spids: [106] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:FORCE_KEYRING spids:[110]) op: Equal rhs: {(DQ )} spids: [110] ) ] spids: [110] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VARIANT spids:[114]) op: Equal rhs: {(DQ )} spids: [114] ) ] spids: [114] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MERGED_USR spids:[118]) op: Equal rhs: {(DQ (no))} spids: [118] ) ] spids: [118] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[123]) op: Equal rhs: {(DQ )} spids: [123] ) ] spids: [123] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_ARCH spids:[127]) op: Equal rhs: {(DQ )} spids: [127] ) ] spids: [127] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[131]) op: Equal rhs: {(DQ )} spids: [131] ) ] spids: [131] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEEP_DEBOOTSTRAP_DIR spids:[135]) op: Equal rhs: {(DQ )} spids: [135] ) ] spids: [135] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_DEBIANINSTALLER_INTERACTION spids:[139]) op: Equal rhs: {(DQ )} spids: [139] ) ] spids: [139] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SECOND_STAGE_ONLY spids:[143]) op: Equal rhs: {(DQ )} spids: [143] ) ] spids: [143] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRINT_DEBS spids:[147]) op: Equal rhs: {(DQ )} spids: [147] ) ] spids: [147] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOTDIR spids:[151]) op: Equal rhs: {(DQ )} spids: [151] ) ] spids: [151] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MAKE_TARBALL spids:[155]) op: Equal rhs: {(DQ )} spids: [155] ) ] spids: [155] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXTRACTOR_OVERRIDE spids:[159]) op: Equal rhs: {(DQ )} spids: [159] ) ] spids: [159] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:UNPACK_TARBALL spids:[163]) op: Equal rhs: {(DQ )} spids: [163] ) ] spids: [163] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ADDITIONAL spids:[167]) op: Equal rhs: {(DQ )} spids: [167] ) ] spids: [167] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXCLUDE spids:[171]) op: Equal rhs: {(DQ )} spids: [171] ) ] spids: [171] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERBOSE spids:[175]) op: Equal rhs: {(DQ )} spids: [175] ) ] spids: [175] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CERTIFICATE spids:[179]) op: Equal rhs: {(DQ )} spids: [179] ) ] spids: [179] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHECKCERTIF spids:[183]) op: Equal rhs: {(DQ )} spids: [183] ) ] spids: [183] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRIVATEKEY spids:[187]) op: Equal rhs: {(DQ )} spids: [187] ) ] spids: [187] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEF_MIRROR spids:[192]) op: Equal rhs: {(DQ ('http://deb.debian.org/debian'))} spids: [192] ) ] spids: [192] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEF_HTTPS_MIRROR spids:[197]) op: Equal rhs: {(DQ ('https://deb.debian.org/debian'))} spids: [197] ) ] spids: [197] ) (C {(export)} {(LANG)} {(USE_COMPONENTS)}) (C {(umask)} {(022)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RESOLVE_DEPS spids:[225]) op: Equal rhs: {(true)} spids: [225] ) ] spids: [225] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[229]) op: Equal rhs: {(DQ ('finddebs dldebs first_stage second_stage'))} spids: [229] ) ] spids: [229] ) (command.FuncDef name: am_doing_phase body: (command.BraceGroup children: [ (command.Sentence child: (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:x spids:[248]) op: Equal spids: [248] ) ] spids: [246] ) terminator: <Op_Semi ';'> ) (command.ForEach iter_name: x iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} {(DQ (' ') ($ VSub_DollarName '$WHAT_TO_DO') (' '))}) (C {(grep)} {(-q)} {(DQ (' ') ($ VSub_DollarName '$x') (' '))}) ] negated: F ) terminator: <Op_Semi ';'> ) ] action: [ (command.Sentence child: (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) terminator: <Op_Semi ';'> ) ] spids: [16777215 289] ) ] spids: [16777215 296] ) ] spids: [263 299] ) spids: [257 261] ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [239] ) spids: [234 238] ) (command.FuncDef name: usage_err body: (command.BraceGroup children: [ (C {(info)} {(USAGE1)} {(DQ ('usage: [OPTION]... <suite> <target> [<mirror> [<script>]]'))}) (C {(info)} {(USAGE2)} { (DQ ('Try ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (word_part.BracedVarSub token: <VSub_Number 0> suffix_op: (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] ) (command.FuncDef name: usage body: (command.BraceGroup children: [ (C {(echo)} { (DQ ('Usage: ') (word_part.BracedVarSub token: <VSub_Number 0> suffix_op: (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)}) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 431 stdin_parts: [ (' --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_DollarName '$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' ) ] ) ] ) ] spids: [359] ) spids: [355 358] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$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: [16777215 452] ) ] spids: [16777215 465] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.WhileUntil keyword: <KW_While while> cond: [(command.Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)] body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(--help)}] action: [ (C {(usage)}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [508 509 520 16777215] ) (case_arm pat_list: [{(--version)}] action: [ (C {(echo)} {(DQ ('debootstrap ') ($ VSub_DollarName '$VERSION'))}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [523 524 540 16777215] ) (case_arm pat_list: [{(--debian-installer)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell child: (command.SimpleCommand words: [{(echo)} {(-n)} {(DQ )}] redirects: [ (redir.Redir op: <Redir_GreatAnd '>&'> fd: 16777215 arg_word: {(3)} ) ] ) redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] spids: [551 561] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(ARG_DIBYHAND)} { (DQ ( "If running debootstrap by hand, don't use --debian-installer" ) ) } ) ] spids: [16777215 567] ) ] spids: [16777215 581] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name: USE_DEBIANINSTALLER_INTERACTION spids: [584] ) op: Equal rhs: {(yes)} spids: [584] ) ] spids: [584] ) (C {(shift)}) ] spids: [543 544 591 16777215] ) (case_arm pat_list: [{(--foreign)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$PRINT_DEBS'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[619]) op: Equal rhs: {(DQ ('finddebs dldebs first_stage'))} spids: [619] ) ] spids: [619] ) ] spids: [16777215 616] ) ] spids: [16777215 625] ) (C {(shift)}) ] spids: [594 595 631 16777215] ) (case_arm pat_list: [{(--second-stage)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[638]) op: Equal rhs: {(DQ (second_stage))} spids: [638] ) ] spids: [638] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SECOND_STAGE_ONLY spids:[644]) op: Equal rhs: {(true)} spids: [644] ) ] spids: [644] ) (C {(shift)}) ] spids: [634 635 651 16777215] ) (case_arm pat_list: [ {(--second-stage-target)} {(--second-stage-target) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$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: [16777215 682] ) ] spids: [16777215 700] ) (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOTDIR spids:[732]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [732] ) ] spids: [732] ) (C {(shift)} {(2)}) ] spids: [16777215 729] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--second-stage-target=')} ) spids: [755 759] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOTDIR spids:[768]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--second-stage-target=')} ) spids: [770 774] ) ) } spids: [768] ) ] spids: [768] ) (C {(shift)}) ] spids: [743 765] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument: %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [781 799] ) ] spids: [654 660 802 16777215] ) (case_arm pat_list: [{(--print-debs)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[809]) op: Equal rhs: {(DQ ('finddebs printdebs kill_target'))} spids: [809] ) ] spids: [809] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRINT_DEBS spids:[815]) op: Equal rhs: {(true)} spids: [815] ) ] spids: [815] ) (C {(shift)}) ] spids: [805 806 822 16777215] ) (case_arm pat_list: [{(--download-only)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[829]) op: Equal rhs: {(DQ ('finddebs dldebs'))} spids: [829] ) ] spids: [829] ) (C {(shift)}) ] spids: [825 826 838 16777215] ) (case_arm pat_list: [ {(--make-tarball)} {(--make-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[850]) op: Equal rhs: {(DQ ('finddebs dldebs maketarball kill_target'))} spids: [850] ) ] spids: [850] ) (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MAKE_TARBALL spids:[885]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [885] ) ] spids: [885] ) (C {(shift)} {(2)}) ] spids: [16777215 882] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--make-tarball=')} ) spids: [908 912] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MAKE_TARBALL spids:[921]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--make-tarball=')} ) spids: [923 927] ) ) } spids: [921] ) ] spids: [921] ) (C {(shift)}) ] spids: [896 918] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [934 952] ) ] spids: [841 847 955 16777215] ) (case_arm pat_list: [{(--resolve-deps)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RESOLVE_DEPS spids:[966]) op: Equal rhs: {(true)} spids: [966] ) ] spids: [966] ) (C {(shift)}) ] spids: [958 959 973 16777215] ) (case_arm pat_list: [{(--no-resolve-deps)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RESOLVE_DEPS spids:[980]) op: Equal rhs: {(false)} spids: [980] ) ] spids: [980] ) (C {(shift)}) ] spids: [976 977 987 16777215] ) (case_arm pat_list: [{(--keep-debootstrap-dir)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEEP_DEBOOTSTRAP_DIR spids:[994]) op: Equal rhs: {(true)} spids: [994] ) ] spids: [994] ) (C {(shift)}) ] spids: [990 991 1001 16777215] ) (case_arm pat_list: [ {(--arch)} {(--arch) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[1042]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1042] ) ] spids: [1042] ) (C {(shift)} {(2)}) ] spids: [16777215 1039] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--arch=')} ) spids: [1065 1069] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[1078]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--arch=')} ) spids: [1080 1084] ) ) } spids: [1078] ) ] spids: [1078] ) (C {(shift)}) ] spids: [1053 1075] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1091 1109] ) ] spids: [1004 1010 1112 16777215] ) (case_arm pat_list: [ {(--extractor)} {(--extractor) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name: EXTRACTOR_OVERRIDE spids: [1153] ) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1153] ) ] spids: [1153] ) (C {(shift)} {(2)}) ] spids: [16777215 1150] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--extractor=')} ) spids: [1176 1180] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name: EXTRACTOR_OVERRIDE spids: [1189] ) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--extractor=')} ) spids: [1191 1195] ) ) } spids: [1189] ) ] spids: [1189] ) (C {(shift)}) ] spids: [1164 1186] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1202 1220] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(valid_extractor)} {(DQ ($ VSub_DollarName '$EXTRACTOR_OVERRIDE'))} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.SimpleCommand words: [ {(type)} { (DQ ($ VSub_DollarName '$EXTRACTOR_OVERRIDE') ) } ] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(MISSINGEXTRACTOR)} {(DQ ('The selected extractor cannot be found: %s'))} {(DQ ($ VSub_DollarName '$EXTRACTOR_OVERRIDE'))} ) ] spids: [16777215 1252] ) ] spids: [16777215 1270] ) ] spids: [16777215 1232] ) ] else_action: [ (C {(error)} {(1)} {(BADEXTRACTOR)} {(DQ ('%s: unknown extractor'))} {(DQ ($ VSub_DollarName '$EXTRACTOR_OVERRIDE'))} ) ] spids: [1273 1291] ) ] spids: [1115 1121 1294 16777215] ) (case_arm pat_list: [ {(--unpack-tarball)} {(--unpack-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:UNPACK_TARBALL spids:[1335]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1335] ) ] spids: [1335] ) (C {(shift)} {(2)}) ] spids: [16777215 1332] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--unpack-tarball=')} ) spids: [1358 1362] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:UNPACK_TARBALL spids:[1371]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--unpack-tarball=')} ) spids: [1373 1377] ) ) } spids: [1371] ) ] spids: [1371] ) (C {(shift)}) ] spids: [1346 1368] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1384 1402] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_DollarName '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NOTARBALL)} {(DQ ('%s: No such file or directory'))} {(DQ ($ VSub_DollarName '$UNPACK_TARBALL'))} ) ] spids: [16777215 1421] ) ] spids: [16777215 1439] ) ] spids: [1297 1303 1442 16777215] ) (case_arm pat_list: [ {(--include)} {(--include) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ADDITIONAL spids:[1482]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1482] ) ] spids: [1482] ) (C {(shift)} {(2)}) ] spids: [16777215 1479] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--include=')} ) spids: [1505 1509] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ADDITIONAL spids:[1518]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--include=')} ) spids: [1520 1524] ) ) } spids: [1518] ) ] spids: [1518] ) (C {(shift)} {(1)}) ] spids: [1493 1515] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1533 1551] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ADDITIONAL spids:[1554]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$ADDITIONAL'))}) (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1556 1572] ) ) } spids: [1554] ) ] spids: [1554] ) ] spids: [1445 1451 1576 16777215] ) (case_arm pat_list: [ {(--exclude)} {(--exclude) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXCLUDE spids:[1616]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1616] ) ] spids: [1616] ) (C {(shift)} {(2)}) ] spids: [16777215 1613] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--exclude=')} ) spids: [1639 1643] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXCLUDE spids:[1652]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--exclude=')} ) spids: [1654 1658] ) ) } spids: [1652] ) ] spids: [1652] ) (C {(shift)} {(1)}) ] spids: [1627 1649] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1667 1685] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXCLUDE spids:[1688]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$EXCLUDE'))}) (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1690 1706] ) ) } spids: [1688] ) ] spids: [1688] ) ] spids: [1579 1585 1710 16777215] ) (case_arm pat_list: [{(--verbose)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERBOSE spids:[1717]) op: Equal rhs: {(true)} spids: [1717] ) ] spids: [1717] ) (C {(export)} {(VERBOSE)}) (C {(shift)} {(1)}) ] spids: [1713 1714 1731 16777215] ) (case_arm pat_list: [ {(--components)} {(--components) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_COMPONENTS spids:[1771]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1771] ) ] spids: [1771] ) (C {(shift)} {(2)}) ] spids: [16777215 1768] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--components=')} ) spids: [1794 1798] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_COMPONENTS spids:[1807]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--components=')} ) spids: [1809 1813] ) ) } spids: [1807] ) ] spids: [1807] ) (C {(shift)} {(1)}) ] spids: [1782 1804] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1822 1840] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_COMPONENTS spids:[1843]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$USE_COMPONENTS'))} ) (C {(tr)} {(Lit_Comma ',')} {(DQ ('|'))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1845 1861] ) ) } spids: [1843] ) ] spids: [1843] ) ] spids: [1734 1740 1865 16777215] ) (case_arm pat_list: [ {(--variant)} {(--variant) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VARIANT spids:[1905]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1905] ) ] spids: [1905] ) (C {(shift)} {(2)}) ] spids: [16777215 1902] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--variant=')} ) spids: [1928 1932] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VARIANT spids:[1941]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--variant=')} ) spids: [1943 1947] ) ) } spids: [1941] ) ] spids: [1941] ) (C {(shift)} {(1)}) ] spids: [1916 1938] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1956 1974] ) ] spids: [1868 1874 1977 16777215] ) (case_arm pat_list: [{(--merged-usr)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MERGED_USR spids:[1984]) op: Equal rhs: {(yes)} spids: [1984] ) ] spids: [1984] ) (C {(shift)}) ] spids: [1980 1981 1991 16777215] ) (case_arm pat_list: [{(--no-merged-usr)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MERGED_USR spids:[1998]) op: Equal rhs: {(no)} spids: [1998] ) ] spids: [1998] ) (C {(shift)}) ] spids: [1994 1995 2005 16777215] ) (case_arm pat_list: [ {(--keyring)} {(--keyring) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.SimpleCommand words: [{(gpgv)} {(--version)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NEEDGPGV)} { (DQ ( 'gpgv not installed, but required for Release verification' ) ) } ) ] spids: [16777215 2032] ) ] spids: [16777215 2046] ) (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEYRING spids:[2077]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2077] ) ] spids: [2077] ) (C {(shift)} {(2)}) ] spids: [16777215 2074] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--keyring=')} ) spids: [2100 2104] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEYRING spids:[2113]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--keyring=')} ) spids: [2115 2119] ) ) } spids: [2113] ) ] spids: [2113] ) (C {(shift)} {(1)}) ] spids: [2088 2110] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2128 2146] ) ] spids: [2008 2014 2149 16777215] ) (case_arm pat_list: [{(--no-check-gpg)}] action: [ (C {(shift)} {(1)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DISABLE_KEYRING spids:[2161]) op: Equal rhs: {(1)} spids: [2161] ) ] spids: [2161] ) ] spids: [2152 2153 2165 16777215] ) (case_arm pat_list: [{(--force-check-gpg)}] action: [ (C {(shift)} {(1)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:FORCE_KEYRING spids:[2177]) op: Equal rhs: {(1)} spids: [2177] ) ] spids: [2177] ) ] spids: [2168 2169 2181 16777215] ) (case_arm pat_list: [ {(--certificate)} {(--certificate) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CERTIFICATE spids:[2221]) op: Equal rhs: {(DQ ('--certificate=') ($ VSub_Number '$2'))} spids: [2221] ) ] spids: [2221] ) (C {(shift)} {(2)}) ] spids: [16777215 2218] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--certificate=')} ) spids: [2245 2249] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CERTIFICATE spids:[2258]) op: Equal rhs: { (DQ ('--certificate=') (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--certificate=')} ) spids: [2261 2265] ) ) } spids: [2258] ) ] spids: [2258] ) (C {(shift)} {(1)}) ] spids: [2233 2255] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2275 2294] ) ] spids: [2184 2190 2297 16777215] ) (case_arm pat_list: [ {(--private-key)} {(--private-key) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRIVATEKEY spids:[2337]) op: Equal rhs: {(DQ ('--private-key=') ($ VSub_Number '$2'))} spids: [2337] ) ] spids: [2337] ) (C {(shift)} {(2)}) ] spids: [16777215 2334] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--private-key=')} ) spids: [2361 2365] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRIVATEKEY spids:[2374]) op: Equal rhs: { (DQ ('--private-key=') (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--private-key=')} ) spids: [2377 2381] ) ) } spids: [2374] ) ] spids: [2374] ) (C {(shift)} {(1)}) ] spids: [2349 2371] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2391 2410] ) ] spids: [2300 2306 2413 16777215] ) (case_arm pat_list: [{(--no-check-certificate)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHECKCERTIF spids:[2420]) op: Equal rhs: {(DQ (--no-check-certificate))} spids: [2420] ) ] spids: [2420] ) (C {(shift)}) ] spids: [2416 2417 2429 16777215] ) (case_arm pat_list: [{(-) (Lit_Other '*')}] action: [ (C {(error)} {(1)} {(BADARG)} {(DQ ('unrecognized or invalid option %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2432 2434 2452 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(command.ControlFlow token:<ControlFlow_Break break>)] spids: [2455 2456 2462 16777215] ) ] spids: [499 505 2465] ) ] spids: [496 2468] ) ) ] spids: [16777215 487] ) ] spids: [16777215 2470] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$DISABLE_KEYRING'))} {(-a)} {(-n)} {(DQ ($ VSub_DollarName '$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: [16777215 2498] ) ] spids: [16777215 2511] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SUITE spids:[2538]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/suite)})] ) left_token: <Left_CommandSub '$('> spids: [2539 2544] ) } spids: [2538] ) ] spids: [2538] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[2547]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/arch)})] ) left_token: <Left_CommandSub '$('> spids: [2548 2553] ) } spids: [2547] ) ] spids: [2547] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/variant)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VARIANT spids:[2571]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/variant)}) ] ) left_token: <Left_CommandSub '$('> spids: [2572 2577] ) } spids: [2571] ) ] spids: [2571] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SUPPORTED_VARIANTS spids:[2580]) op: Equal rhs: {(DQ ($ VSub_DollarName '$VARIANT'))} spids: [2580] ) ] spids: [2580] ) ] spids: [16777215 2568] ) ] spids: [16777215 2586] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$CHROOTDIR'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2605]) op: Equal rhs: {(/)} spids: [2605] ) ] spids: [2605] ) ] spids: [16777215 2602] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2612]) op: Equal rhs: {($ VSub_DollarName '$CHROOTDIR')} spids: [2612] ) ] spids: [2612] ) ] spids: [2609 2616] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SCRIPT spids:[2619]) op: Equal rhs: {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/suite-script)} spids: [2619] ) ] spids: [2619] ) ] spids: [16777215 2535] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(usage_err)} {(1)} {(NEEDSUITETARGET)} {(DQ ('You must specify a suite and a target.'))} ) ] spids: [16777215 2651] ) ] spids: [16777215 2665] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SUITE spids:[2668]) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2668] ) ] spids: [2668] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2674]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2674] ) ] spids: [2674] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USER_MIRROR spids:[2680]) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [2680] ) ] spids: [2680] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2686]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)}) spids: [2688 2692] ) ) } spids: [2686] ) ] spids: [2686] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /)} ) spids: [2701 2705] ) ) } {(Lit_Other '=')} {(DQ (${ VSub_Name TARGET))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [2727 2732] ) ) } {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$TARGET'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2748]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(echo)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(pwd)})] ) left_token: <Left_Backtick '`'> spids: [2754 2756] ) (/) ($ VSub_DollarName '$TARGET') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2750 2760] ) ) } spids: [2748] ) ] spids: [2748] ) ] spids: [16777215 2745] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2767]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} { (DQ (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [2773 2778] ) ) } ) terminator: <Op_Semi ';'> ) (C {(echo)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(pwd)})] ) left_token: <Left_Backtick '`'> spids: [2785 2787] ) (/) (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [2789 2794] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2769 2796] ) ) } spids: [2767] ) ] spids: [2767] ) ] spids: [2764 2800] ) ] spids: [16777215 2719] ) ] spids: [16777215 2803] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SCRIPT spids:[2807]) op: Equal rhs: {(DQ ($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/scripts/) ($ VSub_Number '$1'))} spids: [2807] ) ] spids: [2807] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$VARIANT'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SCRIPT spids:[2849]) op: Equal rhs: {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} spids: [2849] ) ] spids: [2849] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SUPPORTED_VARIANTS spids:[2861]) op: Equal rhs: {(DQ ($ VSub_DollarName '$VARIANT'))} spids: [2861] ) ] spids: [2861] ) ] spids: [16777215 2846] ) ] spids: [16777215 2867] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$4'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SCRIPT spids:[2890]) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [2890] ) ] spids: [2890] ) ] spids: [16777215 2887] ) ] spids: [16777215 2896] ) ] spids: [2623 2898] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(in_path)} {(dpkg)}) (command.SimpleCommand words: [{(dpkg)} {(--print-architecture)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_ARCH spids:[2929]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(/usr/bin/dpkg)} {(--print-architecture)})] ) left_token: <Left_Backtick '`'> spids: [2930 2934] ) } spids: [2929] ) ] spids: [2929] ) ] spids: [16777215 2926] ) (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(in_path)} {(udpkg)}) (command.SimpleCommand words: [{(udpkg)} {(--print-architecture)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_ARCH spids:[2960]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(/usr/bin/udpkg)} {(--print-architecture)})] ) left_token: <Left_Backtick '`'> spids: [2961 2965] ) } spids: [2960] ) ] spids: [2960] ) ] spids: [2936 2957] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/arch)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_ARCH spids:[2982]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/arch)})] ) left_token: <Left_Backtick '`'> spids: [2983 2988] ) } spids: [2982] ) ] spids: [2982] ) ] spids: [2967 2979] ) ] spids: [16777215 2990] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[2992]) op: Equal rhs: {(DQ ($ VSub_DollarName '$HOST_ARCH'))} spids: [2992] ) ] spids: [2992] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$HOST_OS'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Case to_match: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)})]) left_token: <Left_Backtick '`'> spids: [3018 3020] ) } arms: [ (case_arm pat_list: [{(Linux)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[3029]) op: Equal rhs: {(linux)} spids: [3029] ) ] spids: [3029] ) ] spids: [3025 3026 3033 16777215] ) (case_arm pat_list: [{(GNU/kFreeBSD)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[3040]) op: Equal rhs: {(kfreebsd)} spids: [3040] ) ] spids: [3040] ) ] spids: [3036 3037 3044 16777215] ) (case_arm pat_list: [{(GNU)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[3051]) op: Equal rhs: {(hurd)} spids: [3051] ) ] spids: [3051] ) ] spids: [3047 3048 3055 16777215] ) (case_arm pat_list: [{(FreeBSD) (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[3063]) op: Equal rhs: {(freebsd)} spids: [3063] ) ] spids: [3063] ) ] spids: [3058 3060 3067 16777215] ) ] spids: [3016 3022 3070] ) ] spids: [16777215 3013] ) ] spids: [16777215 3072] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$ARCH'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[3091]) op: Equal rhs: {($ VSub_DollarName '$HOST_ARCH')} spids: [3091] ) ] spids: [3091] ) ] spids: [16777215 3088] ) ] spids: [16777215 3094] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$ARCH'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$HOST_OS'))} {(Lit_Other ']')}) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(error)} {(1)} {(WHATARCH)} {(DQ ("Couldn't work out current architecture"))})] spids: [16777215 3122] ) ] spids: [16777215 3136] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$HOST_OS'))} {(Lit_Other '=')} {(DQ (kfreebsd))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$HOST_OS'))} {(Lit_Other '=')} {(DQ (freebsd))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.ForEach iter_name: module iter_words: [{(linprocfs)} {(fdescfs)} {(tmpfs)} {(linsysfs)}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (command.SimpleCommand words: [{(kldstat)} {(-m)} {(DQ ($ VSub_DollarName '$module'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (C {(warning)} {(SANITYCHECK)} {(DQ ('Probably required module %s is not loaded'))} {(DQ ($ VSub_DollarName '$module'))} ) ] ) ] spids: [3190 3223] ) spids: [3180 3188] ) ] spids: [16777215 3172] ) ] spids: [16777215 3225] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TARGET'))} {(Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOT_CMD spids:[3248]) op: Equal rhs: {(DQ )} spids: [3248] ) ] spids: [3248] ) ] spids: [16777215 3245] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOT_CMD spids:[3255]) op: Equal rhs: {(DQ ('chroot ') ($ VSub_DollarName '$TARGET'))} spids: [3255] ) ] spids: [3255] ) ] spids: [3252 3261] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$SHA_SIZE'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SHA_SIZE spids:[3280]) op: Equal rhs: {(256)} spids: [3280] ) ] spids: [3280] ) ] spids: [16777215 3277] ) ] spids: [16777215 3283] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (command.Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE) (sum))})] negated: T ) (command.Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE))})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SHA_SIZE spids:[3316]) op: Equal rhs: {(1)} spids: [3316] ) ] spids: [3316] ) ] spids: [16777215 3313] ) ] spids: [16777215 3319] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEBOOTSTRAP_CHECKSUM_FIELD spids:[3321]) op: Equal rhs: {(DQ (SHA) ($ VSub_DollarName '$SHA_SIZE'))} spids: [3321] ) ] spids: [3321] ) (C {(export)} {(ARCH)} {(SUITE)} {(TARGET)} {(CHROOT_CMD)} {(SHA_SIZE)} {(DEBOOTSTRAP_CHECKSUM_FIELD)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(first_stage)} {(second_stage)}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(in_path)} {(id)}) (C {(Lit_Other '[')} { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(id)} {(-u)})]) left_token: <Left_Backtick '`'> spids: [3365 3369] ) } {(-ne)} {(0)} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(error)} {(1)} {(NEEDROOT)} {(DQ ('debootstrap can only run as root'))})] spids: [16777215 3378] ) ] spids: [16777215 3392] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(check_sane_mount)} {(DQ ($ VSub_DollarName '$TARGET'))})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NOEXEC)} { (DQ ("Cannot install into target '") ($ VSub_DollarName '$TARGET') ("' mounted with noexec or nodev") ) } ) ] spids: [16777215 3410] ) ] spids: [16777215 3426] ) ] spids: [16777215 3352] ) ] spids: [16777215 3428] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_DollarName '$SCRIPT'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NOSCRIPT)} {(DQ ('No such script: %s'))} {(DQ ($ VSub_DollarName '$SCRIPT'))} ) ] spids: [16777215 3446] ) ] spids: [16777215 3463] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TARGET'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap))})] spids: [16777215 3487] ) ] spids: [16777215 3499] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$USE_DEBIANINSTALLER_INTERACTION'))} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(3)})] ) ] spids: [16777215 3540] ) (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(printdebs)}) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(2)})] ) ] spids: [3556 3563] ) ] else_action: [ (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(1)})] ) (command.SimpleCommand words: [{(exec)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/debootstrap.log))} ) ] ) (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] spids: [3579 3614] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$UNPACK_TARBALL'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name UNPACK_TARBALL> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /)} ) spids: [3640 3644] ) ) } {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(TARPATH)} {(DQ ('Tarball must be given a complete path'))}) ] spids: [16777215 3656] ) ] spids: [16777215 3670] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name UNPACK_TARBALL> suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(.tar)}) spids: [3678 3682] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_DollarName '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Subshell child: (command.AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(DQ ($ VSub_DollarName '$TARGET'))}) (C {(tar)} {(-xf)} {(DQ ($ VSub_DollarName '$UNPACK_TARBALL'))}) ] ) spids: [3698 3714] ) ] spids: [16777215 3695] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name UNPACK_TARBALL> suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(.tgz)}) spids: [3722 3726] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_DollarName '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Subshell child: (command.AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(DQ ($ VSub_DollarName '$TARGET'))}) (command.Pipeline children: [ (C {(zcat)} {(DQ ($ VSub_DollarName '$UNPACK_TARBALL'))}) (C {(tar)} {(-xf)} {(-)}) ] negated: F ) ] ) spids: [3742 3764] ) ] spids: [3717 3739] ) ] else_action: [ (C {(error)} {(1)} {(NOTTAR)} {(DQ ('Unknown tarball: must be either .tar or .tgz'))}) ] spids: [3767 3781] ) ] spids: [16777215 3632] ) ] spids: [16777215 3783] ) (C {(.)} {(DQ ($ VSub_DollarName '$SCRIPT'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MIRRORS spids:[3817]) op: Equal rhs: {(null) (Lit_Other ':')} spids: [3817] ) ] spids: [3817] ) ] spids: [16777215 3814] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MIRRORS spids:[3824]) op: Equal rhs: {(DQ ($ VSub_DollarName '$DEF_MIRROR'))} spids: [3824] ) ] spids: [3824] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$USER_MIRROR'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MIRRORS spids:[3850]) op: Equal rhs: {(DQ ($ VSub_DollarName '$USER_MIRROR'))} spids: [3850] ) ] spids: [3850] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MIRRORS spids:[3856]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [3858 3862] ) ) } spids: [3856] ) ] spids: [3856] ) ] spids: [16777215 3847] ) ] spids: [16777215 3866] ) ] spids: [3821 3868] ) (C {(export)} {(MIRRORS)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ok spids:[3876]) op: Equal rhs: {(false)} spids: [3876] ) ] spids: [3876] ) (command.ForEach iter_name: v iter_words: [{($ VSub_DollarName '$SUPPORTED_VARIANTS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(doing_variant)} {($ VSub_DollarName '$v')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ok spids:[3900]) op: Equal rhs: {(true)} spids: [3900] ) ] spids: [3900] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 3898] ) ] spids: [16777215 3904] ) ] spids: [3888 3906] ) spids: [3884 3886] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children:[(C {($ VSub_DollarName '$ok')})] negated:T) terminator: <Op_Semi ';'> ) ] action: [(C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ('unsupported variant'))})] spids: [16777215 3915] ) ] spids: [16777215 3928] ) (command.If arms: [ (if_arm cond: [(command.Sentence child:(C {(am_doing_phase)} {(finddebs)}) terminator:<Op_Semi ';'>)] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$FINDDEBS_NEEDS_INDICES'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$RESOLVE_DEPS'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(download_indices)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GOT_INDICES spids:[3986]) op: Equal rhs: {(true)} spids: [3986] ) ] spids: [3986] ) ] spids: [16777215 3980] ) ] spids: [16777215 3990] ) (C {(work_out_debs)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[3998]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} { (DQ ($ VSub_DollarName '$base') (' ') ($ VSub_DollarName '$ADDITIONAL') ) } {(DQ ($ VSub_DollarName '$EXCLUDE'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [3999 4011] ) } spids: [3998] ) ] spids: [3998] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$RESOLVE_DEPS'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:requiredX spids:[4033]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(echo)} { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ VSub_DollarName '$required')}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) (C {(uniq)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [4037 4061] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4034 4062] ) } spids: [4033] ) ] spids: [4033] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:baseX spids:[4065]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(echo)} { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ VSub_DollarName '$base')}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) (C {(uniq)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [4069 4093] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4066 4094] ) } spids: [4065] ) ] spids: [4065] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:baseN spids:[4098]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_DollarName '$baseX'))} {(DQ ($ VSub_DollarName '$requiredX'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4099 4109] ) } spids: [4098] ) ] spids: [4098] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:baseU spids:[4112]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_DollarName '$baseX'))} {(DQ ($ VSub_DollarName '$baseN'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4113 4123] ) } spids: [4112] ) ] spids: [4112] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$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_DollarName '$baseU'))} ) ] spids: [16777215 4144] ) ] spids: [16777215 4160] ) (C {(info)} {(RESOLVEREQ)} {(DQ ('Resolving dependencies of required packages...'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:required spids:[4173]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(resolve_deps)} {($ VSub_DollarName '$requiredX')})] ) left_token: <Left_CommandSub '$('> spids: [4174 4178] ) } spids: [4173] ) ] spids: [4173] ) (C {(info)} {(RESOLVEBASE)} {(DQ ('Resolving dependencies of base packages...'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[4190]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(resolve_deps)} {($ VSub_DollarName '$baseX')})] ) left_token: <Left_CommandSub '$('> spids: [4191 4195] ) } spids: [4190] ) ] spids: [4190] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[4198]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_DollarName '$base'))} {(DQ ($ VSub_DollarName '$required'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4199 4209] ) } spids: [4198] ) ] spids: [4198] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:requiredX spids:[4213]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_DollarName '$required'))} {(DQ ($ VSub_DollarName '$requiredX'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4214 4224] ) } spids: [4213] ) ] spids: [4213] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:baseX spids:[4227]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_DollarName '$base'))} {(DQ ($ VSub_DollarName '$baseX'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4228 4238] ) } spids: [4227] ) ] spids: [4227] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$requiredX'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(info)} {(NEWREQUIRED)} {(DQ ('Found additional required dependencies: %s'))} {(DQ ($ VSub_DollarName '$requiredX'))} ) ] spids: [16777215 4258] ) ] spids: [16777215 4274] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$baseX'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(info)} {(NEWBASE)} {(DQ ('Found additional base dependencies: %s'))} {(DQ ($ VSub_DollarName '$baseX'))} ) ] spids: [16777215 4294] ) ] spids: [16777215 4310] ) ] spids: [16777215 4030] ) ] spids: [16777215 4313] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:all_debs spids:[4317]) op: Equal rhs: {(DQ ($ VSub_DollarName '$required') (' ') ($ VSub_DollarName '$base'))} spids: [4317] ) ] spids: [4317] ) ] spids: [16777215 3942] ) ] spids: [16777215 4324] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(printdebs)}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ($ VSub_DollarName '$all_debs'))})] spids: [16777215 4334] ) ] spids: [16777215 4343] ) (command.If arms: [ (if_arm cond: [(command.Sentence child:(C {(am_doing_phase)} {(dldebs)}) terminator:<Op_Semi ';'>)] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$GOT_INDICES'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(download_indices)})] spids: [16777215 4374] ) ] spids: [16777215 4380] ) (C {(download)} {($ VSub_DollarName '$all_debs')}) ] spids: [16777215 4353] ) ] spids: [16777215 4387] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(maketarball)}) terminator: <Op_Semi ';'> ) ] action: [ (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (C {(cd)} {($ VSub_DollarName '$TARGET')}) terminator: <Op_Semi ';'> ) (C {(tar)} {(czf)} {(-)} {(var/lib/apt)} {(var/cache/apt)}) ] ) redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_DollarName '$MAKE_TARBALL')} ) ] spids: [4400 4416] ) ] spids: [16777215 4397] ) ] spids: [16777215 4421] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(first_stage)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(choose_extractor)}) (C {(first_stage_install)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(am_doing_phase)} {(second_stage)})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(DQ ($ VSub_Number '$0'))} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/debootstrap))} ) (C {(cp)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/functions)} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/functions))} ) (C {(cp)} {($ VSub_DollarName '$SCRIPT')} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/suite-script))} ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$ARCH'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/arch))} ) ] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$SUITE'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/suite))} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ )} {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$VARIANT'))} {(Lit_Other ']')} ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$VARIANT'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/variant))} ) ] ) ] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$required'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/required))} ) ] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$base'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/base))} ) ] ) (C {(chmod)} {(755)} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/debootstrap))}) ] spids: [16777215 4463] ) ] spids: [16777215 4591] ) ] spids: [16777215 4431] ) ] spids: [16777215 4593] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(second_stage)}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:required spids:[4624]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/required)}) ] ) left_token: <Left_CommandSub '$('> spids: [4626 4631] ) ) } spids: [4624] ) ] spids: [4624] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[4635]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_DollarName '$DEBOOTSTRAP_DIR') (/base)}) ] ) left_token: <Left_CommandSub '$('> spids: [4637 4642] ) ) } spids: [4635] ) ] spids: [4635] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:all_debs spids:[4646]) op: Equal rhs: {(DQ ($ VSub_DollarName '$required') (' ') ($ VSub_DollarName '$base'))} spids: [4646] ) ] spids: [4646] ) ] spids: [16777215 4621] ) ] spids: [16777215 4654] ) (C {(second_stage_install)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_DollarName '$TARGET') (/etc/apt/sources.list))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$TARGET') (/etc/apt/sources.list))}) ] spids: [16777215 4697] ) ] spids: [16777215 4710] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('http:') (Lit_Slash /) (Lit_Slash /)} ) spids: [4718 4724] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_DollarName '$MIRRORS'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(setup_apt_sources)} { (DQ (word_part.BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (suffix_op.StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [4743 4747] ) ) } ) (C {(mv_invalid_to)} { (DQ (word_part.BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (suffix_op.StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [4754 4758] ) ) } ) ] spids: [16777215 4737] ) ] else_action: [ (C {(setup_apt_sources)} {(DQ ($ VSub_DollarName '$DEF_MIRROR'))}) (C {(mv_invalid_to)} {(DQ ($ VSub_DollarName '$DEF_MIRROR'))}) ] spids: [4762 4779] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/debootstrap.log))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$KEEP_DEBOOTSTRAP_DIR'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/debootstrap.log))} {(DQ ($ VSub_DollarName '$TARGET') (/var/log/bootstrap.log))} ) ] spids: [16777215 4815] ) ] else_action: [ (C {(mv)} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/debootstrap.log))} {(DQ ($ VSub_DollarName '$TARGET') (/var/log/bootstrap.log))} ) ] spids: [4831 4867] ) ] spids: [16777215 4797] ) ] spids: [16777215 4870] ) (C {(sync)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$KEEP_DEBOOTSTRAP_DIR'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-x)} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/debootstrap))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(chmod)} {(644)} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap/debootstrap))} ) ] spids: [16777215 4909] ) ] spids: [16777215 4922] ) ] spids: [16777215 4892] ) ] else_action: [(C {(rm)} {(-rf)} {(DQ ($ VSub_DollarName '$TARGET') (/debootstrap))})] spids: [4925 4938] ) ] spids: [16777215 4603] ) ] spids: [16777215 4940] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(kill_target)}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$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_DollarName '$TARGET'))}) ] spids: [16777215 4969] ) ] spids: [16777215 4990] ) ] spids: [16777215 4950] ) ] spids: [16777215 4992] ) ] )