(command.CommandList children: [ (C {<default_mirror>} {<http> <Id.Lit_Colon ':'> <'//old-releases.ubuntu.com/ubuntu'>}) (C {<mirror_style>} {<release>}) (C {<download_style>} {<apt>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBC) op: assign_op.Equal rhs: {<libc6>} spids: [15] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$ARCH'))} {<Id.Lit_Equals '='>} {(DQ <alpha>)} {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$ARCH'))} {<Id.Lit_Equals '='>} {(DQ <ia64>)} {<Id.Lit_RBracket ']'>} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBC) op: assign_op.Equal rhs: {(DQ <libc6.1>)} spids: [54] ) ] ) ] spids: [18 51] ) ] ) (command.ShFunction name: work_out_debs body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:required) op: assign_op.Equal rhs: { (DQ < 'base-files base-passwd bash bsdutils build-essential coreutils debianutils diff dpkg dselect e2fslibs e2fsprogs fakeroot findutils gcc-3.3-base grep gzip hostname initscripts libacl1 libattr1 libblkid1 libc6 libcap1 libcomerr2 libdb1-compat libdb3 libgcc1 libncurses5 libpam-modules libpam-runtime libpam0g libss2 libstdc++5 libuuid1 login lsb-base mawk mount ncurses-base ncurses-bin passwd perl-base pkgstriptranslations python-minimal python2.4-minimal sed slang1a-utf8 sysv-rc sysvinit tar util-linux zlib1g' > ) } spids: [70] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:base) op: assign_op.Equal rhs: { (DQ < 'apt binutils cpio cpp cpp-3.3 dpkg-dev g++ g++-3.3 gcc gcc-3.3 libc6-dev libdb4.2 libgdbm3 libstdc++5-3.3-dev linux-kernel-headers make patch perl perl-modules' > ) } spids: [77] ) ] ) (command.ShFunction name: without_package body: (BraceGroup children: [ (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_Number '$2'))}) (C {<tr>} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {<grep>} {<-v>} {(DQ <'^'> ($ Id.VSub_Number '$1') <Id.Lit_Dollar '$'>)}) (C {<tr>} {(SQ <'\\n'>)} {(SQ <' '>)}) ] negated: F ) ] ) ) (command.ShFunction name: subst_package body: (BraceGroup children: [ (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_Number '$3'))}) (C {<tr>} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {<sed>} { (DQ <'s/^'> ($ Id.VSub_Number '$1') <Id.Lit_Dollar '$'> <'/'> ($ Id.VSub_Number '$2') <'/'> ) } ) (C {<tr>} {(SQ <'\\n'>)} {(SQ <' '>)}) ] negated: F ) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$ARCH')} arms: [ (case_arm pat_list:[{(DQ <amd64>)}] spids:[201 204 207 -1]) (case_arm pat_list:[{(DQ <i386>)}] spids:[210 213 216 -1]) (case_arm pat_list:[{(DQ <powerpc>)}] spids:[219 222 225 -1]) (case_arm pat_list: [{(DQ <ia64>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:required) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<subst_package>} {(DQ <libc6>)} {(DQ <libc6.1>)} {(DQ ($ Id.VSub_DollarName '$required'))} ) ) ) } spids: [234] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:base) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<subst_package>} {(DQ <libc6-dev>)} {(DQ <libc6.1-dev>)} {(DQ ($ Id.VSub_DollarName '$base'))} ) ) ) } spids: [254] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:base) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$base') <' libunwind7 libunwind7-dev'>)} spids: [274] ) ] ) ] spids: [228 231 281 -1] ) (case_arm pat_list: [{(DQ <alpha>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:required) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<subst_package>} {(DQ <libc6>)} {(DQ <libc6.1>)} {(DQ ($ Id.VSub_DollarName '$required'))} ) ) ) } spids: [295] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:base) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<subst_package>} {(DQ <libc6-dev>)} {(DQ <libc6.1-dev>)} {(DQ ($ Id.VSub_DollarName '$base'))} ) ) ) } spids: [315] ) ] ) ] spids: [289 292 335 -1] ) (case_arm pat_list:[{<Id.Lit_Star '*'>}] spids:[338 339 346 -1]) ] ) ] ) ) (command.ShFunction name: install_debs body: (BraceGroup children:[(C {<first_stage_install>}) (C {<second_stage_install>})]) ) (command.ShFunction name: first_stage_install body: (BraceGroup children: [ (C {<extract>} {($ Id.VSub_DollarName '$required')}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg'>)}) (command.Simple words: [{<Id.Lit_Colon ':'>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/status'>)} ) ] do_fork: T ) (command.Simple words: [{<echo>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/available'>)} ) ] do_fork: T ) (C {<setup_etc>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(SQ <'# UNCONFIGURED FSTAB FOR BASE SYSTEM'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)} ) ] do_fork: T ) (command.Sentence child: (C {<chown>} {<0> <Id.Lit_Colon ':'> <0>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)} ) terminator: <Id.Op_Semi _> ) (C {<chmod>} {<644>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)}) ] spids: [416 432] ) ] ) (C {<setup_devices>}) (command.ShFunction name: x_feign_install body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'pkg='> (DQ ($ Id.VSub_Number '$1'))}) (C {<local>} {<Id.Lit_VarLike 'deb='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<debfor>} {($ Id.VSub_DollarName '$pkg')}) ) ) } ) (C {<local>} {<Id.Lit_VarLike 'ver='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<extract_deb_field>} { (DQ ($ Id.VSub_DollarName '$TARGET') <'/'> ($ Id.VSub_DollarName '$deb') ) } {<Version>} ) ) ) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/info'>)}) (command.Simple words: [ {<echo>} { (DQ <'Package: '> ($ Id.VSub_DollarName '$pkg') <'\n'> <'Version: '> ($ Id.VSub_DollarName '$ver') <'\n'> <'Status: install ok installed'> ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/status'>)} ) ] do_fork: T ) (C {<touch>} { (DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/info/'> (${ Id.VSub_Name pkg) <.list> ) } ) ] ) ) (C {<x_feign_install>} {<dpkg>}) ] ) ) (command.ShFunction name: second_stage_install body: (BraceGroup children: [ (command.ShFunction name: x_core_install body: (BraceGroup children: [ (command.Pipeline children: [ (C {<smallyes>} {(SQ )}) (C {<in_target>} {<dpkg>} {<--force-depends>} {<--install>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<debfor>} {(DQ ($ Id.VSub_At '$@'))}) ) } ) ] negated: F ) ] ) ) (command.ShFunction name: p body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:baseprog) op: assign_op.Equal rhs: { (DQ (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: {($ Id.VSub_DollarName '$baseprog')} right: { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<1>} ) ) } ) ) ) } spids: [633] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DEBIAN_FRONTEND) op: assign_op.Equal rhs: {<noninteractive>} spids: [654] ) ] ) (C {<export>} {<DEBIAN_FRONTEND>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:baseprog) op: assign_op.Equal rhs: {<0>} spids: [664] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bases) op: assign_op.Equal rhs: {<40>} spids: [668] ) ] ) (C {<setup_proc>}) (C {<in_target>} {<'/sbin/ldconfig'>}) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<info>} {<INSTCORE>} {(DQ <'Installing core packages...'>)}) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<ln>} {<-sf>} {<mawk>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/usr/bin/awk'>)}) (C {<x_core_install>} {<base-files>} {<base-passwd>}) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<x_core_install>} {<dpkg>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/localtime'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<ln>} {<-sf>} {<'/usr/share/zoneinfo/UTC'>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/localtime'>)} ) ] spids: [774 790] ) ] ) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<x_core_install>} {($ Id.VSub_DollarName '$LIBC')}) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<x_core_install>} {<perl-base>}) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/usr/bin/awk'>)}) (C {<x_core_install>} {<mawk>}) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<info>} {<UNPACKREQ>} {(DQ <'Unpacking required packages...'>)}) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (command.Pipeline children: [ (C {<smallyes>} {(SQ )}) (C {<repeatn>} {<5>} {<in_target_failmsg>} {<UNPACK_REQ_FAIL_FIVE>} { (DQ < 'Failure while unpacking required packages. This will be attempted up to five times.' > ) } {(DQ )} {<dpkg>} {<--force-depends>} {<--unpack>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<debfor>} {($ Id.VSub_DollarName '$required')}) ) } ) ] negated: F ) (command.Sentence child:(C {<p>} {<10>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<info>} {<CONFREQ>} {(DQ <'Configuring required packages...'>)}) (C {<mv>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon.REAL'>)} ) (command.Simple words: [ {<echo>} { (DQ <'#!/bin/sh\n'> <'echo\n'> <'echo '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'Warning: Fake start-stop-daemon called, doing nothing'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)} ) ] do_fork: T ) (C {<chmod>} {<755>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)}) (C {<setup_dselect_method>} {<apt>}) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (command.Pipeline children: [ (C {<smallyes>} {(SQ )}) (C {<in_target_failmsg>} {<CONF_REQ_FAIL>} {(DQ <'Failure while configuring required packages.'>)} {(DQ )} {<dpkg>} {<--configure>} {<--pending>} {<--force-configure-any>} {<--force-depends>} ) ] negated: F ) (command.Sentence child:(C {<p>} {<10>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<info>} {<INSTCORE>} {(DQ <'Installing base packages...'>)}) (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (command.Pipeline children: [ (C {<smallyes>} {(SQ )}) (C {<repeatn>} {<5>} {<in_target_failmsg>} {<INST_BASE_FAIL_FIVE>} { (DQ < 'Failure while installing base packages. This will be re-attempted up to five times.' > ) } {(DQ )} {<dpkg>} {<--force-auto-select>} {<--force-overwrite>} {<--force-confold>} {<--skip-same-version>} {<--unpack>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<debfor>} {($ Id.VSub_DollarName '$base')}) ) } ) ] negated: F ) (command.Pipeline children: [ (C {<smallyes>} {(SQ )}) (C {<repeatn>} {<5>} {<in_target_failmsg>} {<CONF_BASE_FAIL_FIVE>} {(DQ <'Failure while configuring base packages. This will be attempted 5 times.'>)} {(DQ )} {<dpkg>} {<--force-confold>} {<--skip-same-version>} {<--configure>} {<-a>} ) ] negated: F ) (command.Sentence child:(C {<p>} {<9>}) terminator:<Id.Op_Semi _>) (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<mv>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon.REAL'>)} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)} ) (C {<progress>} {($ Id.VSub_DollarName '$bases')} {($ Id.VSub_DollarName '$bases')} {<INSTCORE>} {(DQ <'Installing core packages'>)} ) (C {<info>} {<BASESUCCESS>} {(DQ <'Base system installed successfully.'>)}) ] ) ) ] )