(CommandList children: [ (C {(set)} {(-e)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:VERSION) op:Equal rhs:{(SQ <"@VERSION@">)} spids:[8])] spids: [8] ) (AndOr children:[(C {(unset)} {(TMP)} {(TEMP)} {(TMPDIR)})(C {(true)})] op_id:Op_DPipe) (C {(export)} {(PATH)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$DEBOOTSTRAP_DIR"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-x)} {(/debootstrap/debootstrap)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEBOOTSTRAP_DIR) op: Equal rhs: {(/debootstrap)} spids: [69] ) ] spids: [69] ) ] spids: [-1 66] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEBOOTSTRAP_DIR) op: Equal rhs: {(/usr/share/debootstrap)} spids: [76] ) ] spids: [76] ) ] spids: [73 80] ) ] spids: [-1 52] ) ] spids: [-1 82] ) (C {(.)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/functions)}) (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(1)} spids:[92])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:LANG) op:Equal rhs:{(C)} spids:[96])] spids: [96] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:USE_COMPONENTS) op:Equal rhs:{(main)} spids:[99])] spids: [99] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:KEYRING) op:Equal rhs:{(DQ )} spids:[102])] spids: [102] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DISABLE_KEYRING) op:Equal rhs:{(DQ )} spids:[106])] spids: [106] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FORCE_KEYRING) op:Equal rhs:{(DQ )} spids:[110])] spids: [110] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:VARIANT) op:Equal rhs:{(DQ )} spids:[114])] spids: [114] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MERGED_USR) op:Equal rhs:{(DQ (no))} spids:[118])] spids: [118] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ARCH) op:Equal rhs:{(DQ )} spids:[123])] spids: [123] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:HOST_ARCH) op:Equal rhs:{(DQ )} spids:[127])] spids: [127] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:HOST_OS) op:Equal rhs:{(DQ )} spids:[131])] spids: [131] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:KEEP_DEBOOTSTRAP_DIR) op:Equal rhs:{(DQ )} spids:[135])] spids: [135] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_DEBIANINSTALLER_INTERACTION) op: Equal rhs: {(DQ )} spids: [139] ) ] spids: [139] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SECOND_STAGE_ONLY) op:Equal rhs:{(DQ )} spids:[143])] spids: [143] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PRINT_DEBS) op:Equal rhs:{(DQ )} spids:[147])] spids: [147] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CHROOTDIR) op:Equal rhs:{(DQ )} spids:[151])] spids: [151] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MAKE_TARBALL) op:Equal rhs:{(DQ )} spids:[155])] spids: [155] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:EXTRACTOR_OVERRIDE) op:Equal rhs:{(DQ )} spids:[159])] spids: [159] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:UNPACK_TARBALL) op:Equal rhs:{(DQ )} spids:[163])] spids: [163] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ADDITIONAL) op:Equal rhs:{(DQ )} spids:[167])] spids: [167] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:EXCLUDE) op:Equal rhs:{(DQ )} spids:[171])] spids: [171] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:VERBOSE) op:Equal rhs:{(DQ )} spids:[175])] spids: [175] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CERTIFICATE) op:Equal rhs:{(DQ )} spids:[179])] spids: [179] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CHECKCERTIF) op:Equal rhs:{(DQ )} spids:[183])] spids: [183] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PRIVATEKEY) op:Equal rhs:{(DQ )} spids:[187])] spids: [187] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEF_MIRROR) op: Equal rhs: {(DQ ("http://deb.debian.org/debian"))} spids: [192] ) ] spids: [192] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEF_HTTPS_MIRROR) op: Equal rhs: {(DQ ("https://deb.debian.org/debian"))} spids: [197] ) ] spids: [197] ) (C {(export)} {(LANG)} {(USE_COMPONENTS)}) (C {(umask)} {(022)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:RESOLVE_DEPS) op:Equal rhs:{(true)} spids:[225])] spids: [225] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ("finddebs dldebs first_stage second_stage"))} spids: [229] ) ] spids: [229] ) (FuncDef name: am_doing_phase body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[248])] spids: [246] ) terminator: <Op_Semi ";"> ) (ForEach iter_name: x iter_words: [{(DQ ($ VSub_At "$@"))}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(echo)} {(DQ (" ") ($ VSub_Name "$WHAT_TO_DO") (" "))}) (C {(grep)} {(-q)} {(DQ (" ") ($ VSub_Name "$x") (" "))}) ] negated: False ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ";"> ) ] spids: [-1 289] ) ] spids: [-1 296] ) ] spids: [263 299] ) spids: [257 261] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [239] ) spids: [234 238] ) (FuncDef name: usage_err body: (BraceGroup children: [ (C {(info)} {(USAGE1)} {(DQ ("usage: [OPTION]... <suite> <target> [<mirror> [<script>]]"))}) (C {(info)} {(USAGE2)} { (DQ ("Try ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (BracedVarSub token: <VSub_Number 0> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [336 341] ) (" --help' for more information.") ) } ) (C {(error)} {(DQ ($ VSub_At "$@"))}) ] spids: [317] ) spids: [313 316] ) (FuncDef name: usage body: (BraceGroup children: [ (C {(echo)} { (DQ ("Usage: ") (BracedVarSub token: <VSub_Number 0> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [366 371] ) (" [OPTION]... <suite> <target> [<mirror> [<script>]]") ) } ) (C {(echo)} {(DQ ("Bootstrap a Debian base system into a target directory."))}) (C {(echo)}) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ (" --help display this help and exit\n") (" --version display version information and exit\n") (" --verbose don't turn off the output of wget\n") ("\n") ( " --download-only download packages, but don't perform installation\n" ) (" --print-debs print the packages to be installed, and exit\n") ("\n") ( " --arch=A set the architecture to install (use if no dpkg)\n" ) (" [ --arch=powerpc ]\n") ("\n") ( " --include=A,B,C adds specified names to the list of base packages\n" ) (" --exclude=A,B,C removes specified packages from the list\n") ( " --components=A,B,C use packages from the listed components of the\n" ) (" archive\n") (" --variant=X use variant X of the bootstrap scripts\n") (" (currently supported variants: buildd, fakechroot,\n") (" minbase)\n") (" --merged-usr make /{bin,sbin,lib}/ symlinks to /usr/\n") (" --keyring=K check Release files against keyring K\n") (" --no-check-gpg avoid checking Release file signatures\n") (" --force-check-gpg force checking Release file signatures\n") (" (also disables automatic fallback to HTTPS in case\n") ( " of a missing keyring), aborting otherwise\n" ) (" --no-resolve-deps don't try to resolve dependencies automatically\n") ("\n") ( " --unpack-tarball=T acquire .debs from a tarball instead of http\n" ) (" --make-tarball=T download .debs and create a tarball (tgz format)\n") (" --second-stage-target=DIR\n") (" Run second stage in a subdirectory instead of root\n") ( " (can be used to create a foreign chroot)\n" ) (" (requires --second-stage)\n") ( " --extractor=TYPE override automatic .deb extractor selection\n" ) (" (supported: ") ($ VSub_Name "$EXTRACTORS_SUPPORTED") (")\n") ( " --debian-installer used for internal purposes by debian-installer\n" ) (" --private-key=file read the private key from file\n") ( " --certificate=file use the client certificate stored in file (PEM)\n" ) (" --no-check-certificate do not check certificate against certificate authorities\n") ) } do_expansion: True here_end: EOF was_filled: True spids: [388] ) ] ) ] spids: [359] ) spids: [355 358] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$PKGDETAILS"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(NO_PKGDETAILS)} { (DQ ( "No pkgdetails available; either install perl, or build pkgdetails.c from the base-installer source package" ) ) } ) ] spids: [-1 450] ) ] spids: [-1 463] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_Pound "$#")} {(KW_Bang "!") (Lit_Other "=")} {(0)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (While cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ";">)] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list: [{(--help)}] action: [(C {(usage)}) (C {(exit)} {(0)})] spids: [506 507 518 -1] ) (case_arm pat_list: [{(--version)}] action: [ (C {(echo)} {(DQ ("debootstrap ") ($ VSub_Name "$VERSION"))}) (C {(exit)} {(0)}) ] spids: [521 522 538 -1] ) (case_arm pat_list: [{(--debian-installer)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (Subshell child: (SimpleCommand words: [{(echo)} {(-n)} {(DQ )}] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(3)} spids: [557] ) ] ) redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [561] ) ] spids: [549 559] ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(ARG_DIBYHAND)} { (DQ ( "If running debootstrap by hand, don't use --debian-installer" ) ) } ) ] spids: [-1 565] ) ] spids: [-1 579] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_DEBIANINSTALLER_INTERACTION) op: Equal rhs: {(yes)} spids: [582] ) ] spids: [582] ) (C {(shift)}) ] spids: [541 542 589 -1] ) (case_arm pat_list: [{(--foreign)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$PRINT_DEBS"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ("finddebs dldebs first_stage"))} spids: [617] ) ] spids: [617] ) ] spids: [-1 614] ) ] spids: [-1 623] ) (C {(shift)}) ] spids: [592 593 629 -1] ) (case_arm pat_list: [{(--second-stage)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ (second_stage))} spids: [636] ) ] spids: [636] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SECOND_STAGE_ONLY) op: Equal rhs: {(true)} spids: [642] ) ] spids: [642] ) (C {(shift)}) ] spids: [632 633 649 -1] ) (case_arm pat_list: [ {(--second-stage-target)} {(--second-stage-target) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SECOND_STAGE_ONLY"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(STAGE2ONLY)} {(DQ ("option %s only applies in the second stage"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [-1 680] ) ] spids: [-1 698] ) (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: [730] ) ] spids: [730] ) (C {(shift)} {(2)}) ] spids: [-1 727] ) (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: [753 757] ) ) } {(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: [768 772] ) ) } spids: [766] ) ] spids: [766] ) (C {(shift)}) ] spids: [741 763] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument: %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [779 797] ) ] spids: [652 658 800 -1] ) (case_arm pat_list: [{(--print-debs)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ("finddebs printdebs kill_target"))} spids: [807] ) ] spids: [807] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PRINT_DEBS) op: Equal rhs: {(true)} spids: [813] ) ] spids: [813] ) (C {(shift)}) ] spids: [803 804 820 -1] ) (case_arm pat_list: [{(--download-only)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ("finddebs dldebs"))} spids: [827] ) ] spids: [827] ) (C {(shift)}) ] spids: [823 824 836 -1] ) (case_arm pat_list: [ {(--make-tarball)} {(--make-tarball) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHAT_TO_DO) op: Equal rhs: {(DQ ("finddebs dldebs maketarball kill_target"))} spids: [848] ) ] spids: [848] ) (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: [883] ) ] spids: [883] ) (C {(shift)} {(2)}) ] spids: [-1 880] ) (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: [906 910] ) ) } {(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: [921 925] ) ) } spids: [919] ) ] spids: [919] ) (C {(shift)}) ] spids: [894 916] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [932 950] ) ] spids: [839 845 953 -1] ) (case_arm pat_list: [{(--resolve-deps)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESOLVE_DEPS) op: Equal rhs: {(true)} spids: [964] ) ] spids: [964] ) (C {(shift)}) ] spids: [956 957 971 -1] ) (case_arm pat_list: [{(--no-resolve-deps)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESOLVE_DEPS) op: Equal rhs: {(false)} spids: [978] ) ] spids: [978] ) (C {(shift)}) ] spids: [974 975 985 -1] ) (case_arm pat_list: [{(--keep-debootstrap-dir)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KEEP_DEBOOTSTRAP_DIR) op: Equal rhs: {(true)} spids: [992] ) ] spids: [992] ) (C {(shift)}) ] spids: [988 989 999 -1] ) (case_arm pat_list: [ {(--arch)} {(--arch) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (--arch))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ARCH) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [1040] ) ] spids: [1040] ) (C {(shift)} {(2)}) ] spids: [-1 1037] ) (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: [1063 1067] ) ) } {(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: [1078 1082] ) ) } spids: [1076] ) ] spids: [1076] ) (C {(shift)}) ] spids: [1051 1073] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [1089 1107] ) ] spids: [1002 1008 1110 -1] ) (case_arm pat_list: [ {(--extractor)} {(--extractor) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (--extractor))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRACTOR_OVERRIDE) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [1151] ) ] spids: [1151] ) (C {(shift)} {(2)}) ] spids: [-1 1148] ) (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: [1174 1178] ) ) } {(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: [1189 1193] ) ) } spids: [1187] ) ] spids: [1187] ) (C {(shift)}) ] spids: [1162 1184] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [1200 1218] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(valid_extractor)} {(DQ ($ VSub_Name "$EXTRACTOR_OVERRIDE"))} ) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [ {(type)} {(DQ ($ VSub_Name "$EXTRACTOR_OVERRIDE"))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [1243] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [1246] ) ] ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(MISSINGEXTRACTOR)} {(DQ ("The selected extractor cannot be found: %s"))} {(DQ ($ VSub_Name "$EXTRACTOR_OVERRIDE"))} ) ] spids: [-1 1250] ) ] spids: [-1 1268] ) ] spids: [-1 1230] ) ] else_action: [ (C {(error)} {(1)} {(BADEXTRACTOR)} {(DQ ("%s: unknown extractor"))} {(DQ ($ VSub_Name "$EXTRACTOR_OVERRIDE"))} ) ] spids: [1271 1289] ) ] spids: [1113 1119 1292 -1] ) (case_arm pat_list: [ {(--unpack-tarball)} {(--unpack-tarball) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (--unpack-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UNPACK_TARBALL) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [1333] ) ] spids: [1333] ) (C {(shift)} {(2)}) ] spids: [-1 1330] ) (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: [1356 1360] ) ) } {(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: [1371 1375] ) ) } spids: [1369] ) ] spids: [1369] ) (C {(shift)}) ] spids: [1344 1366] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [1382 1400] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(NOTARBALL)} {(DQ ("%s: No such file or directory"))} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} ) ] spids: [-1 1419] ) ] spids: [-1 1437] ) ] spids: [1295 1301 1440 -1] ) (case_arm pat_list: [ {(--include)} {(--include) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (--include))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADDITIONAL) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [1480] ) ] spids: [1480] ) (C {(shift)} {(2)}) ] spids: [-1 1477] ) (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: [1503 1507] ) ) } {(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: [1518 1522] ) ) } spids: [1516] ) ] spids: [1516] ) (C {(shift)} {(1)}) ] spids: [1491 1513] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [1531 1549] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADDITIONAL) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name "$ADDITIONAL"))}) (C {(tr)} {(Lit_Comma ",")} {(DQ (" "))}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [1554 1570] ) ) } spids: [1552] ) ] spids: [1552] ) ] spids: [1443 1449 1574 -1] ) (case_arm pat_list: [ {(--exclude)} {(--exclude) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (--exclude))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXCLUDE) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [1614] ) ] spids: [1614] ) (C {(shift)} {(2)}) ] spids: [-1 1611] ) (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: [1637 1641] ) ) } {(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: [1652 1656] ) ) } spids: [1650] ) ] spids: [1650] ) (C {(shift)} {(1)}) ] spids: [1625 1647] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [1665 1683] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXCLUDE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name "$EXCLUDE"))}) (C {(tr)} {(Lit_Comma ",")} {(DQ (" "))}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [1688 1704] ) ) } spids: [1686] ) ] spids: [1686] ) ] spids: [1577 1583 1708 -1] ) (case_arm pat_list: [{(--verbose)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERBOSE) op: Equal rhs: {(true)} spids: [1715] ) ] spids: [1715] ) (C {(export)} {(VERBOSE)}) (C {(shift)} {(1)}) ] spids: [1711 1712 1729 -1] ) (case_arm pat_list: [ {(--components)} {(--components) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (--components))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_COMPONENTS) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [1769] ) ] spids: [1769] ) (C {(shift)} {(2)}) ] spids: [-1 1766] ) (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: [1792 1796] ) ) } {(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: [1807 1811] ) ) } spids: [1805] ) ] spids: [1805] ) (C {(shift)} {(1)}) ] spids: [1780 1802] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [1820 1838] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_COMPONENTS) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name "$USE_COMPONENTS"))}) (C {(tr)} {(Lit_Comma ",")} {(DQ ("|"))}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [1843 1859] ) ) } spids: [1841] ) ] spids: [1841] ) ] spids: [1732 1738 1863 -1] ) (case_arm pat_list: [ {(--variant)} {(--variant) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (--variant))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VARIANT) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [1903] ) ] spids: [1903] ) (C {(shift)} {(2)}) ] spids: [-1 1900] ) (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: [1926 1930] ) ) } {(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: [1941 1945] ) ) } spids: [1939] ) ] spids: [1939] ) (C {(shift)} {(1)}) ] spids: [1914 1936] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [1954 1972] ) ] spids: [1866 1872 1975 -1] ) (case_arm pat_list: [{(--merged-usr)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MERGED_USR) op: Equal rhs: {(yes)} spids: [1982] ) ] spids: [1982] ) (C {(shift)}) ] spids: [1978 1979 1989 -1] ) (case_arm pat_list: [{(--no-merged-usr)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MERGED_USR) op: Equal rhs: {(no)} spids: [1996] ) ] spids: [1996] ) (C {(shift)}) ] spids: [1992 1993 2003 -1] ) (case_arm pat_list: [ {(--keyring)} {(--keyring) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(gpgv)} {(--version)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [2023] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2026] ) ] ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(NEEDGPGV)} { (DQ ( "gpgv not installed, but required for Release verification" ) ) } ) ] spids: [-1 2030] ) ] spids: [-1 2044] ) (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: [2075] ) ] spids: [2075] ) (C {(shift)} {(2)}) ] spids: [-1 2072] ) (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: [2098 2102] ) ) } {(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: [2113 2117] ) ) } spids: [2111] ) ] spids: [2111] ) (C {(shift)} {(1)}) ] spids: [2086 2108] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [2126 2144] ) ] spids: [2006 2012 2147 -1] ) (case_arm pat_list: [{(--no-check-gpg)}] action: [ (C {(shift)} {(1)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISABLE_KEYRING) op: Equal rhs: {(1)} spids: [2159] ) ] spids: [2159] ) ] spids: [2150 2151 2163 -1] ) (case_arm pat_list: [{(--force-check-gpg)}] action: [ (C {(shift)} {(1)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FORCE_KEYRING) op: Equal rhs: {(1)} spids: [2175] ) ] spids: [2175] ) ] spids: [2166 2167 2179 -1] ) (case_arm pat_list: [ {(--certificate)} {(--certificate) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (--certificate))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CERTIFICATE) op: Equal rhs: {(DQ ("--certificate=") ($ VSub_Number "$2"))} spids: [2219] ) ] spids: [2219] ) (C {(shift)} {(2)}) ] spids: [-1 2216] ) (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: [2243 2247] ) ) } {(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: [2259 2263] ) ) } spids: [2256] ) ] spids: [2256] ) (C {(shift)} {(1)}) ] spids: [2231 2253] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [2273 2292] ) ] spids: [2182 2188 2295 -1] ) (case_arm pat_list: [ {(--private-key)} {(--private-key) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (--private-key))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PRIVATEKEY) op: Equal rhs: {(DQ ("--private-key=") ($ VSub_Number "$2"))} spids: [2335] ) ] spids: [2335] ) (C {(shift)} {(2)}) ] spids: [-1 2332] ) (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: [2359 2363] ) ) } {(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: [2375 2379] ) ) } spids: [2372] ) ] spids: [2372] ) (C {(shift)} {(1)}) ] spids: [2347 2369] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [2389 2408] ) ] spids: [2298 2304 2411 -1] ) (case_arm pat_list: [{(--no-check-certificate)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHECKCERTIF) op: Equal rhs: {(DQ (--no-check-certificate))} spids: [2418] ) ] spids: [2418] ) (C {(shift)}) ] spids: [2414 2415 2427 -1] ) (case_arm pat_list: [{(-) (Lit_Other "*")}] action: [ (C {(error)} {(1)} {(BADARG)} {(DQ ("unrecognized or invalid option %s"))} {(DQ ($ VSub_Number "$1"))} ) ] spids: [2430 2432 2450 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [2453 2454 2460 -1] ) ] spids: [497 503 2463] ) ] spids: [494 2466] ) ) ] spids: [-1 485] ) ] spids: [-1 2468] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$DISABLE_KEYRING"))} {(-a)} {(-n)} {(DQ ($ VSub_Name "$FORCE_KEYRING"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(BADARG)} { (DQ ( "Both --no-check-gpg and --force-check-gpg specified, please pick one (at most)" ) ) } ) ] spids: [-1 2496] ) ] spids: [-1 2509] ) (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: [2537 2542] ) } spids: [2536] ) ] spids: [2536] ) (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: [2546 2551] ) } spids: [2545] ) ] spids: [2545] ) (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: [2570 2575] ) } spids: [2569] ) ] spids: [2569] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUPPORTED_VARIANTS) op: Equal rhs: {(DQ ($ VSub_Name "$VARIANT"))} spids: [2578] ) ] spids: [2578] ) ] spids: [-1 2566] ) ] spids: [-1 2584] ) (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:[2603])] spids: [2603] ) ] spids: [-1 2600] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET) op: Equal rhs: {($ VSub_Name "$CHROOTDIR")} spids: [2610] ) ] spids: [2610] ) ] spids: [2607 2614] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCRIPT) op: Equal rhs: {($ VSub_Name "$DEBOOTSTRAP_DIR") (/suite-script)} spids: [2617] ) ] spids: [2617] ) ] spids: [-1 2533] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "]")}) (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [ (C {(usage_err)} {(1)} {(NEEDSUITETARGET)} {(DQ ("You must specify a suite and a target."))} ) ] spids: [-1 2649] ) ] spids: [-1 2663] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUITE) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [2666] ) ] spids: [2666] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [2672] ) ] spids: [2672] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USER_MIRROR) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [2678] ) ] spids: [2678] ) (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: [2686 2690] ) ) } spids: [2684] ) ] spids: [2684] ) (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: [2699 2703] ) ) } {(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: [2725 2730] ) ) } {(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: [2752 2754] ) (/) ($ VSub_Name "$TARGET") ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [2748 2758] ) ) } spids: [2746] ) ] spids: [2746] ) ] spids: [-1 2743] ) ] 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: [2771 2776] ) ) } ) terminator: <Op_Semi ";"> ) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick "`"> spids: [2783 2785] ) (/) (BracedVarSub token: <VSub_Name TARGET> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {("*") (Lit_Slash /)} ) spids: [2787 2792] ) ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [2767 2794] ) ) } spids: [2765] ) ] spids: [2765] ) ] spids: [2762 2798] ) ] spids: [-1 2717] ) ] spids: [-1 2801] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCRIPT) op: Equal rhs: {(DQ ($ VSub_Name "$DEBOOTSTRAP_DIR") (/scripts/) ($ VSub_Number "$1"))} spids: [2805] ) ] spids: [2805] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$VARIANT"))} {(Lit_Other "]")}) (C {(Lit_Other "[")} {(-e)} {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} {(Lit_Other "]")} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCRIPT) op: Equal rhs: {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} spids: [2847] ) ] spids: [2847] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUPPORTED_VARIANTS) op: Equal rhs: {(DQ ($ VSub_Name "$VARIANT"))} spids: [2859] ) ] spids: [2859] ) ] spids: [-1 2844] ) ] spids: [-1 2865] ) (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: [2888] ) ] spids: [2888] ) ] spids: [-1 2885] ) ] spids: [-1 2894] ) ] spids: [2621 2896] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(dpkg)}) (SimpleCommand words: [{(dpkg)} {(--print-architecture)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [2917] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2920] ) ] ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(/usr/bin/dpkg)} {(--print-architecture)})] ) left_token: <Left_Backtick "`"> spids: [2928 2932] ) } spids: [2927] ) ] spids: [2927] ) ] spids: [-1 2924] ) (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(udpkg)}) (SimpleCommand words: [{(udpkg)} {(--print-architecture)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [2948] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2951] ) ] ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(/usr/bin/udpkg)} {(--print-architecture)})] ) left_token: <Left_Backtick "`"> spids: [2959 2963] ) } spids: [2958] ) ] spids: [2958] ) ] spids: [2934 2955] ) (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: [2981 2986] ) } spids: [2980] ) ] spids: [2980] ) ] spids: [2965 2977] ) ] spids: [-1 2988] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(DQ ($ VSub_Name "$HOST_ARCH"))} spids: [2990] ) ] spids: [2990] ) (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: [3016 3018] ) } arms: [ (case_arm pat_list: [{(Linux)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(linux)} spids: [3027] ) ] spids: [3027] ) ] spids: [3023 3024 3031 -1] ) (case_arm pat_list: [{(GNU/kFreeBSD)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(kfreebsd)} spids: [3038] ) ] spids: [3038] ) ] spids: [3034 3035 3042 -1] ) (case_arm pat_list: [{(GNU)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(hurd)} spids: [3049] ) ] spids: [3049] ) ] spids: [3045 3046 3053 -1] ) (case_arm pat_list: [{(FreeBSD) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_OS) op: Equal rhs: {(freebsd)} spids: [3061] ) ] spids: [3061] ) ] spids: [3056 3058 3065 -1] ) ] spids: [3014 3020 3068] ) ] spids: [-1 3011] ) ] spids: [-1 3070] ) (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: [3089] ) ] spids: [3089] ) ] spids: [-1 3086] ) ] spids: [-1 3092] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$ARCH"))} {(Lit_Other "]")}) (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$HOST_OS"))} {(Lit_Other "]")}) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [(C {(error)} {(1)} {(WHATARCH)} {(DQ ("Couldn't work out current architecture"))})] spids: [-1 3120] ) ] spids: [-1 3134] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$HOST_OS"))} {(Lit_Other "=")} {(DQ (kfreebsd))} {(Lit_Other "]")} ) (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$HOST_OS"))} {(Lit_Other "=")} {(DQ (freebsd))} {(Lit_Other "]")} ) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [ (ForEach iter_name: module iter_words: [{(linprocfs)} {(fdescfs)} {(tmpfs)} {(linsysfs)}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (SimpleCommand words: [{(kldstat)} {(-m)} {(DQ ($ VSub_Name "$module"))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [3199] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [3203] ) ] ) (C {(warning)} {(SANITYCHECK)} {(DQ ("Probably required module %s is not loaded"))} {(DQ ($ VSub_Name "$module"))} ) ] op_id: Op_DPipe ) ] spids: [3188 3221] ) spids: [3178 3186] ) ] spids: [-1 3170] ) ] spids: [-1 3223] ) (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:[3246])] spids: [3246] ) ] spids: [-1 3243] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHROOT_CMD) op: Equal rhs: {(DQ ("chroot ") ($ VSub_Name "$TARGET"))} spids: [3253] ) ] spids: [3253] ) ] spids: [3250 3259] ) (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:[3278])] spids: [3278] ) ] spids: [-1 3275] ) ] spids: [-1 3281] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE) (sum))})] negated: True ) (Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE))})] negated: True ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SHA_SIZE) op:Equal rhs:{(1)} spids:[3314])] spids: [3314] ) ] spids: [-1 3311] ) ] spids: [-1 3317] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEBOOTSTRAP_CHECKSUM_FIELD) op: Equal rhs: {(DQ (SHA) ($ VSub_Name "$SHA_SIZE"))} spids: [3319] ) ] spids: [3319] ) (C {(export)} {(ARCH)} {(SUITE)} {(TARGET)} {(CHROOT_CMD)} {(SHA_SIZE)} {(DEBOOTSTRAP_CHECKSUM_FIELD)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(am_doing_phase)} {(first_stage)} {(second_stage)}) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(in_path)} {(id)}) (C {(Lit_Other "[")} { (CommandSubPart command_list: (CommandList children:[(C {(id)} {(-u)})]) left_token: <Left_Backtick "`"> spids: [3363 3367] ) } {(-ne)} {(0)} {(Lit_Other "]")} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [(C {(error)} {(1)} {(NEEDROOT)} {(DQ ("debootstrap can only run as root"))})] spids: [-1 3376] ) ] spids: [-1 3390] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(check_sane_mount)} {(DQ ($ VSub_Name "$TARGET"))})] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(NOEXEC)} { (DQ ("Cannot install into target '") ($ VSub_Name "$TARGET") ("' mounted with noexec or nodev") ) } ) ] spids: [-1 3408] ) ] spids: [-1 3424] ) ] spids: [-1 3350] ) ] spids: [-1 3426] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(KW_Bang "!")} {(-e)} {(DQ ($ VSub_Name "$SCRIPT"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(NOSCRIPT)} {(DQ ("No such script: %s"))} {(DQ ($ VSub_Name "$SCRIPT"))}) ] spids: [-1 3444] ) ] spids: [-1 3461] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$TARGET"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap))})] spids: [-1 3485] ) ] spids: [-1 3497] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$USE_DEBIANINSTALLER_INTERACTION"))} {(Lit_Other "=")} {(yes)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(3)} spids:[3551])] ) ] spids: [-1 3538] ) (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ";">)] action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(2)} spids:[3574])] ) ] spids: [3554 3561] ) ] else_action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(1)} spids:[3594])] ) (SimpleCommand words: [{(exec)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap.log))} spids: [3600] ) ] ) (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[3609])] ) ] spids: [3577 3612] ) (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: [3638 3642] ) ) } {(Lit_Other "=")} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(error)} {(1)} {(TARPATH)} {(DQ ("Tarball must be given a complete path"))}) ] spids: [-1 3654] ) ] spids: [-1 3668] ) (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: [3676 3680] ) ) } {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Subshell child: (AndOr children: [ (C {(cd)} {(DQ ($ VSub_Name "$TARGET"))}) (C {(tar)} {(-xf)} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))}) ] op_id: Op_DAmp ) spids: [3696 3712] ) ] spids: [-1 3693] ) (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: [3720 3724] ) ) } {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Subshell child: (AndOr children: [ (C {(cd)} {(DQ ($ VSub_Name "$TARGET"))}) (Pipeline children: [ (C {(zcat)} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))}) (C {(tar)} {(-xf)} {(-)}) ] negated: False ) ] op_id: Op_DAmp ) spids: [3740 3762] ) ] spids: [3715 3737] ) ] else_action: [ (C {(error)} {(1)} {(NOTTAR)} {(DQ ("Unknown tarball: must be either .tar or .tgz"))}) ] spids: [3765 3779] ) ] spids: [-1 3630] ) ] spids: [-1 3781] ) (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: [3815] ) ] spids: [3815] ) ] spids: [-1 3812] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MIRRORS) op: Equal rhs: {(DQ ($ VSub_Name "$DEF_MIRROR"))} spids: [3822] ) ] spids: [3822] ) (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: [3848] ) ] spids: [3848] ) (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: [3856 3860] ) ) } spids: [3854] ) ] spids: [3854] ) ] spids: [-1 3845] ) ] spids: [-1 3864] ) ] spids: [3819 3866] ) (C {(export)} {(MIRRORS)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(false)} spids:[3874])] spids: [3874] ) (ForEach iter_name: v iter_words: [{($ VSub_Name "$SUPPORTED_VARIANTS")}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(doing_variant)} {($ VSub_Name "$v")}) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ok) op: Equal rhs: {(true)} spids: [3898] ) ] spids: [3898] ) terminator: <Op_Semi ";"> ) ] spids: [-1 3896] ) ] spids: [-1 3902] ) ] spids: [3886 3904] ) spids: [3882 3884] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {($ VSub_Name "$ok")})] negated:True) terminator: <Op_Semi ";"> ) ] action: [(C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ("unsupported variant"))})] spids: [-1 3913] ) ] spids: [-1 3926] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(finddebs)}) terminator:<Op_Semi ";">)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$FINDDEBS_NEEDS_INDICES"))} {(Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")} ) (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$RESOLVE_DEPS"))} {(Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")} ) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [ (C {(download_indices)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GOT_INDICES) op: Equal rhs: {(true)} spids: [3984] ) ] spids: [3984] ) ] spids: [-1 3978] ) ] spids: [-1 3988] ) (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: [3997 4009] ) } spids: [3996] ) ] spids: [3996] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$RESOLVE_DEPS"))} {(Lit_Other "=")} {(true)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:requiredX) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(echo)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name "$required")}) (C {(tr)} {(SQ <" ">)} {(SQ <"\\n">)}) (C {(sort)}) (C {(uniq)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [4035 4059] ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [4032 4060] ) } spids: [4031] ) ] spids: [4031] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:baseX) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(echo)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name "$base")}) (C {(tr)} {(SQ <" ">)} {(SQ <"\\n">)}) (C {(sort)}) (C {(uniq)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [4067 4091] ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [4064 4092] ) } spids: [4063] ) ] spids: [4063] ) (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: [4097 4107] ) } spids: [4096] ) ] spids: [4096] ) (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: [4111 4121] ) } spids: [4110] ) ] spids: [4110] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$baseU"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(info)} {(REDUNDANTBASE)} {(DQ ("Found packages in base already in required: %s"))} {(DQ ($ VSub_Name "$baseU"))} ) ] spids: [-1 4142] ) ] spids: [-1 4158] ) (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: [4172 4176] ) } spids: [4171] ) ] spids: [4171] ) (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: [4189 4193] ) } spids: [4188] ) ] spids: [4188] ) (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: [4197 4207] ) } spids: [4196] ) ] spids: [4196] ) (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: [4212 4222] ) } spids: [4211] ) ] spids: [4211] ) (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: [4226 4236] ) } spids: [4225] ) ] spids: [4225] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$requiredX"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(info)} {(NEWREQUIRED)} {(DQ ("Found additional required dependencies: %s"))} {(DQ ($ VSub_Name "$requiredX"))} ) ] spids: [-1 4256] ) ] spids: [-1 4272] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$baseX"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(info)} {(NEWBASE)} {(DQ ("Found additional base dependencies: %s"))} {(DQ ($ VSub_Name "$baseX"))} ) ] spids: [-1 4292] ) ] spids: [-1 4308] ) ] spids: [-1 4028] ) ] spids: [-1 4311] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_debs) op: Equal rhs: {(DQ ($ VSub_Name "$required") (" ") ($ VSub_Name "$base"))} spids: [4315] ) ] spids: [4315] ) ] spids: [-1 3940] ) ] spids: [-1 4322] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ";">)] action: [(C {(echo)} {(DQ ($ VSub_Name "$all_debs"))})] spids: [-1 4332] ) ] spids: [-1 4341] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(dldebs)}) terminator:<Op_Semi ";">)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$GOT_INDICES"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [(C {(download_indices)})] spids: [-1 4372] ) ] spids: [-1 4378] ) (C {(download)} {($ VSub_Name "$all_debs")}) ] spids: [-1 4351] ) ] spids: [-1 4385] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(maketarball)}) terminator:<Op_Semi ";">)] action: [ (Subshell child: (CommandList children: [ (Sentence child: (C {(cd)} {($ VSub_Name "$TARGET")}) terminator: <Op_Semi ";"> ) (C {(tar)} {(czf)} {(-)} {(var/lib/apt)} {(var/cache/apt)}) ] ) redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$MAKE_TARBALL")} spids: [4416] ) ] spids: [4398 4414] ) ] spids: [-1 4395] ) ] spids: [-1 4419] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(first_stage)}) terminator:<Op_Semi ";">)] action: [ (C {(choose_extractor)}) (C {(first_stage_install)}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(am_doing_phase)} {(second_stage)})] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(cp)} {(DQ ($ VSub_Number "$0"))} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap))} ) (C {(cp)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/functions)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/functions))} ) (C {(cp)} {($ VSub_Name "$SCRIPT")} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/suite-script))} ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name "$ARCH"))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/arch))} spids: [4503] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name "$SUITE"))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/suite))} spids: [4516] ) ] ) (AndOr children: [ (C {(Lit_Other "[")} {(DQ )} {(Lit_Other "=")} {(DQ ($ VSub_Name "$VARIANT"))} {(Lit_Other "]")} ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name "$VARIANT"))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/variant))} spids: [4545] ) ] ) ] op_id: Op_DPipe ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name "$required"))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/required))} spids: [4558] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name "$base"))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/base))} spids: [4571] ) ] ) (C {(chmod)} {(755)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap))}) ] spids: [-1 4461] ) ] spids: [-1 4589] ) ] spids: [-1 4429] ) ] spids: [-1 4591] ) (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: [4624 4629] ) ) } spids: [4622] ) ] spids: [4622] ) (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: [4635 4640] ) ) } spids: [4633] ) ] spids: [4633] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_debs) op: Equal rhs: {(DQ ($ VSub_Name "$required") (" ") ($ VSub_Name "$base"))} spids: [4644] ) ] spids: [4644] ) ] spids: [-1 4619] ) ] spids: [-1 4652] ) (C {(second_stage_install)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-e)} {(DQ ($ VSub_Name "$TARGET") (/etc/apt/sources.list))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name "$TARGET") (/etc/apt/sources.list))})] spids: [-1 4695] ) ] spids: [-1 4708] ) (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: [4716 4722] ) ) } {(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: [4741 4745] ) ) } ) (C {(mv_invalid_to)} { (DQ (BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(" *")}) spids: [4752 4756] ) ) } ) ] spids: [-1 4735] ) ] else_action: [ (C {(setup_apt_sources)} {(DQ ($ VSub_Name "$DEF_MIRROR"))}) (C {(mv_invalid_to)} {(DQ ($ VSub_Name "$DEF_MIRROR"))}) ] spids: [4760 4777] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-e)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap.log))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$KEEP_DEBOOTSTRAP_DIR"))} {(Lit_Other "=")} {(true)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(cp)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap.log))} {(DQ ($ VSub_Name "$TARGET") (/var/log/bootstrap.log))} ) ] spids: [-1 4813] ) ] else_action: [ (C {(mv)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap.log))} {(DQ ($ VSub_Name "$TARGET") (/var/log/bootstrap.log))} ) ] spids: [4829 4865] ) ] spids: [-1 4795] ) ] spids: [-1 4868] ) (C {(sync)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$KEEP_DEBOOTSTRAP_DIR"))} {(Lit_Other "=")} {(true)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-x)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(chmod)} {(644)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap))} ) ] spids: [-1 4907] ) ] spids: [-1 4920] ) ] spids: [-1 4890] ) ] else_action: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap))})] spids: [4923 4936] ) ] spids: [-1 4601] ) ] spids: [-1 4938] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(am_doing_phase)} {(kill_target)}) terminator:<Op_Semi ";">)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$KEEP_DEBOOTSTRAP_DIR"))} {(KW_Bang "!") (Lit_Other "=")} {(true)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(info)} {(KILLTARGET)} {(DQ ("Deleting target directory"))}) (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$TARGET"))}) ] spids: [-1 4967] ) ] spids: [-1 4988] ) ] spids: [-1 4948] ) ] spids: [-1 4990] ) ] )