(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 ops:[Op_DPipe] children:[(C {(unset)} {(TMP)} {(TEMP)} {(TMPDIR)}) (C {(true)})]) (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: [16777215 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: [16777215 52] ) ] spids: [16777215 82] ) (C {(.)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/functions)}) (SimpleCommand words: [{(exec)}] redirects: [(Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(1)})] ) (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: F 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: F ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 289] ) ] spids: [16777215 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: <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_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' ) ] ) ] ) ] 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: [16777215 452] ) ] spids: [16777215 465] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (WhileUntil keyword: <KW_While 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)}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [508 509 520 16777215] ) (case_arm pat_list: [{(--version)}] action: [ (C {(echo)} {(DQ ('debootstrap ') ($ VSub_Name '$VERSION'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [523 524 540 16777215] ) (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: <Redir_GreatAnd '>&'> fd: 16777215 arg_word: {(3)} ) ] ) redirects: [ (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] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_DEBIANINSTALLER_INTERACTION) op: Equal rhs: {(yes)} spids: [584] ) ] spids: [584] ) (C {(shift)}) ] spids: [543 544 591 16777215] ) (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: [619] ) ] spids: [619] ) ] spids: [16777215 616] ) ] spids: [16777215 625] ) (C {(shift)}) ] spids: [594 595 631 16777215] ) (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: [638] ) ] spids: [638] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SECOND_STAGE_ONLY) 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: [ (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: [16777215 682] ) ] spids: [16777215 700] ) (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: [732] ) ] spids: [732] ) (C {(shift)} {(2)}) ] spids: [16777215 729] ) (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: [755 759] ) ) } {(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: [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: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ('finddebs printdebs kill_target'))} spids: [809] ) ] spids: [809] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PRINT_DEBS) op: Equal rhs: {(true)} spids: [815] ) ] spids: [815] ) (C {(shift)}) ] spids: [805 806 822 16777215] ) (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: [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: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ('finddebs dldebs maketarball kill_target'))} spids: [850] ) ] spids: [850] ) (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: [885] ) ] spids: [885] ) (C {(shift)} {(2)}) ] spids: [16777215 882] ) (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: [908 912] ) ) } {(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: [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: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESOLVE_DEPS) op: Equal rhs: {(true)} spids: [966] ) ] spids: [966] ) (C {(shift)}) ] spids: [958 959 973 16777215] ) (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: [980] ) ] spids: [980] ) (C {(shift)}) ] spids: [976 977 987 16777215] ) (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: [994] ) ] spids: [994] ) (C {(shift)}) ] spids: [990 991 1001 16777215] ) (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: [1042] ) ] spids: [1042] ) (C {(shift)} {(2)}) ] spids: [16777215 1039] ) (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: [1065 1069] ) ) } {(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: [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: [ (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: [1153] ) ] spids: [1153] ) (C {(shift)} {(2)}) ] spids: [16777215 1150] ) (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: [1176 1180] ) ) } {(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: [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] ) (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: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (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_Name '$EXTRACTOR_OVERRIDE'))} ) ] spids: [16777215 1252] ) ] spids: [16777215 1270] ) ] spids: [16777215 1232] ) ] else_action: [ (C {(error)} {(1)} {(BADEXTRACTOR)} {(DQ ('%s: unknown extractor'))} {(DQ ($ VSub_Name '$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: [ (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: [1335] ) ] spids: [1335] ) (C {(shift)} {(2)}) ] spids: [16777215 1332] ) (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: [1358 1362] ) ) } {(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: [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] ) (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: [16777215 1421] ) ] spids: [16777215 1439] ) ] spids: [1297 1303 1442 16777215] ) (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: [1482] ) ] spids: [1482] ) (C {(shift)} {(2)}) ] spids: [16777215 1479] ) (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: [1505 1509] ) ) } {(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: [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] ) (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: 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: [ (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: [1616] ) ] spids: [1616] ) (C {(shift)} {(2)}) ] spids: [16777215 1613] ) (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: [1639 1643] ) ) } {(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: [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] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1690 1706] ) ) } spids: [1688] ) ] spids: [1688] ) ] spids: [1579 1585 1710 16777215] ) (case_arm pat_list: [{(--verbose)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERBOSE) 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: [ (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: [1771] ) ] spids: [1771] ) (C {(shift)} {(2)}) ] spids: [16777215 1768] ) (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: [1794 1798] ) ) } {(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: [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] ) (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: 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: [ (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: [1905] ) ] spids: [1905] ) (C {(shift)} {(2)}) ] spids: [16777215 1902] ) (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: [1928 1932] ) ) } {(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: [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: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MERGED_USR) op: Equal rhs: {(yes)} spids: [1984] ) ] spids: [1984] ) (C {(shift)}) ] spids: [1980 1981 1991 16777215] ) (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: [1998] ) ] spids: [1998] ) (C {(shift)}) ] spids: [1994 1995 2005 16777215] ) (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: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (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] ) (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: [2077] ) ] spids: [2077] ) (C {(shift)} {(2)}) ] spids: [16777215 2074] ) (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: [2100 2104] ) ) } {(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: [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)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISABLE_KEYRING) op: Equal rhs: {(1)} spids: [2161] ) ] spids: [2161] ) ] spids: [2152 2153 2165 16777215] ) (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: [2177] ) ] spids: [2177] ) ] spids: [2168 2169 2181 16777215] ) (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: [2221] ) ] spids: [2221] ) (C {(shift)} {(2)}) ] spids: [16777215 2218] ) (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: [2245 2249] ) ) } {(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: [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: [ (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: [2337] ) ] spids: [2337] ) (C {(shift)} {(2)}) ] spids: [16777215 2334] ) (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: [2361 2365] ) ) } {(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: [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: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHECKCERTIF) 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: [(ControlFlow token:<ControlFlow_Break break>)] spids: [2455 2456 2462 16777215] ) ] spids: [499 505 2465] ) ] spids: [496 2468] ) ) ] spids: [16777215 487] ) ] spids: [16777215 2470] ) (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: [16777215 2498] ) ] spids: [16777215 2511] ) (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: [2539 2544] ) } spids: [2538] ) ] spids: [2538] ) (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: [2548 2553] ) } spids: [2547] ) ] spids: [2547] ) (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: [2572 2577] ) } spids: [2571] ) ] spids: [2571] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUPPORTED_VARIANTS) op: Equal rhs: {(DQ ($ VSub_Name '$VARIANT'))} spids: [2580] ) ] spids: [2580] ) ] spids: [16777215 2568] ) ] spids: [16777215 2586] ) (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:[2605])] spids: [2605] ) ] spids: [16777215 2602] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET) op: Equal rhs: {($ VSub_Name '$CHROOTDIR')} spids: [2612] ) ] spids: [2612] ) ] spids: [2609 2616] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCRIPT) op: Equal rhs: {($ VSub_Name '$DEBOOTSTRAP_DIR') (/suite-script)} spids: [2619] ) ] spids: [2619] ) ] spids: [16777215 2535] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (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] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUITE) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2668] ) ] spids: [2668] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2674] ) ] spids: [2674] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USER_MIRROR) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [2680] ) ] spids: [2680] ) (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: [2688 2692] ) ) } spids: [2686] ) ] spids: [2686] ) (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: [2701 2705] ) ) } {(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: [2727 2732] ) ) } {(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: [2754 2756] ) (/) ($ VSub_Name '$TARGET') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2750 2760] ) ) } spids: [2748] ) ] spids: [2748] ) ] spids: [16777215 2745] ) ] 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: [2773 2778] ) ) } ) terminator: <Op_Semi ';'> ) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [2785 2787] ) (/) (BracedVarSub token: <VSub_Name TARGET> 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] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCRIPT) op: Equal rhs: {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR') (/scripts/) ($ VSub_Number '$1'))} spids: [2807] ) ] spids: [2807] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} {(Lit_Other ']')} ) ] ) 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: [2849] ) ] spids: [2849] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUPPORTED_VARIANTS) op: Equal rhs: {(DQ ($ VSub_Name '$VARIANT'))} spids: [2861] ) ] spids: [2861] ) ] spids: [16777215 2846] ) ] spids: [16777215 2867] ) (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: [2890] ) ] spids: [2890] ) ] spids: [16777215 2887] ) ] spids: [16777215 2896] ) ] spids: [2623 2898] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(in_path)} {(dpkg)}) (SimpleCommand words: [{(dpkg)} {(--print-architecture)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) ] ) 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: [2930 2934] ) } spids: [2929] ) ] spids: [2929] ) ] spids: [16777215 2926] ) (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(in_path)} {(udpkg)}) (SimpleCommand words: [{(udpkg)} {(--print-architecture)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) ] ) 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: [2961 2965] ) } spids: [2960] ) ] spids: [2960] ) ] spids: [2936 2957] ) (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: [2983 2988] ) } spids: [2982] ) ] spids: [2982] ) ] spids: [2967 2979] ) ] spids: [16777215 2990] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(DQ ($ VSub_Name '$HOST_ARCH'))} spids: [2992] ) ] spids: [2992] ) (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: [3018 3020] ) } arms: [ (case_arm pat_list: [{(Linux)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(linux)} spids: [3029] ) ] spids: [3029] ) ] spids: [3025 3026 3033 16777215] ) (case_arm pat_list: [{(GNU/kFreeBSD)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(kfreebsd)} spids: [3040] ) ] spids: [3040] ) ] spids: [3036 3037 3044 16777215] ) (case_arm pat_list: [{(GNU)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(hurd)} spids: [3051] ) ] spids: [3051] ) ] spids: [3047 3048 3055 16777215] ) (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: [3063] ) ] spids: [3063] ) ] spids: [3058 3060 3067 16777215] ) ] spids: [3016 3022 3070] ) ] spids: [16777215 3013] ) ] spids: [16777215 3072] ) (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: [3091] ) ] spids: [3091] ) ] spids: [16777215 3088] ) ] spids: [16777215 3094] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ARCH'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$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] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] 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 ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (ForEach iter_name: module iter_words: [{(linprocfs)} {(fdescfs)} {(tmpfs)} {(linsysfs)}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(kldstat)} {(-m)} {(DQ ($ VSub_Name '$module'))}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (C {(warning)} {(SANITYCHECK)} {(DQ ('Probably required module %s is not loaded'))} {(DQ ($ VSub_Name '$module'))} ) ] ) ] spids: [3190 3223] ) spids: [3180 3188] ) ] spids: [16777215 3172] ) ] spids: [16777215 3225] ) (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:[3248])] spids: [3248] ) ] spids: [16777215 3245] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHROOT_CMD) op: Equal rhs: {(DQ ('chroot ') ($ VSub_Name '$TARGET'))} spids: [3255] ) ] spids: [3255] ) ] spids: [3252 3261] ) (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:[3280])] spids: [3280] ) ] spids: [16777215 3277] ) ] spids: [16777215 3283] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE) (sum))})] negated: T ) (Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE))})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SHA_SIZE) op:Equal rhs:{(1)} spids:[3316])] spids: [3316] ) ] spids: [16777215 3313] ) ] spids: [16777215 3319] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEBOOTSTRAP_CHECKSUM_FIELD) op: Equal rhs: {(DQ (SHA) ($ VSub_Name '$SHA_SIZE'))} spids: [3321] ) ] spids: [3321] ) (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 ops: [Op_DAmp] children: [ (C {(in_path)} {(id)}) (C {(Lit_Other '[')} { (CommandSubPart command_list: (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] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(check_sane_mount)} {(DQ ($ VSub_Name '$TARGET'))})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NOEXEC)} { (DQ ("Cannot install into target '") ($ VSub_Name '$TARGET') ("' mounted with noexec or nodev") ) } ) ] spids: [16777215 3410] ) ] spids: [16777215 3426] ) ] spids: [16777215 3352] ) ] spids: [16777215 3428] ) (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: [16777215 3446] ) ] spids: [16777215 3463] ) (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: [16777215 3487] ) ] spids: [16777215 3499] ) (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:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(3)})] ) ] spids: [16777215 3540] ) (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ';'>)] action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(2)})] ) ] spids: [3556 3563] ) ] else_action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(1)})] ) (SimpleCommand words: [{(exec)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} ) ] ) (SimpleCommand words: [{(exec)}] redirects: [(Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] spids: [3579 3614] ) (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: [3640 3644] ) ) } {(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: [16777215 3656] ) ] spids: [16777215 3670] ) (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: [3678 3682] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Subshell child: (AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))}) (C {(tar)} {(-xf)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))}) ] ) spids: [3698 3714] ) ] spids: [16777215 3695] ) (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: [3722 3726] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Subshell child: (AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))}) (Pipeline children: [ (C {(zcat)} {(DQ ($ VSub_Name '$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_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: [3817] ) ] spids: [3817] ) ] spids: [16777215 3814] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MIRRORS) op: Equal rhs: {(DQ ($ VSub_Name '$DEF_MIRROR'))} spids: [3824] ) ] spids: [3824] ) (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: [3850] ) ] spids: [3850] ) (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: [3858 3862] ) ) } spids: [3856] ) ] spids: [3856] ) ] spids: [16777215 3847] ) ] spids: [16777215 3866] ) ] spids: [3821 3868] ) (C {(export)} {(MIRRORS)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(false)} spids:[3876])] spids: [3876] ) (ForEach iter_name: v iter_words: [{($ VSub_Name '$SUPPORTED_VARIANTS')}] do_arg_iter: F 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: [3900] ) ] spids: [3900] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 3898] ) ] spids: [16777215 3904] ) ] spids: [3888 3906] ) spids: [3884 3886] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {($ VSub_Name '$ok')})] negated:T) terminator: <Op_Semi ';'> ) ] action: [(C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ('unsupported variant'))})] spids: [16777215 3915] ) ] spids: [16777215 3928] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(finddebs)}) terminator:<Op_Semi ';'>)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] 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 ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(download_indices)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GOT_INDICES) op: Equal rhs: {(true)} spids: [3986] ) ] spids: [3986] ) ] spids: [16777215 3980] ) ] spids: [16777215 3990] ) (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: [3999 4011] ) } spids: [3998] ) ] spids: [3998] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [4037 4061] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4034 4062] ) } spids: [4033] ) ] spids: [4033] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [4069 4093] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4066 4094] ) } spids: [4065] ) ] spids: [4065] ) (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: [4099 4109] ) } spids: [4098] ) ] spids: [4098] ) (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: [4113 4123] ) } spids: [4112] ) ] spids: [4112] ) (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: [16777215 4144] ) ] spids: [16777215 4160] ) (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: [4174 4178] ) } spids: [4173] ) ] spids: [4173] ) (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: [4191 4195] ) } spids: [4190] ) ] spids: [4190] ) (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: [4199 4209] ) } spids: [4198] ) ] spids: [4198] ) (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: [4214 4224] ) } spids: [4213] ) ] spids: [4213] ) (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: [4228 4238] ) } spids: [4227] ) ] spids: [4227] ) (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: [16777215 4258] ) ] spids: [16777215 4274] ) (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: [16777215 4294] ) ] spids: [16777215 4310] ) ] spids: [16777215 4030] ) ] spids: [16777215 4313] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_debs) op: Equal rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))} spids: [4317] ) ] spids: [4317] ) ] spids: [16777215 3942] ) ] spids: [16777215 4324] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ';'>)] action: [(C {(echo)} {(DQ ($ VSub_Name '$all_debs'))})] spids: [16777215 4334] ) ] spids: [16777215 4343] ) (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: [16777215 4374] ) ] spids: [16777215 4380] ) (C {(download)} {($ VSub_Name '$all_debs')}) ] spids: [16777215 4353] ) ] spids: [16777215 4387] ) (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: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_Name '$MAKE_TARBALL')} ) ] spids: [4400 4416] ) ] spids: [16777215 4397] ) ] spids: [16777215 4421] ) (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:T) 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: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/arch))} ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$SUITE'))}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/suite))} ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ )} {(Lit_Other '=')} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other ']')} ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$VARIANT'))}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/variant))} ) ] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$required'))}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/required))} ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$base'))}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/base))} ) ] ) (C {(chmod)} {(755)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))}) ] spids: [16777215 4463] ) ] spids: [16777215 4591] ) ] spids: [16777215 4431] ) ] spids: [16777215 4593] ) (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: [4626 4631] ) ) } spids: [4624] ) ] spids: [4624] ) (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: [4637 4642] ) ) } spids: [4635] ) ] spids: [4635] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_debs) op: Equal rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))} spids: [4646] ) ] spids: [4646] ) ] spids: [16777215 4621] ) ] spids: [16777215 4654] ) (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: [16777215 4697] ) ] spids: [16777215 4710] ) (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: [4718 4724] ) ) } {(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: [4743 4747] ) ) } ) (C {(mv_invalid_to)} { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [4754 4758] ) ) } ) ] spids: [16777215 4737] ) ] else_action: [ (C {(setup_apt_sources)} {(DQ ($ VSub_Name '$DEF_MIRROR'))}) (C {(mv_invalid_to)} {(DQ ($ VSub_Name '$DEF_MIRROR'))}) ] spids: [4762 4779] ) (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: [16777215 4815] ) ] else_action: [ (C {(mv)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} {(DQ ($ VSub_Name '$TARGET') (/var/log/bootstrap.log))} ) ] spids: [4831 4867] ) ] spids: [16777215 4797] ) ] spids: [16777215 4870] ) (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: [16777215 4909] ) ] spids: [16777215 4922] ) ] spids: [16777215 4892] ) ] else_action: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap))})] spids: [4925 4938] ) ] spids: [16777215 4603] ) ] spids: [16777215 4940] ) (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: [16777215 4969] ) ] spids: [16777215 4990] ) ] spids: [16777215 4950] ) ] spids: [16777215 4992] ) ] )