(command.CommandList children: [ (C {(set)} {(-e)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERSION spids:[16]) op: Equal rhs: {(SQ <'@VERSION@'>)} spids: [16] ) ] spids: [16] ) (command.AndOr ops: [Op_DPipe] children: [(C {(unset)} {(TMP)} {(TEMP)} {(TMPDIR)}) (C {(true)})] ) (C {(export)} {(PATH)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-x)} {(/debootstrap/debootstrap)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEBOOTSTRAP_DIR spids:[77]) op: Equal rhs: {(/debootstrap)} spids: [77] ) ] spids: [77] ) ] spids: [16777215 74] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEBOOTSTRAP_DIR spids:[84]) op: Equal rhs: {(/usr/share/debootstrap)} spids: [84] ) ] spids: [84] ) ] spids: [81 88] ) ] spids: [16777215 60] ) ] spids: [16777215 90] ) (C {(.)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/functions)}) (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(1)})] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LANG spids:[104]) op: Equal rhs: {(C)} spids: [104] ) ] spids: [104] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_COMPONENTS spids:[107]) op: Equal rhs: {(main)} spids: [107] ) ] spids: [107] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEYRING spids:[110]) op: Equal rhs: {(DQ )} spids: [110] ) ] spids: [110] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DISABLE_KEYRING spids:[114]) op: Equal rhs: {(DQ )} spids: [114] ) ] spids: [114] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:FORCE_KEYRING spids:[118]) op: Equal rhs: {(DQ )} spids: [118] ) ] spids: [118] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VARIANT spids:[122]) op: Equal rhs: {(DQ )} spids: [122] ) ] spids: [122] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MERGED_USR spids:[126]) op: Equal rhs: {(DQ (no))} spids: [126] ) ] spids: [126] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[131]) op: Equal rhs: {(DQ )} spids: [131] ) ] spids: [131] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_ARCH spids:[135]) op: Equal rhs: {(DQ )} spids: [135] ) ] spids: [135] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[139]) op: Equal rhs: {(DQ )} spids: [139] ) ] spids: [139] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEEP_DEBOOTSTRAP_DIR spids:[143]) op: Equal rhs: {(DQ )} spids: [143] ) ] spids: [143] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_DEBIANINSTALLER_INTERACTION spids:[147]) op: Equal rhs: {(DQ )} spids: [147] ) ] spids: [147] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SECOND_STAGE_ONLY spids:[151]) op: Equal rhs: {(DQ )} spids: [151] ) ] spids: [151] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRINT_DEBS spids:[155]) op: Equal rhs: {(DQ )} spids: [155] ) ] spids: [155] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOTDIR spids:[159]) op: Equal rhs: {(DQ )} spids: [159] ) ] spids: [159] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MAKE_TARBALL spids:[163]) op: Equal rhs: {(DQ )} spids: [163] ) ] spids: [163] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXTRACTOR_OVERRIDE spids:[167]) op: Equal rhs: {(DQ )} spids: [167] ) ] spids: [167] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:UNPACK_TARBALL spids:[171]) op: Equal rhs: {(DQ )} spids: [171] ) ] spids: [171] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ADDITIONAL spids:[175]) op: Equal rhs: {(DQ )} spids: [175] ) ] spids: [175] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXCLUDE spids:[179]) op: Equal rhs: {(DQ )} spids: [179] ) ] spids: [179] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERBOSE spids:[183]) op: Equal rhs: {(DQ )} spids: [183] ) ] spids: [183] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CERTIFICATE spids:[187]) op: Equal rhs: {(DQ )} spids: [187] ) ] spids: [187] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHECKCERTIF spids:[191]) op: Equal rhs: {(DQ )} spids: [191] ) ] spids: [191] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRIVATEKEY spids:[195]) op: Equal rhs: {(DQ )} spids: [195] ) ] spids: [195] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEF_MIRROR spids:[200]) op: Equal rhs: {(DQ ('http://deb.debian.org/debian'))} spids: [200] ) ] spids: [200] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEF_HTTPS_MIRROR spids:[205]) op: Equal rhs: {(DQ ('https://deb.debian.org/debian'))} spids: [205] ) ] spids: [205] ) (C {(export)} {(LANG)} {(USE_COMPONENTS)}) (C {(umask)} {(022)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RESOLVE_DEPS spids:[233]) op: Equal rhs: {(true)} spids: [233] ) ] spids: [233] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[237]) op: Equal rhs: {(DQ ('finddebs dldebs first_stage second_stage'))} spids: [237] ) ] spids: [237] ) (command.FuncDef name: am_doing_phase body: (command.BraceGroup children: [ (command.Sentence child: (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:x spids:[256]) op: Equal spids: [256] ) ] spids: [254] ) terminator: <Op_Semi ';'> ) (command.ForEach iter_name: x iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} {(DQ (' ') ($ VSub_Name '$WHAT_TO_DO') (' '))}) (C {(grep)} {(-q)} {(DQ (' ') ($ VSub_Name '$x') (' '))}) ] negated: F ) terminator: <Op_Semi ';'> ) ] action: [ (command.Sentence child: (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) terminator: <Op_Semi ';'> ) ] spids: [16777215 297] ) ] spids: [16777215 304] ) ] spids: [271 307] ) spids: [265 269] ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [247] ) spids: [242 246] ) (command.FuncDef name: usage_err body: (command.BraceGroup children: [ (C {(info)} {(USAGE1)} {(DQ ('usage: [OPTION]... <suite> <target> [<mirror> [<script>]]'))}) (C {(info)} {(USAGE2)} { (DQ ('Try ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (word_part.BracedVarSub token: <VSub_Number 0> suffix_op: (suffix_op.StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [344 349] ) (" --help' for more information.") ) } ) (C {(error)} {(DQ ($ VSub_At '$@'))}) ] spids: [325] ) spids: [321 324] ) (command.FuncDef name: usage body: (command.BraceGroup children: [ (C {(echo)} { (DQ ('Usage: ') (word_part.BracedVarSub token: <VSub_Number 0> suffix_op: (suffix_op.StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [374 379] ) (' [OPTION]... <suite> <target> [<mirror> [<script>]]') ) } ) (C {(echo)} {(DQ ('Bootstrap a Debian base system into a target directory.'))}) (C {(echo)}) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 439 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: [367] ) spids: [363 366] ) (command.If arms: [ (if_arm cond: [ (command.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 460] ) ] spids: [16777215 473] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.WhileUntil keyword: <KW_While while> cond: [(command.Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)] body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(--help)}] action: [ (C {(usage)}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [516 517 528 16777215] ) (case_arm pat_list: [{(--version)}] action: [ (C {(echo)} {(DQ ('debootstrap ') ($ VSub_Name '$VERSION'))}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [531 532 548 16777215] ) (case_arm pat_list: [{(--debian-installer)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell child: (command.SimpleCommand words: [{(echo)} {(-n)} {(DQ )}] redirects: [ (redir.Redir op: <Redir_GreatAnd '>&'> fd: 16777215 arg_word: {(3)} ) ] ) redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] spids: [559 569] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(ARG_DIBYHAND)} { (DQ ( "If running debootstrap by hand, don't use --debian-installer" ) ) } ) ] spids: [16777215 575] ) ] spids: [16777215 589] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name: USE_DEBIANINSTALLER_INTERACTION spids: [592] ) op: Equal rhs: {(yes)} spids: [592] ) ] spids: [592] ) (C {(shift)}) ] spids: [551 552 599 16777215] ) (case_arm pat_list: [{(--foreign)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PRINT_DEBS'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[627]) op: Equal rhs: {(DQ ('finddebs dldebs first_stage'))} spids: [627] ) ] spids: [627] ) ] spids: [16777215 624] ) ] spids: [16777215 633] ) (C {(shift)}) ] spids: [602 603 639 16777215] ) (case_arm pat_list: [{(--second-stage)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[646]) op: Equal rhs: {(DQ (second_stage))} spids: [646] ) ] spids: [646] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SECOND_STAGE_ONLY spids:[652]) op: Equal rhs: {(true)} spids: [652] ) ] spids: [652] ) (C {(shift)}) ] spids: [642 643 659 16777215] ) (case_arm pat_list: [ {(--second-stage-target)} {(--second-stage-target) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_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 690] ) ] spids: [16777215 708] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--second-stage-target))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOTDIR spids:[740]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [740] ) ] spids: [740] ) (C {(shift)} {(2)}) ] spids: [16777215 737] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--second-stage-target=')} ) spids: [763 767] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOTDIR spids:[776]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--second-stage-target=')} ) spids: [778 782] ) ) } spids: [776] ) ] spids: [776] ) (C {(shift)}) ] spids: [751 773] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument: %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [789 807] ) ] spids: [662 668 810 16777215] ) (case_arm pat_list: [{(--print-debs)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[817]) op: Equal rhs: {(DQ ('finddebs printdebs kill_target'))} spids: [817] ) ] spids: [817] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRINT_DEBS spids:[823]) op: Equal rhs: {(true)} spids: [823] ) ] spids: [823] ) (C {(shift)}) ] spids: [813 814 830 16777215] ) (case_arm pat_list: [{(--download-only)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[837]) op: Equal rhs: {(DQ ('finddebs dldebs'))} spids: [837] ) ] spids: [837] ) (C {(shift)}) ] spids: [833 834 846 16777215] ) (case_arm pat_list: [ {(--make-tarball)} {(--make-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHAT_TO_DO spids:[858]) op: Equal rhs: {(DQ ('finddebs dldebs maketarball kill_target'))} spids: [858] ) ] spids: [858] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--make-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MAKE_TARBALL spids:[893]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [893] ) ] spids: [893] ) (C {(shift)} {(2)}) ] spids: [16777215 890] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--make-tarball=')} ) spids: [916 920] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MAKE_TARBALL spids:[929]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--make-tarball=')} ) spids: [931 935] ) ) } spids: [929] ) ] spids: [929] ) (C {(shift)}) ] spids: [904 926] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [942 960] ) ] spids: [849 855 963 16777215] ) (case_arm pat_list: [{(--resolve-deps)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RESOLVE_DEPS spids:[974]) op: Equal rhs: {(true)} spids: [974] ) ] spids: [974] ) (C {(shift)}) ] spids: [966 967 981 16777215] ) (case_arm pat_list: [{(--no-resolve-deps)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RESOLVE_DEPS spids:[988]) op: Equal rhs: {(false)} spids: [988] ) ] spids: [988] ) (C {(shift)}) ] spids: [984 985 995 16777215] ) (case_arm pat_list: [{(--keep-debootstrap-dir)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEEP_DEBOOTSTRAP_DIR spids:[1002]) op: Equal rhs: {(true)} spids: [1002] ) ] spids: [1002] ) (C {(shift)}) ] spids: [998 999 1009 16777215] ) (case_arm pat_list: [ {(--arch)} {(--arch) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--arch))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[1050]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1050] ) ] spids: [1050] ) (C {(shift)} {(2)}) ] spids: [16777215 1047] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--arch=')} ) spids: [1073 1077] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[1086]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--arch=')} ) spids: [1088 1092] ) ) } spids: [1086] ) ] spids: [1086] ) (C {(shift)}) ] spids: [1061 1083] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1099 1117] ) ] spids: [1012 1018 1120 16777215] ) (case_arm pat_list: [ {(--extractor)} {(--extractor) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--extractor))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name: EXTRACTOR_OVERRIDE spids: [1161] ) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1161] ) ] spids: [1161] ) (C {(shift)} {(2)}) ] spids: [16777215 1158] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--extractor=')} ) spids: [1184 1188] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name: EXTRACTOR_OVERRIDE spids: [1197] ) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--extractor=')} ) spids: [1199 1203] ) ) } spids: [1197] ) ] spids: [1197] ) (C {(shift)}) ] spids: [1172 1194] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1210 1228] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(valid_extractor)} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.SimpleCommand words: [ {(type)} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} ] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(MISSINGEXTRACTOR)} {(DQ ('The selected extractor cannot be found: %s'))} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} ) ] spids: [16777215 1260] ) ] spids: [16777215 1278] ) ] spids: [16777215 1240] ) ] else_action: [ (C {(error)} {(1)} {(BADEXTRACTOR)} {(DQ ('%s: unknown extractor'))} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))} ) ] spids: [1281 1299] ) ] spids: [1123 1129 1302 16777215] ) (case_arm pat_list: [ {(--unpack-tarball)} {(--unpack-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--unpack-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:UNPACK_TARBALL spids:[1343]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1343] ) ] spids: [1343] ) (C {(shift)} {(2)}) ] spids: [16777215 1340] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--unpack-tarball=')} ) spids: [1366 1370] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:UNPACK_TARBALL spids:[1379]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--unpack-tarball=')} ) spids: [1381 1385] ) ) } spids: [1379] ) ] spids: [1379] ) (C {(shift)}) ] spids: [1354 1376] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1392 1410] ) (command.If arms: [ (if_arm cond: [ (command.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 1429] ) ] spids: [16777215 1447] ) ] spids: [1305 1311 1450 16777215] ) (case_arm pat_list: [ {(--include)} {(--include) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--include))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ADDITIONAL spids:[1490]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1490] ) ] spids: [1490] ) (C {(shift)} {(2)}) ] spids: [16777215 1487] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--include=')} ) spids: [1513 1517] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ADDITIONAL spids:[1526]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--include=')} ) spids: [1528 1532] ) ) } spids: [1526] ) ] spids: [1526] ) (C {(shift)} {(1)}) ] spids: [1501 1523] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1541 1559] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ADDITIONAL spids:[1562]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$ADDITIONAL'))}) (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1564 1580] ) ) } spids: [1562] ) ] spids: [1562] ) ] spids: [1453 1459 1584 16777215] ) (case_arm pat_list: [ {(--exclude)} {(--exclude) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--exclude))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXCLUDE spids:[1624]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1624] ) ] spids: [1624] ) (C {(shift)} {(2)}) ] spids: [16777215 1621] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--exclude=')} ) spids: [1647 1651] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXCLUDE spids:[1660]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--exclude=')} ) spids: [1662 1666] ) ) } spids: [1660] ) ] spids: [1660] ) (C {(shift)} {(1)}) ] spids: [1635 1657] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1675 1693] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXCLUDE spids:[1696]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$EXCLUDE'))}) (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1698 1714] ) ) } spids: [1696] ) ] spids: [1696] ) ] spids: [1587 1593 1718 16777215] ) (case_arm pat_list: [{(--verbose)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERBOSE spids:[1725]) op: Equal rhs: {(true)} spids: [1725] ) ] spids: [1725] ) (C {(export)} {(VERBOSE)}) (C {(shift)} {(1)}) ] spids: [1721 1722 1739 16777215] ) (case_arm pat_list: [ {(--components)} {(--components) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--components))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_COMPONENTS spids:[1779]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1779] ) ] spids: [1779] ) (C {(shift)} {(2)}) ] spids: [16777215 1776] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--components=')} ) spids: [1802 1806] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_COMPONENTS spids:[1815]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--components=')} ) spids: [1817 1821] ) ) } spids: [1815] ) ] spids: [1815] ) (C {(shift)} {(1)}) ] spids: [1790 1812] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1830 1848] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USE_COMPONENTS spids:[1851]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$USE_COMPONENTS'))}) (C {(tr)} {(Lit_Comma ',')} {(DQ ('|'))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1853 1869] ) ) } spids: [1851] ) ] spids: [1851] ) ] spids: [1742 1748 1873 16777215] ) (case_arm pat_list: [ {(--variant)} {(--variant) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--variant))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VARIANT spids:[1913]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1913] ) ] spids: [1913] ) (C {(shift)} {(2)}) ] spids: [16777215 1910] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--variant=')} ) spids: [1936 1940] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VARIANT spids:[1949]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--variant=')} ) spids: [1951 1955] ) ) } spids: [1949] ) ] spids: [1949] ) (C {(shift)} {(1)}) ] spids: [1924 1946] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [1964 1982] ) ] spids: [1876 1882 1985 16777215] ) (case_arm pat_list: [{(--merged-usr)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MERGED_USR spids:[1992]) op: Equal rhs: {(yes)} spids: [1992] ) ] spids: [1992] ) (C {(shift)}) ] spids: [1988 1989 1999 16777215] ) (case_arm pat_list: [{(--no-merged-usr)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MERGED_USR spids:[2006]) op: Equal rhs: {(no)} spids: [2006] ) ] spids: [2006] ) (C {(shift)}) ] spids: [2002 2003 2013 16777215] ) (case_arm pat_list: [ {(--keyring)} {(--keyring) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.SimpleCommand words: [{(gpgv)} {(--version)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(error)} {(1)} {(NEEDGPGV)} { (DQ ( 'gpgv not installed, but required for Release verification' ) ) } ) ] spids: [16777215 2040] ) ] spids: [16777215 2054] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--keyring))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEYRING spids:[2085]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2085] ) ] spids: [2085] ) (C {(shift)} {(2)}) ] spids: [16777215 2082] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--keyring=')} ) spids: [2108 2112] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KEYRING spids:[2121]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--keyring=')} ) spids: [2123 2127] ) ) } spids: [2121] ) ] spids: [2121] ) (C {(shift)} {(1)}) ] spids: [2096 2118] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2136 2154] ) ] spids: [2016 2022 2157 16777215] ) (case_arm pat_list: [{(--no-check-gpg)}] action: [ (C {(shift)} {(1)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DISABLE_KEYRING spids:[2169]) op: Equal rhs: {(1)} spids: [2169] ) ] spids: [2169] ) ] spids: [2160 2161 2173 16777215] ) (case_arm pat_list: [{(--force-check-gpg)}] action: [ (C {(shift)} {(1)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:FORCE_KEYRING spids:[2185]) op: Equal rhs: {(1)} spids: [2185] ) ] spids: [2185] ) ] spids: [2176 2177 2189 16777215] ) (case_arm pat_list: [ {(--certificate)} {(--certificate) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--certificate))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CERTIFICATE spids:[2229]) op: Equal rhs: {(DQ ('--certificate=') ($ VSub_Number '$2'))} spids: [2229] ) ] spids: [2229] ) (C {(shift)} {(2)}) ] spids: [16777215 2226] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--certificate=')} ) spids: [2253 2257] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CERTIFICATE spids:[2266]) op: Equal rhs: { (DQ ('--certificate=') (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--certificate=')} ) spids: [2269 2273] ) ) } spids: [2266] ) ] spids: [2266] ) (C {(shift)} {(1)}) ] spids: [2241 2263] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2283 2302] ) ] spids: [2192 2198 2305 16777215] ) (case_arm pat_list: [ {(--private-key)} {(--private-key) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')} ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--private-key))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRIVATEKEY spids:[2345]) op: Equal rhs: {(DQ ('--private-key=') ($ VSub_Number '$2'))} spids: [2345] ) ] spids: [2345] ) (C {(shift)} {(2)}) ] spids: [16777215 2342] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--private-key=')} ) spids: [2369 2373] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PRIVATEKEY spids:[2382]) op: Equal rhs: { (DQ ('--private-key=') (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('--private-key=')} ) spids: [2385 2389] ) ) } spids: [2382] ) ] spids: [2382] ) (C {(shift)} {(1)}) ] spids: [2357 2379] ) ] else_action: [ (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2399 2418] ) ] spids: [2308 2314 2421 16777215] ) (case_arm pat_list: [{(--no-check-certificate)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHECKCERTIF spids:[2428]) op: Equal rhs: {(DQ (--no-check-certificate))} spids: [2428] ) ] spids: [2428] ) (C {(shift)}) ] spids: [2424 2425 2437 16777215] ) (case_arm pat_list: [{(-) (Lit_Other '*')}] action: [ (C {(error)} {(1)} {(BADARG)} {(DQ ('unrecognized or invalid option %s'))} {(DQ ($ VSub_Number '$1'))} ) ] spids: [2440 2442 2460 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(command.ControlFlow token:<ControlFlow_Break break>)] spids: [2463 2464 2470 16777215] ) ] spids: [507 513 2473] ) ] spids: [504 2476] ) ) ] spids: [16777215 495] ) ] spids: [16777215 2478] ) (command.If arms: [ (if_arm cond: [ (command.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 2506] ) ] spids: [16777215 2519] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SUITE spids:[2546]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/suite)})] ) left_token: <Left_CommandSub '$('> spids: [2547 2552] ) } spids: [2546] ) ] spids: [2546] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[2555]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)})] ) left_token: <Left_CommandSub '$('> spids: [2556 2561] ) } spids: [2555] ) ] spids: [2555] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/variant)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VARIANT spids:[2579]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/variant)}) ] ) left_token: <Left_CommandSub '$('> spids: [2580 2585] ) } spids: [2579] ) ] spids: [2579] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SUPPORTED_VARIANTS spids:[2588]) op: Equal rhs: {(DQ ($ VSub_Name '$VARIANT'))} spids: [2588] ) ] spids: [2588] ) ] spids: [16777215 2576] ) ] spids: [16777215 2594] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$CHROOTDIR'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2613]) op: Equal rhs: {(/)} spids: [2613] ) ] spids: [2613] ) ] spids: [16777215 2610] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2620]) op: Equal rhs: {($ VSub_Name '$CHROOTDIR')} spids: [2620] ) ] spids: [2620] ) ] spids: [2617 2624] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SCRIPT spids:[2627]) op: Equal rhs: {($ VSub_Name '$DEBOOTSTRAP_DIR') (/suite-script)} spids: [2627] ) ] spids: [2627] ) ] spids: [16777215 2543] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(usage_err)} {(1)} {(NEEDSUITETARGET)} {(DQ ('You must specify a suite and a target.'))} ) ] spids: [16777215 2659] ) ] spids: [16777215 2673] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SUITE spids:[2676]) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2676] ) ] spids: [2676] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2682]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2682] ) ] spids: [2682] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USER_MIRROR spids:[2688]) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [2688] ) ] spids: [2688] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2694]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)}) spids: [2696 2700] ) ) } spids: [2694] ) ] spids: [2694] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /)} ) spids: [2709 2713] ) ) } {(Lit_Other '=')} {(DQ (${ VSub_Name TARGET))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [2735 2740] ) ) } {(Lit_Other '=')} {(DQ ($ VSub_Name '$TARGET'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2756]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(echo)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(pwd)})] ) left_token: <Left_Backtick '`'> spids: [2762 2764] ) (/) ($ VSub_Name '$TARGET') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2758 2768] ) ) } spids: [2756] ) ] spids: [2756] ) ] spids: [16777215 2753] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TARGET spids:[2775]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} { (DQ (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [2781 2786] ) ) } ) terminator: <Op_Semi ';'> ) (C {(echo)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(pwd)})] ) left_token: <Left_Backtick '`'> spids: [2793 2795] ) (/) (word_part.BracedVarSub token: <VSub_Name TARGET> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [2797 2802] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2777 2804] ) ) } spids: [2775] ) ] spids: [2775] ) ] spids: [2772 2808] ) ] spids: [16777215 2727] ) ] spids: [16777215 2811] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SCRIPT spids:[2815]) op: Equal rhs: {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR') (/scripts/) ($ VSub_Number '$1'))} spids: [2815] ) ] spids: [2815] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.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: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SCRIPT spids:[2857]) op: Equal rhs: {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} spids: [2857] ) ] spids: [2857] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SUPPORTED_VARIANTS spids:[2869]) op: Equal rhs: {(DQ ($ VSub_Name '$VARIANT'))} spids: [2869] ) ] spids: [2869] ) ] spids: [16777215 2854] ) ] spids: [16777215 2875] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$4'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SCRIPT spids:[2898]) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [2898] ) ] spids: [2898] ) ] spids: [16777215 2895] ) ] spids: [16777215 2904] ) ] spids: [2631 2906] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(in_path)} {(dpkg)}) (command.SimpleCommand words: [{(dpkg)} {(--print-architecture)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_ARCH spids:[2937]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(/usr/bin/dpkg)} {(--print-architecture)})] ) left_token: <Left_Backtick '`'> spids: [2938 2942] ) } spids: [2937] ) ] spids: [2937] ) ] spids: [16777215 2934] ) (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(in_path)} {(udpkg)}) (command.SimpleCommand words: [{(udpkg)} {(--print-architecture)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_ARCH spids:[2968]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(/usr/bin/udpkg)} {(--print-architecture)})] ) left_token: <Left_Backtick '`'> spids: [2969 2973] ) } spids: [2968] ) ] spids: [2968] ) ] spids: [2944 2965] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_ARCH spids:[2990]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)})] ) left_token: <Left_Backtick '`'> spids: [2991 2996] ) } spids: [2990] ) ] spids: [2990] ) ] spids: [2975 2987] ) ] spids: [16777215 2998] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[3000]) op: Equal rhs: {(DQ ($ VSub_Name '$HOST_ARCH'))} spids: [3000] ) ] spids: [3000] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Case to_match: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)})]) left_token: <Left_Backtick '`'> spids: [3026 3028] ) } arms: [ (case_arm pat_list: [{(Linux)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[3037]) op: Equal rhs: {(linux)} spids: [3037] ) ] spids: [3037] ) ] spids: [3033 3034 3041 16777215] ) (case_arm pat_list: [{(GNU/kFreeBSD)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[3048]) op: Equal rhs: {(kfreebsd)} spids: [3048] ) ] spids: [3048] ) ] spids: [3044 3045 3052 16777215] ) (case_arm pat_list: [{(GNU)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[3059]) op: Equal rhs: {(hurd)} spids: [3059] ) ] spids: [3059] ) ] spids: [3055 3056 3063 16777215] ) (case_arm pat_list: [{(FreeBSD) (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOST_OS spids:[3071]) op: Equal rhs: {(freebsd)} spids: [3071] ) ] spids: [3071] ) ] spids: [3066 3068 3075 16777215] ) ] spids: [3024 3030 3078] ) ] spids: [16777215 3021] ) ] spids: [16777215 3080] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ARCH'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[3099]) op: Equal rhs: {($ VSub_Name '$HOST_ARCH')} spids: [3099] ) ] spids: [3099] ) ] spids: [16777215 3096] ) ] spids: [16777215 3102] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.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 3130] ) ] spids: [16777215 3144] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.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: [ (command.ForEach iter_name: module iter_words: [{(linprocfs)} {(fdescfs)} {(tmpfs)} {(linsysfs)}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (command.SimpleCommand words: [{(kldstat)} {(-m)} {(DQ ($ VSub_Name '$module'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (C {(warning)} {(SANITYCHECK)} {(DQ ('Probably required module %s is not loaded'))} {(DQ ($ VSub_Name '$module'))} ) ] ) ] spids: [3198 3231] ) spids: [3188 3196] ) ] spids: [16777215 3180] ) ] spids: [16777215 3233] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$TARGET'))} {(Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOT_CMD spids:[3256]) op: Equal rhs: {(DQ )} spids: [3256] ) ] spids: [3256] ) ] spids: [16777215 3253] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHROOT_CMD spids:[3263]) op: Equal rhs: {(DQ ('chroot ') ($ VSub_Name '$TARGET'))} spids: [3263] ) ] spids: [3263] ) ] spids: [3260 3269] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$SHA_SIZE'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SHA_SIZE spids:[3288]) op: Equal rhs: {(256)} spids: [3288] ) ] spids: [3288] ) ] spids: [16777215 3285] ) ] spids: [16777215 3291] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (command.Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE) (sum))})] negated: T ) (command.Pipeline children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE))})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SHA_SIZE spids:[3324]) op: Equal rhs: {(1)} spids: [3324] ) ] spids: [3324] ) ] spids: [16777215 3321] ) ] spids: [16777215 3327] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEBOOTSTRAP_CHECKSUM_FIELD spids:[3329]) op: Equal rhs: {(DQ (SHA) ($ VSub_Name '$SHA_SIZE'))} spids: [3329] ) ] spids: [3329] ) (C {(export)} {(ARCH)} {(SUITE)} {(TARGET)} {(CHROOT_CMD)} {(SHA_SIZE)} {(DEBOOTSTRAP_CHECKSUM_FIELD)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(first_stage)} {(second_stage)}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(in_path)} {(id)}) (C {(Lit_Other '[')} { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(id)} {(-u)})]) left_token: <Left_Backtick '`'> spids: [3373 3377] ) } {(-ne)} {(0)} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(error)} {(1)} {(NEEDROOT)} {(DQ ('debootstrap can only run as root'))})] spids: [16777215 3386] ) ] spids: [16777215 3400] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.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 3418] ) ] spids: [16777215 3434] ) ] spids: [16777215 3360] ) ] spids: [16777215 3436] ) (command.If arms: [ (if_arm cond: [ (command.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 3454] ) ] spids: [16777215 3471] ) (command.If arms: [ (if_arm cond: [ (command.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 3495] ) ] spids: [16777215 3507] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_DEBIANINSTALLER_INTERACTION'))} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(3)})] ) ] spids: [16777215 3548] ) (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(printdebs)}) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(2)})] ) ] spids: [3564 3571] ) ] else_action: [ (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(1)})] ) (command.SimpleCommand words: [{(exec)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} ) ] ) (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] spids: [3587 3622] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name UNPACK_TARBALL> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /)} ) spids: [3648 3652] ) ) } {(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 3664] ) ] spids: [16777215 3678] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name UNPACK_TARBALL> suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(.tar)}) spids: [3686 3690] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Subshell child: (command.AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))}) (C {(tar)} {(-xf)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))}) ] ) spids: [3706 3722] ) ] spids: [16777215 3703] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name UNPACK_TARBALL> suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(.tgz)}) spids: [3730 3734] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Subshell child: (command.AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))}) (command.Pipeline children: [ (C {(zcat)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))}) (C {(tar)} {(-xf)} {(-)}) ] negated: F ) ] ) spids: [3750 3772] ) ] spids: [3725 3747] ) ] else_action: [ (C {(error)} {(1)} {(NOTTAR)} {(DQ ('Unknown tarball: must be either .tar or .tgz'))}) ] spids: [3775 3789] ) ] spids: [16777215 3640] ) ] spids: [16777215 3791] ) (C {(.)} {(DQ ($ VSub_Name '$SCRIPT'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MIRRORS spids:[3825]) op: Equal rhs: {(null) (Lit_Other ':')} spids: [3825] ) ] spids: [3825] ) ] spids: [16777215 3822] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MIRRORS spids:[3832]) op: Equal rhs: {(DQ ($ VSub_Name '$DEF_MIRROR'))} spids: [3832] ) ] spids: [3832] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USER_MIRROR'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MIRRORS spids:[3858]) op: Equal rhs: {(DQ ($ VSub_Name '$USER_MIRROR'))} spids: [3858] ) ] spids: [3858] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MIRRORS spids:[3864]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [3866 3870] ) ) } spids: [3864] ) ] spids: [3864] ) ] spids: [16777215 3855] ) ] spids: [16777215 3874] ) ] spids: [3829 3876] ) (C {(export)} {(MIRRORS)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ok spids:[3884]) op: Equal rhs: {(false)} spids: [3884] ) ] spids: [3884] ) (command.ForEach iter_name: v iter_words: [{($ VSub_Name '$SUPPORTED_VARIANTS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(doing_variant)} {($ VSub_Name '$v')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ok spids:[3908]) op: Equal rhs: {(true)} spids: [3908] ) ] spids: [3908] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 3906] ) ] spids: [16777215 3912] ) ] spids: [3896 3914] ) spids: [3892 3894] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children:[(C {($ VSub_Name '$ok')})] negated:T) terminator: <Op_Semi ';'> ) ] action: [(C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ('unsupported variant'))})] spids: [16777215 3923] ) ] spids: [16777215 3936] ) (command.If arms: [ (if_arm cond: [(command.Sentence child:(C {(am_doing_phase)} {(finddebs)}) terminator:<Op_Semi ';'>)] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_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)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GOT_INDICES spids:[3994]) op: Equal rhs: {(true)} spids: [3994] ) ] spids: [3994] ) ] spids: [16777215 3988] ) ] spids: [16777215 3998] ) (C {(work_out_debs)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[4006]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$base') (' ') ($ VSub_Name '$ADDITIONAL'))} {(DQ ($ VSub_Name '$EXCLUDE'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4007 4019] ) } spids: [4006] ) ] spids: [4006] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RESOLVE_DEPS'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:requiredX spids:[4041]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(echo)} { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ VSub_Name '$required')}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) (C {(uniq)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [4045 4069] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4042 4070] ) } spids: [4041] ) ] spids: [4041] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:baseX spids:[4073]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(echo)} { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ VSub_Name '$base')}) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sort)}) (C {(uniq)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [4077 4101] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4074 4102] ) } spids: [4073] ) ] spids: [4073] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:baseN spids:[4106]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$baseX'))} {(DQ ($ VSub_Name '$requiredX'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4107 4117] ) } spids: [4106] ) ] spids: [4106] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:baseU spids:[4120]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$baseX'))} {(DQ ($ VSub_Name '$baseN'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4121 4131] ) } spids: [4120] ) ] spids: [4120] ) (command.If arms: [ (if_arm cond: [ (command.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 4152] ) ] spids: [16777215 4168] ) (C {(info)} {(RESOLVEREQ)} {(DQ ('Resolving dependencies of required packages...'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:required spids:[4181]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(resolve_deps)} {($ VSub_Name '$requiredX')})] ) left_token: <Left_CommandSub '$('> spids: [4182 4186] ) } spids: [4181] ) ] spids: [4181] ) (C {(info)} {(RESOLVEBASE)} {(DQ ('Resolving dependencies of base packages...'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[4198]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(resolve_deps)} {($ VSub_Name '$baseX')})] ) left_token: <Left_CommandSub '$('> spids: [4199 4203] ) } spids: [4198] ) ] spids: [4198] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[4206]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$base'))} {(DQ ($ VSub_Name '$required'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4207 4217] ) } spids: [4206] ) ] spids: [4206] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:requiredX spids:[4221]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$required'))} {(DQ ($ VSub_Name '$requiredX'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4222 4232] ) } spids: [4221] ) ] spids: [4221] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:baseX spids:[4235]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(without)} {(DQ ($ VSub_Name '$base'))} {(DQ ($ VSub_Name '$baseX'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4236 4246] ) } spids: [4235] ) ] spids: [4235] ) (command.If arms: [ (if_arm cond: [ (command.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 4266] ) ] spids: [16777215 4282] ) (command.If arms: [ (if_arm cond: [ (command.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 4302] ) ] spids: [16777215 4318] ) ] spids: [16777215 4038] ) ] spids: [16777215 4321] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:all_debs spids:[4325]) op: Equal rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))} spids: [4325] ) ] spids: [4325] ) ] spids: [16777215 3950] ) ] spids: [16777215 4332] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(printdebs)}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ($ VSub_Name '$all_debs'))})] spids: [16777215 4342] ) ] spids: [16777215 4351] ) (command.If arms: [ (if_arm cond: [(command.Sentence child:(C {(am_doing_phase)} {(dldebs)}) terminator:<Op_Semi ';'>)] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$GOT_INDICES'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(download_indices)})] spids: [16777215 4382] ) ] spids: [16777215 4388] ) (C {(download)} {($ VSub_Name '$all_debs')}) ] spids: [16777215 4361] ) ] spids: [16777215 4395] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(maketarball)}) terminator: <Op_Semi ';'> ) ] action: [ (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (C {(cd)} {($ VSub_Name '$TARGET')}) terminator: <Op_Semi ';'> ) (C {(tar)} {(czf)} {(-)} {(var/lib/apt)} {(var/cache/apt)}) ] ) redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_Name '$MAKE_TARBALL')} ) ] spids: [4408 4424] ) ] spids: [16777215 4405] ) ] spids: [16777215 4429] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(first_stage)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(choose_extractor)}) (C {(first_stage_install)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(am_doing_phase)} {(second_stage)})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(DQ ($ VSub_Number '$0'))} {(DQ ($ VSub_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))} ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$ARCH'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/arch))} ) ] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$SUITE'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/suite))} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ )} {(Lit_Other '=')} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other ']')} ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$VARIANT'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/variant))} ) ] ) ] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$required'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/required))} ) ] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$base'))}] redirects: [ (redir.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 4471] ) ] spids: [16777215 4599] ) ] spids: [16777215 4439] ) ] spids: [16777215 4601] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(second_stage)}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:required spids:[4632]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/required)}) ] ) left_token: <Left_CommandSub '$('> spids: [4634 4639] ) ) } spids: [4632] ) ] spids: [4632] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[4643]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/base)})] ) left_token: <Left_CommandSub '$('> spids: [4645 4650] ) ) } spids: [4643] ) ] spids: [4643] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:all_debs spids:[4654]) op: Equal rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))} spids: [4654] ) ] spids: [4654] ) ] spids: [16777215 4629] ) ] spids: [16777215 4662] ) (C {(second_stage_install)}) (command.If arms: [ (if_arm cond: [ (command.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 4705] ) ] spids: [16777215 4718] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('http:') (Lit_Slash /) (Lit_Slash /)} ) spids: [4726 4732] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$MIRRORS'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(setup_apt_sources)} { (DQ (word_part.BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (suffix_op.StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [4751 4755] ) ) } ) (C {(mv_invalid_to)} { (DQ (word_part.BracedVarSub token: <VSub_Name MIRRORS> suffix_op: (suffix_op.StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [4762 4766] ) ) } ) ] spids: [16777215 4745] ) ] else_action: [ (C {(setup_apt_sources)} {(DQ ($ VSub_Name '$DEF_MIRROR'))}) (C {(mv_invalid_to)} {(DQ ($ VSub_Name '$DEF_MIRROR'))}) ] spids: [4770 4787] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.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 4823] ) ] else_action: [ (C {(mv)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} {(DQ ($ VSub_Name '$TARGET') (/var/log/bootstrap.log))} ) ] spids: [4839 4875] ) ] spids: [16777215 4805] ) ] spids: [16777215 4878] ) (C {(sync)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} {(Lit_Other '=')} {(true)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-x)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(chmod)} {(644)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))} ) ] spids: [16777215 4917] ) ] spids: [16777215 4930] ) ] spids: [16777215 4900] ) ] else_action: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap))})] spids: [4933 4946] ) ] spids: [16777215 4611] ) ] spids: [16777215 4948] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(am_doing_phase)} {(kill_target)}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_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 4977] ) ] spids: [16777215 4998] ) ] spids: [16777215 4958] ) ] spids: [16777215 5000] ) ] )