(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (= scope= flags=0 words=[] bindings=[('SCRIPT_DIR', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[ComSub (Com {[LIT_CHARS dirname]} {[VarSub 0]})]}) (Com {[LIT_CHARS pwd]}) )]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub DIST test_op=VS_TEST_COLON_HYPHEN {}]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "error: DIST not defined"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub APT_REPO test_op=VS_TEST_COLON_HYPHEN {}]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "error: APT_REPO not defined"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub KEYRING_FILE test_op=VS_TEST_COLON_HYPHEN {}]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "error: KEYRING_FILE not defined"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub DEBIAN_PACKAGES test_op=VS_TEST_COLON_HYPHEN {}]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "error: DEBIAN_PACKAGES not defined"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=2 words=[] bindings=[('REPO_BASEDIR', {[DQ [VarSub APT_REPO][LIT_CHARS /dists/][VarSub DIST]]})]) (= scope= flags=2 words=[] bindings=[('REQUIRED_TOOLS', {[DQ [LIT_CHARS wget]]})]) (= scope= flags=2 words=[] bindings=[('RELEASE_FILE', {[DQ [LIT_CHARS Release]]})]) (= scope= flags=2 words=[] bindings=[('RELEASE_FILE_GPG', {[DQ [LIT_CHARS Release.gpg]]})]) (= scope= flags=2 words=[] bindings=[('RELEASE_LIST', {[DQ [VarSub REPO_BASEDIR][LIT_CHARS /][VarSub RELEASE_FILE]]})]) (= scope= flags=2 words=[] bindings=[('RELEASE_LIST_GPG', {[DQ [VarSub REPO_BASEDIR][LIT_CHARS /][VarSub RELEASE_FILE_GPG]]})]) (= scope= flags=2 words=[] bindings=[('PACKAGE_FILE_AMD64', {[DQ [LIT_CHARS main/binary-amd64/Packages.bz2]]})]) (= scope= flags=2 words=[] bindings=[('PACKAGE_FILE_I386', {[DQ [LIT_CHARS main/binary-i386/Packages.bz2]]})]) (= scope= flags=2 words=[] bindings=[('PACKAGE_FILE_ARM', {[DQ [LIT_CHARS main/binary-armhf/Packages.bz2]]})]) (= scope= flags=2 words=[] bindings=[('PACKAGE_FILE_MIPS', {[DQ [LIT_CHARS main/binary-mipsel/Packages.bz2]]})]) (= scope= flags=2 words=[] bindings=[('PACKAGE_LIST_AMD64', {[DQ [VarSub REPO_BASEDIR][LIT_CHARS /][VarSub PACKAGE_FILE_AMD64]]})]) (= scope= flags=2 words=[] bindings=[('PACKAGE_LIST_I386', {[DQ [VarSub REPO_BASEDIR][LIT_CHARS /][VarSub PACKAGE_FILE_I386]]})]) (= scope= flags=2 words=[] bindings=[('PACKAGE_LIST_ARM', {[DQ [VarSub REPO_BASEDIR][LIT_CHARS /][VarSub PACKAGE_FILE_ARM]]})]) (= scope= flags=2 words=[] bindings=[('PACKAGE_LIST_MIPS', {[DQ [VarSub REPO_BASEDIR][LIT_CHARS /][VarSub PACKAGE_FILE_MIPS]]})]) (= scope= flags=2 words=[] bindings=[('DEBIAN_DEP_LIST_AMD64', {[DQ [LIT_CHARS packagelist.][VarSub DIST][LIT_CHARS .amd64]]})]) (= scope= flags=2 words=[] bindings=[('DEBIAN_DEP_LIST_I386', {[DQ [LIT_CHARS packagelist.][VarSub DIST][LIT_CHARS .i386]]})]) (= scope= flags=2 words=[] bindings=[('DEBIAN_DEP_LIST_ARM', {[DQ [LIT_CHARS packagelist.][VarSub DIST][LIT_CHARS .arm]]})]) (= scope= flags=2 words=[] bindings=[('DEBIAN_DEP_LIST_MIPS', {[DQ [LIT_CHARS packagelist.][VarSub DIST][LIT_CHARS .mipsel]]})]) (FunctionDef Banner [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "######################################################################"]]} ) (Com {[LIT_CHARS echo]} {[VarSub *]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "######################################################################"]]} ) ) ) (FunctionDef SubBanner [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS ----------------------------------------------------------------------]]} ) (Com {[LIT_CHARS echo]} {[VarSub *]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS ----------------------------------------------------------------------]]} ) ) ) (FunctionDef Usage [] (Pipeline (Com {[LIT_CHARS egrep]} {[DQ [LIT_CHARS "^#@"]]} {[DQ [VarSub BASH_SOURCE bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]]} ) (Com {[LIT_CHARS cut]} {[LIT_CHARS --bytes] [LIT_DBRACKET_LIKE "="] [LIT_CHARS 3-]} ) ) ) (FunctionDef DownloadOrCopy [] (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -f]} {[DQ [VarSub 2]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 2][LIT_CHARS " already in place"]]} ) (Com {[LIT_CHARS return]} ) ) ) (= scope= flags=0 words=[] bindings=[('HTTP', {[LIT_CHARS 0]})]) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -qs]} {[LIT_OTHER "^"] [LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //]} ) ) (= scope= flags=0 words=[] bindings=[('HTTP', {[LIT_CHARS 1]})]) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub HTTP]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS 1]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS SubBanner]} {[DQ [LIT_CHARS "downloading from "][VarSub 1][LIT_CHARS " -> "][VarSub 2]]} ) (Com {[LIT_CHARS wget]} {[DQ [VarSub 1]]} {[LIT_CHARS -O]} {[DQ [VarSub 2][LIT_CHARS .partial]]} ) (Com {[LIT_CHARS mv]} {[DQ [VarSub 2][LIT_CHARS .partial]]} {[VarSub 2]} ) ) (ElseTrue) (List (Com {[LIT_CHARS SubBanner]} {[DQ [LIT_CHARS "copying from "][VarSub 1]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub 1]]} {[DQ [VarSub 2]]} ) ) ) ) ) (FunctionDef SetEnvironmentVariables [] (List (= scope= flags=0 words=[] bindings=[('ARCH', {[DQ ]})]) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS echo]} {[VarSub 1]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -qs]} {[LIT_CHARS Amd64] [LIT_OTHER "$"]} ) ) (= scope= flags=0 words=[] bindings=[('ARCH', {[LIT_CHARS AMD64]})]) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub ARCH]]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS echo]} {[VarSub 1]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -qs]} {[LIT_CHARS I386] [LIT_OTHER "$"]} ) ) (= scope= flags=0 words=[] bindings=[('ARCH', {[LIT_CHARS I386]})]) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub ARCH]]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS echo]} {[VarSub 1]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -qs]} {[LIT_CHARS Mips] [LIT_OTHER "$"]} ) ) (= scope= flags=0 words=[] bindings=[('ARCH', {[LIT_CHARS MIPS]})]) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub ARCH]]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS echo]} {[VarSub 1]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -qs]} {[LIT_CHARS ARM] [LIT_OTHER "$"]} ) ) (= scope= flags=0 words=[] bindings=[('ARCH', {[LIT_CHARS ARM]})]) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub ARCH]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: Unable to determine architecture based on: "][VarSub 1]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('ARCH_LOWER', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub ARCH]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) )]})]) ) ) (FunctionDef SanityCheck [] (List (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Sanity Checks"]]} ) (= scope= flags=0 words=[] bindings=[('chrome_dir', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub SCRIPT_DIR][LIT_CHARS /../../../..]]}) (Com {[LIT_CHARS pwd]}) )]})]) (= scope= flags=0 words=[] bindings=[('BUILD_DIR', {[DQ [VarSub chrome_dir][LIT_CHARS /out/sysroot-build/][VarSub DIST]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub BUILD_DIR]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Using build directory: "][VarSub BUILD_DIR]]} ) (For tool [{[VarSub REQUIRED_TOOLS]}]) (If (Pipeline! (Com {[LIT_CHARS which]} {[VarSub tool]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Required binary "][VarSub tool][LIT_CHARS " not found."]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS Exiting.]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) (= scope= flags=0 words=[] bindings=[('INSTALL_ROOT', {[DQ [VarSub BUILD_DIR][LIT_CHARS /][VarSub DIST][LIT_CHARS _][VarSub ARCH_LOWER][LIT_CHARS _staging]]})]) (= scope= flags=0 words=[] bindings=[('TARBALL', {[DQ [VarSub BUILD_DIR][LIT_CHARS /][VarSub DISTRO][LIT_CHARS _][VarSub DIST][LIT_CHARS _][VarSub ARCH_LOWER][LIT_CHARS _sysroot.tgz]]})]) (If (Pipeline! (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub INSTALL_ROOT]]} ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: "][VarSub INSTALL_ROOT][LIT_CHARS " can't be created."]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) ) (FunctionDef ChangeDirectory [] (Com {[LIT_CHARS cd]} {[VarSub SCRIPT_DIR]} ) ) (FunctionDef ClearInstallDir [] (List (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Clearing dirs in "][VarSub INSTALL_ROOT]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub INSTALL_ROOT] [LIT_CHARS /] [LIT_OTHER "*"]} ) ) ) (FunctionDef CreateTarBall [] (List (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Creating tarball "][VarSub TARBALL]]} ) (Com {[LIT_CHARS tar]} {[LIT_CHARS zcf]} {[VarSub TARBALL]} {[LIT_CHARS -C]} {[VarSub INSTALL_ROOT]} {[LIT_CHARS .]} ) ) ) (FunctionDef ExtractPackageBz2 [] (Pipeline (Com {[LIT_CHARS bzcat]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS egrep]} {[SQ ]} < (FilenameRedirectNode filename={[DQ [VarSub 2]]} "> 1), > ) ) ) (FunctionDef GeneratePackageListAmd64 [] (List (= scope= flags=0 words=[] bindings=[('output_file', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('package_list', {[DQ [VarSub BUILD_DIR][LIT_CHARS /Packages.][VarSub DIST][LIT_CHARS _amd64.bz2]]})]) (= scope= flags=0 words=[] bindings=[('tmp_package_list', {[DQ [VarSub BUILD_DIR][LIT_CHARS /Packages.][VarSub DIST][LIT_CHARS _amd64]]})]) (Com {[LIT_CHARS DownloadOrCopy]} {[DQ [VarSub PACKAGE_LIST_AMD64]]} {[DQ [VarSub package_list]]} ) (Com {[LIT_CHARS VerifyPackageListing]} {[DQ [VarSub PACKAGE_FILE_AMD64]]} {[DQ [VarSub package_list]]} ) (Com {[LIT_CHARS ExtractPackageBz2]} {[DQ [VarSub package_list]]} {[DQ [VarSub tmp_package_list]]} ) (Com {[LIT_CHARS GeneratePackageList]} {[DQ [VarSub tmp_package_list]]} {[DQ [VarSub output_file]]} {[DQ [VarSub DEBIAN_PACKAGES][LIT_CHARS "\n"][LIT_CHARS " "][VarSub DEBIAN_PACKAGES_X86]]} ) ) ) (FunctionDef GeneratePackageListI386 [] (List (= scope= flags=0 words=[] bindings=[('output_file', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('package_list', {[DQ [VarSub BUILD_DIR][LIT_CHARS /Packages.][VarSub DIST][LIT_CHARS _i386.bz2]]})]) (= scope= flags=0 words=[] bindings=[('tmp_package_list', {[DQ [VarSub BUILD_DIR][LIT_CHARS /Packages.][VarSub DIST][LIT_CHARS _amd64]]})]) (Com {[LIT_CHARS DownloadOrCopy]} {[DQ [VarSub PACKAGE_LIST_I386]]} {[DQ [VarSub package_list]]} ) (Com {[LIT_CHARS VerifyPackageListing]} {[DQ [VarSub PACKAGE_FILE_I386]]} {[DQ [VarSub package_list]]} ) (Com {[LIT_CHARS ExtractPackageBz2]} {[DQ [VarSub package_list]]} {[DQ [VarSub tmp_package_list]]} ) (Com {[LIT_CHARS GeneratePackageList]} {[DQ [VarSub tmp_package_list]]} {[DQ [VarSub output_file]]} {[DQ [VarSub DEBIAN_PACKAGES][LIT_CHARS "\n"][LIT_CHARS " "][VarSub DEBIAN_PACKAGES_X86]]} ) ) ) (FunctionDef GeneratePackageListARM [] (List (= scope= flags=0 words=[] bindings=[('output_file', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('package_list', {[DQ [VarSub BUILD_DIR][LIT_CHARS /Packages.][VarSub DIST][LIT_CHARS _arm.bz2]]})]) (= scope= flags=0 words=[] bindings=[('tmp_package_list', {[DQ [VarSub BUILD_DIR][LIT_CHARS /Packages.][VarSub DIST][LIT_CHARS _arm]]})]) (Com {[LIT_CHARS DownloadOrCopy]} {[DQ [VarSub PACKAGE_LIST_ARM]]} {[DQ [VarSub package_list]]} ) (Com {[LIT_CHARS VerifyPackageListing]} {[DQ [VarSub PACKAGE_FILE_ARM]]} {[DQ [VarSub package_list]]} ) (Com {[LIT_CHARS ExtractPackageBz2]} {[DQ [VarSub package_list]]} {[DQ [VarSub tmp_package_list]]} ) (Com {[LIT_CHARS GeneratePackageList]} {[DQ [VarSub tmp_package_list]]} {[DQ [VarSub output_file]]} {[DQ [VarSub DEBIAN_PACKAGES]]} ) ) ) (FunctionDef GeneratePackageListMips [] (List (= scope= flags=0 words=[] bindings=[('output_file', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('package_list', {[DQ [VarSub BUILD_DIR][LIT_CHARS /Packages.][VarSub DIST][LIT_CHARS _mips.bz2]]})]) (= scope= flags=0 words=[] bindings=[('tmp_package_list', {[DQ [VarSub BUILD_DIR][LIT_CHARS /Packages.][VarSub DIST][LIT_CHARS _mips]]})]) (Com {[LIT_CHARS DownloadOrCopy]} {[DQ [VarSub PACKAGE_LIST_MIPS]]} {[DQ [VarSub package_list]]} ) (Com {[LIT_CHARS VerifyPackageListing]} {[DQ [VarSub PACKAGE_FILE_MIPS]]} {[DQ [VarSub package_list]]} ) (Com {[LIT_CHARS ExtractPackageBz2]} {[DQ [VarSub package_list]]} {[DQ [VarSub tmp_package_list]]} ) (Com {[LIT_CHARS GeneratePackageList]} {[DQ [VarSub tmp_package_list]]} {[DQ [VarSub output_file]]} {[DQ [VarSub DEBIAN_PACKAGES]]} ) ) ) (FunctionDef StripChecksumsFromPackageList [] (List (= scope= flags=0 words=[] bindings=[('package_file', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[SQ ]} {[DQ [VarSub package_file]]} ) ) ) (FunctionDef VerifyPackageFilesMatch [] (List (= scope= flags=0 words=[] bindings=[('downloaded_package_file', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('stored_package_file', {[DQ [VarSub 2]]})]) (Com {[LIT_CHARS diff]} {[LIT_CHARS -u]} {[DQ [VarSub downloaded_package_file]]} {[DQ [VarSub stored_package_file]]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub ?]]} {[LIT_CHARS -ne]} {[DQ [LIT_CHARS 0]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: downloaded package files does not match "][VarSub 2][LIT_CHARS .]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "You may need to run UpdatePackageLists."]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) ) (FunctionDef HacksAndPatchesAmd64 [] (List (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Misc Hacks & Patches"]]} ) (= scope= flags=0 words=[] bindings=[('lscripts', {[DQ [VarSub INSTALL_ROOT][LIT_CHARS "/usr/lib/x86_64-linux-gnu/libpthread.so "][LIT_CHARS " "][VarSub INSTALL_ROOT][LIT_CHARS /usr/lib/x86_64-linux-gnu/libc.so]]})]) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub lscripts]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub lscripts]} ) (Com {[LIT_CHARS SubBanner]} {[DQ [LIT_CHARS "Package Configs Symlink"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub INSTALL_ROOT] [LIT_CHARS /usr/share]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS ../lib/x86_64-linux-gnu/pkgconfig]} {[VarSub INSTALL_ROOT] [LIT_CHARS /usr/share/pkgconfig]} ) (Com {[LIT_CHARS SubBanner]} {[DQ [LIT_CHARS "Adding an additional ld.conf include"]]} ) (= scope= flags=0 words=[] bindings=[('LD_SO_HACK_CONF', {[DQ [VarSub INSTALL_ROOT][LIT_CHARS /etc/ld.so.conf.d/zz_hack.conf]]})]) (Com {[LIT_CHARS echo]} {[LIT_CHARS /usr/lib/gcc/x86_64-linux-gnu/4.6]} < (FilenameRedirectNode filename={[DQ [VarSub LD_SO_HACK_CONF]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[LIT_CHARS /usr/lib]} < (FilenameRedirectNode filename={[DQ [VarSub LD_SO_HACK_CONF]]} >"> 1), > ) ) ) (FunctionDef HacksAndPatchesI386 [] (List (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Misc Hacks & Patches"]]} ) (= scope= flags=0 words=[] bindings=[('lscripts', {[DQ [VarSub INSTALL_ROOT][LIT_CHARS "/usr/lib/i386-linux-gnu/libpthread.so "][LIT_CHARS " "][VarSub INSTALL_ROOT][LIT_CHARS /usr/lib/i386-linux-gnu/libc.so]]})]) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub lscripts]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub lscripts]} ) (Com {[LIT_CHARS SubBanner]} {[DQ [LIT_CHARS "Package Configs Symlink"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub INSTALL_ROOT] [LIT_CHARS /usr/share]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS ../lib/i386-linux-gnu/pkgconfig]} {[VarSub INSTALL_ROOT] [LIT_CHARS /usr/share/pkgconfig]} ) (Com {[LIT_CHARS SubBanner]} {[DQ [LIT_CHARS "Adding an additional ld.conf include"]]} ) (= scope= flags=0 words=[] bindings=[('LD_SO_HACK_CONF', {[DQ [VarSub INSTALL_ROOT][LIT_CHARS /etc/ld.so.conf.d/zz_hack.conf]]})]) (Com {[LIT_CHARS echo]} {[LIT_CHARS /usr/lib/gcc/i486-linux-gnu/4.6]} < (FilenameRedirectNode filename={[DQ [VarSub LD_SO_HACK_CONF]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[LIT_CHARS /usr/lib]} < (FilenameRedirectNode filename={[DQ [VarSub LD_SO_HACK_CONF]]} >"> 1), > ) ) ) (FunctionDef HacksAndPatchesARM [] (List (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Misc Hacks & Patches"]]} ) (= scope= flags=0 words=[] bindings=[('lscripts', {[DQ [VarSub INSTALL_ROOT][LIT_CHARS "/usr/lib/arm-linux-gnueabihf/libpthread.so "][LIT_CHARS " "][VarSub INSTALL_ROOT][LIT_CHARS /usr/lib/arm-linux-gnueabihf/libc.so]]})]) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub lscripts]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub lscripts]} ) (Com {[LIT_CHARS SubBanner]} {[DQ [LIT_CHARS "Package Configs Symlink"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub INSTALL_ROOT] [LIT_CHARS /usr/share]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS ../lib/arm-linux-gnueabihf/pkgconfig]} {[VarSub INSTALL_ROOT] [LIT_CHARS /usr/share/pkgconfig]} ) ) ) (FunctionDef HacksAndPatchesMips [] (List (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Misc Hacks & Patches"]]} ) (= scope= flags=0 words=[] bindings=[('lscripts', {[DQ [VarSub INSTALL_ROOT][LIT_CHARS "/usr/lib/mipsel-linux-gnu/libpthread.so "][LIT_CHARS " "][VarSub INSTALL_ROOT][LIT_CHARS /usr/lib/mipsel-linux-gnu/libc.so]]})]) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub lscripts]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub lscripts]} ) (Com {[LIT_CHARS SubBanner]} {[DQ [LIT_CHARS "Package Configs Symlink"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub INSTALL_ROOT] [LIT_CHARS /usr/share]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS ../lib/mipsel-linux-gnu/pkgconfig]} {[VarSub INSTALL_ROOT] [LIT_CHARS /usr/share/pkgconfig]} ) ) ) (FunctionDef InstallIntoSysroot [] (List (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Install Libs And Headers Into Jail"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub BUILD_DIR] [LIT_CHARS /debian-packages]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub INSTALL_ROOT]} ) (While (DParen {A Atom NODE_ARITH_WORD {[DQ [VarSub #]]}}) (List (= scope= flags=0 words=[] bindings=[('file', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('package', {[DQ [VarSub BUILD_DIR][LIT_CHARS /debian-packages/][VarSub file transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]]})]) (Com {[LIT_CHARS shift]} ) (= scope= flags=0 words=[] bindings=[('sha256sum', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub sha256sum transform_ops=[(#len)]]]} {[LIT_CHARS -ne]} {[DQ [LIT_CHARS 64]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Bad sha256sum from package list"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Installing "][VarSub file]]} ) (Com {[LIT_CHARS DownloadOrCopy]} {[VarSub APT_REPO] [LIT_CHARS /pool/] [VarSub file]} {[VarSub package]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -s]} {[DQ [VarSub package]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: bad package "][VarSub package]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub sha256sum][LIT_CHARS " "][VarSub package]]} ) (Com {[LIT_CHARS sha256sum]} {[LIT_CHARS --quiet]} {[LIT_CHARS -c]} ) ) (Com {[LIT_CHARS SubBanner]} {[DQ [LIT_CHARS "Extracting to "][VarSub INSTALL_ROOT]]} ) (Pipeline (Com {[LIT_CHARS dpkg]} {[LIT_CHARS --fsys-tarfile]} {[VarSub package]} ) (Com {[LIT_CHARS tar]} {[LIT_CHARS -xf]} {[LIT_CHARS -]} {[LIT_CHARS --exclude] [LIT_DBRACKET_LIKE "="] [LIT_CHARS ./usr/share]} {[LIT_CHARS -C]} {[VarSub INSTALL_ROOT]} ) ) ) ) ) ) (FunctionDef CleanupJailSymlinks [] (List (Com {[LIT_CHARS Banner]} {[DQ [LIT_CHARS "Jail symlink cleanup"]]} ) (= scope= flags=0 words=[] bindings=[('SAVEDPWD', {[ComSub (Com {[LIT_CHARS pwd]})]})]) (Com {[LIT_CHARS cd]} {[VarSub INSTALL_ROOT]} ) (= scope= flags=0 words=[] bindings=[('libdirs', {[DQ [LIT_CHARS "lib usr/lib"]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub ARCH]]} {[LIT_NEQUAL "!="]} {[DQ [LIT_CHARS MIPS]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('libdirs+', {[DQ [LIT_CHARS " lib64"]]})]) ) (Pipeline (Com {[LIT_CHARS find]} {[VarSub libdirs]} {[LIT_CHARS -type]} {[LIT_CHARS l]} {[LIT_CHARS -printf]} {[SQ ]} ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS link]} {[LIT_CHARS target]} ) (List (AndOr OP_OR_IF (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub target]]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -qs]} {[LIT_OTHER "^"] [LIT_CHARS /]} ) ) (Com {[LIT_CHARS continue]} ) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub link][LIT_CHARS ": "][VarSub target]]} ) (Case to_match={[DQ [VarSub link]]}, pat_word_list=[[{[LIT_CHARS usr/lib/gcc/x86_64-linux-gnu/4.] [LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"]}, {[LIT_CHARS usr/lib/gcc/i486-linux-gnu/4.] [LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"]}, {[LIT_CHARS usr/lib/gcc/arm-linux-gnueabihf/4.] [LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"]}, {[LIT_CHARS usr/lib/gcc/mipsel-linux-gnu/4.] [LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"]}], [{[LIT_CHARS usr/lib/x86_64-linux-gnu/] [LIT_OTHER "*"]}, {[LIT_CHARS usr/lib/i386-linux-gnu/] [LIT_OTHER "*"]}, {[LIT_CHARS usr/lib/arm-linux-gnueabihf/] [LIT_OTHER "*"]}, {[LIT_CHARS usr/lib/mipsel-linux-gnu/] [LIT_OTHER "*"]}], [{[LIT_CHARS usr/lib/] [LIT_OTHER "*"]}], [{[LIT_CHARS lib64/] [LIT_OTHER "*"]}, {[LIT_CHARS lib/] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS ln]} {[LIT_CHARS -snfv]} {[DQ [LIT_CHARS ../../../../..][VarSub target]]} {[DQ [VarSub link]]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -snfv]} {[DQ [LIT_CHARS ../../..][VarSub target]]} {[DQ [VarSub link]]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -snfv]} {[DQ [LIT_CHARS ../..][VarSub target]]} {[DQ [VarSub link]]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -snfv]} {[DQ [LIT_CHARS ..][VarSub target]]} {[DQ [VarSub link]]} ) ) ) ) ) (Pipeline (Com {[LIT_CHARS find]} {[VarSub libdirs]} {[LIT_CHARS -type]} {[LIT_CHARS l]} {[LIT_CHARS -printf]} {[SQ ]} ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS link]} {[LIT_CHARS target]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -r]} {[DQ [VarSub link]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: FOUND BAD LINK "][VarSub link]]} ) (Com {[LIT_CHARS ls]} {[LIT_CHARS -l]} {[VarSub link]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) ) (Com {[LIT_CHARS cd]} {[DQ [VarSub SAVEDPWD]]} ) ) ) (FunctionDef BuildSysrootAmd64 [] (List (Com {[LIT_CHARS ClearInstallDir]} ) (= scope= flags=0 words=[] bindings=[('package_file', {[DQ [VarSub BUILD_DIR][LIT_CHARS /package_with_sha256sum_amd64]]})]) (Com {[LIT_CHARS GeneratePackageListAmd64]} {[DQ [VarSub package_file]]} ) (= scope= flags=0 words=[] bindings=[('files_and_sha256sums', {[DQ [ComSub (Com {[LIT_CHARS cat]} {[VarSub package_file]})]]})]) (Com {[LIT_CHARS StripChecksumsFromPackageList]} {[DQ [VarSub package_file]]} ) (Com {[LIT_CHARS VerifyPackageFilesMatch]} {[DQ [VarSub package_file]]} {[DQ [VarSub DEBIAN_DEP_LIST_AMD64]]} ) (Com {[LIT_CHARS InstallIntoSysroot]} {[VarSub files_and_sha256sums]} ) (Com {[LIT_CHARS CleanupJailSymlinks]} ) (Com {[LIT_CHARS HacksAndPatchesAmd64]} ) (Com {[LIT_CHARS CreateTarBall]} ) ) ) (FunctionDef BuildSysrootI386 [] (List (Com {[LIT_CHARS ClearInstallDir]} ) (= scope= flags=0 words=[] bindings=[('package_file', {[DQ [VarSub BUILD_DIR][LIT_CHARS /package_with_sha256sum_i386]]})]) (Com {[LIT_CHARS GeneratePackageListI386]} {[DQ [VarSub package_file]]} ) (= scope= flags=0 words=[] bindings=[('files_and_sha256sums', {[DQ [ComSub (Com {[LIT_CHARS cat]} {[VarSub package_file]})]]})]) (Com {[LIT_CHARS StripChecksumsFromPackageList]} {[DQ [VarSub package_file]]} ) (Com {[LIT_CHARS VerifyPackageFilesMatch]} {[DQ [VarSub package_file]]} {[DQ [VarSub DEBIAN_DEP_LIST_I386]]} ) (Com {[LIT_CHARS InstallIntoSysroot]} {[VarSub files_and_sha256sums]} ) (Com {[LIT_CHARS CleanupJailSymlinks]} ) (Com {[LIT_CHARS HacksAndPatchesI386]} ) (Com {[LIT_CHARS CreateTarBall]} ) ) ) (FunctionDef BuildSysrootARM [] (List (Com {[LIT_CHARS ClearInstallDir]} ) (= scope= flags=0 words=[] bindings=[('package_file', {[DQ [VarSub BUILD_DIR][LIT_CHARS /package_with_sha256sum_arm]]})]) (Com {[LIT_CHARS GeneratePackageListARM]} {[DQ [VarSub package_file]]} ) (= scope= flags=0 words=[] bindings=[('files_and_sha256sums', {[DQ [ComSub (Com {[LIT_CHARS cat]} {[VarSub package_file]})]]})]) (Com {[LIT_CHARS StripChecksumsFromPackageList]} {[DQ [VarSub package_file]]} ) (Com {[LIT_CHARS VerifyPackageFilesMatch]} {[DQ [VarSub package_file]]} {[DQ [VarSub DEBIAN_DEP_LIST_ARM]]} ) (= scope= flags=0 words=[] bindings=[('APT_REPO', {[VarSub APR_REPO_ARM test_op=VS_TEST_COLON_EQUALS {[VarSub APT_REPO]}]})]) (Com {[LIT_CHARS InstallIntoSysroot]} {[VarSub files_and_sha256sums]} ) (Com {[LIT_CHARS CleanupJailSymlinks]} ) (Com {[LIT_CHARS HacksAndPatchesARM]} ) (Com {[LIT_CHARS CreateTarBall]} ) ) ) (FunctionDef BuildSysrootMips [] (List (Com {[LIT_CHARS ClearInstallDir]} ) (= scope= flags=0 words=[] bindings=[('package_file', {[DQ [VarSub BUILD_DIR][LIT_CHARS /package_with_sha256sum_arm]]})]) (Com {[LIT_CHARS GeneratePackageListMips]} {[DQ [VarSub package_file]]} ) (= scope= flags=0 words=[] bindings=[('files_and_sha256sums', {[DQ [ComSub (Com {[LIT_CHARS cat]} {[VarSub package_file]})]]})]) (Com {[LIT_CHARS StripChecksumsFromPackageList]} {[DQ [VarSub package_file]]} ) (Com {[LIT_CHARS VerifyPackageFilesMatch]} {[DQ [VarSub package_file]]} {[DQ [VarSub DEBIAN_DEP_LIST_MIPS]]} ) (= scope= flags=0 words=[] bindings=[('APT_REPO', {[VarSub APR_REPO_MIPS test_op=VS_TEST_COLON_EQUALS {[VarSub APT_REPO]}]})]) (Com {[LIT_CHARS InstallIntoSysroot]} {[VarSub files_and_sha256sums]} ) (Com {[LIT_CHARS CleanupJailSymlinks]} ) (Com {[LIT_CHARS HacksAndPatchesMips]} ) (Com {[LIT_CHARS CreateTarBall]} ) ) ) (FunctionDef BuildSysrootAll [] (List (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS BuildSysrootAmd64]} ) (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS BuildSysrootI386]} ) (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS BuildSysrootARM]} ) (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS BuildSysrootMips]} ) ) ) (FunctionDef UploadSysroot [] (List (= scope= flags=0 words=[] bindings=[('rev', {[VarSub 1]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub rev]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Please specify a revision to upload at."]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[LIT_CHARS gsutil]} {[LIT_CHARS cp]} {[LIT_CHARS -a]} {[LIT_CHARS public-read]} {[DQ [VarSub TARBALL]]} {[DQ [LIT_CHARS "gs://chrome-linux-sysroot/toolchain/"][VarSub rev][LIT_CHARS /]]} ) (Com {[LIT_CHARS set]} {[LIT_OTHER "+"] [LIT_CHARS x]} ) ) ) (FunctionDef UploadSysrootAmd64 [] (Com {[LIT_CHARS UploadSysroot]} {[DQ [VarSub @]]} ) ) (FunctionDef UploadSysrootI386 [] (Com {[LIT_CHARS UploadSysroot]} {[DQ [VarSub @]]} ) ) (FunctionDef UploadSysrootARM [] (Com {[LIT_CHARS UploadSysroot]} {[DQ [VarSub @]]} ) ) (FunctionDef UploadSysrootMips [] (Com {[LIT_CHARS UploadSysroot]} {[DQ [VarSub @]]} ) ) (FunctionDef UploadSysrootAll [] (List (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS UploadSysrootAmd64]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS UploadSysrootI386]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS UploadSysrootARM]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS UploadSysrootMips]} {[DQ [VarSub @]]} ) ) ) (FunctionDef CheckForDebianGPGKeyring [] (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[DQ [VarSub KEYRING_FILE]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Debian GPG keys missing. Install the debian-archive-keyring package."]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) (FunctionDef VerifyPackageListing [] (List (= scope= flags=0 words=[] bindings=[('file_path', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('output_file', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('release_file', {[DQ [VarSub BUILD_DIR][LIT_CHARS /][VarSub RELEASE_FILE]]})]) (= scope= flags=0 words=[] bindings=[('release_file_gpg', {[DQ [VarSub BUILD_DIR][LIT_CHARS /][VarSub RELEASE_FILE_GPG]]})]) (= scope= flags=0 words=[] bindings=[('tmp_keyring_file', {[DQ [VarSub BUILD_DIR][LIT_CHARS /keyring.gpg]]})]) (Com {[LIT_CHARS CheckForDebianGPGKeyring]} ) (Com {[LIT_CHARS DownloadOrCopy]} {[VarSub RELEASE_LIST]} {[VarSub release_file]} ) (Com {[LIT_CHARS DownloadOrCopy]} {[VarSub RELEASE_LIST_GPG]} {[VarSub release_file_gpg]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Verifying: "][VarSub release_file][LIT_CHARS " with "][VarSub release_file_gpg]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub KEYRING_FILE]]} {[DQ [VarSub tmp_keyring_file]]} ) (Com {[LIT_CHARS gpg]} {[LIT_CHARS --primary-keyring]} {[DQ [VarSub tmp_keyring_file]]} {[LIT_CHARS --recv-keys]} {[LIT_CHARS 2B90D010]} ) (Com {[LIT_CHARS gpgv]} {[LIT_CHARS --keyring]} {[DQ [VarSub tmp_keyring_file]]} {[DQ [VarSub release_file_gpg]]} {[DQ [VarSub release_file]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Verifying: "][VarSub output_file]]} ) (= scope= flags=0 words=[] bindings=[('checksums', {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[VarSub file_path]} {[VarSub release_file]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d]} {[DQ [LIT_CHARS " "]]} {[LIT_CHARS -f]} {[LIT_CHARS 2]}) )]})]) (= scope= flags=0 words=[] bindings=[('sha256sum', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub checksums]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d]} {[DQ [LIT_CHARS " "]]} {[LIT_CHARS -f]} {[LIT_CHARS 3]}) )]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub sha256sum transform_ops=[(#len)]]]} {[LIT_CHARS -ne]} {[DQ [LIT_CHARS 64]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Bad sha256sum from "][VarSub RELEASE_LIST]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub sha256sum][LIT_CHARS " "][VarSub output_file]]} ) (Com {[LIT_CHARS sha256sum]} {[LIT_CHARS --quiet]} {[LIT_CHARS -c]} ) ) ) ) (FunctionDef GeneratePackageList [] (List (= scope= flags=0 words=[] bindings=[('input_file', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('output_file', {[DQ [VarSub 2]]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Updating: "][VarSub output_file][LIT_CHARS " from "][VarSub input_file]]} ) (Com {[LIT_CHARS /bin/rm]} {[LIT_CHARS -f]} {[DQ [VarSub output_file]]} ) (Com {[LIT_CHARS shift]} ) (Com {[LIT_CHARS shift]} ) (For pkg [{[VarSub @]}]) (List (= scope= flags=0 words=[] bindings=[('pkg_full', {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[LIT_CHARS -A]} {[LIT_CHARS 1]} {[DQ [LIT_CHARS " "][VarSub pkg][\ LIT_ESCAPED_CHAR "\\$"]]} {[DQ [VarSub input_file]]}) (Com {[LIT_CHARS egrep]} {[LIT_CHARS -o]} {[DQ [LIT_CHARS "pool/.*"]]}) )]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub pkg_full]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: missing package: "][VarSub pkg]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('pkg_nopool', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub pkg_full]]}) (Com {[LIT_CHARS sed]} {[DQ [LIT_CHARS "s/^pool"][\ LIT_ESCAPED_CHAR "\\/"][LIT_CHARS //]]}) )]})]) (= scope= flags=0 words=[] bindings=[('sha256sum', {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[LIT_CHARS -A]} {[LIT_CHARS 4]} {[DQ [LIT_CHARS " "][VarSub pkg][\ LIT_ESCAPED_CHAR "\\$"]]} {[DQ [VarSub input_file]]}) (Com {[LIT_CHARS grep]} {[LIT_OTHER "^"] [LIT_CHARS SHA256] [LIT_OTHER ":"]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub sha256sum transform_ops=[(#len)]]]} {[LIT_CHARS -ne]} {[DQ [LIT_CHARS 64]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Bad sha256sum from Packages"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS echo]} {[VarSub pkg_nopool]} {[VarSub sha256sum]} < (FilenameRedirectNode filename={[DQ [VarSub output_file]]} >"> 1), > ) ) ) (Com {[LIT_CHARS sort]} {[DQ [VarSub output_file]]} {[LIT_CHARS -o]} {[DQ [VarSub output_file]]} ) ) ) (FunctionDef UpdatePackageListsAmd64 [] (List (Com {[LIT_CHARS GeneratePackageListAmd64]} {[DQ [VarSub DEBIAN_DEP_LIST_AMD64]]} ) (Com {[LIT_CHARS StripChecksumsFromPackageList]} {[DQ [VarSub DEBIAN_DEP_LIST_AMD64]]} ) ) ) (FunctionDef UpdatePackageListsI386 [] (List (Com {[LIT_CHARS GeneratePackageListI386]} {[DQ [VarSub DEBIAN_DEP_LIST_I386]]} ) (Com {[LIT_CHARS StripChecksumsFromPackageList]} {[DQ [VarSub DEBIAN_DEP_LIST_I386]]} ) ) ) (FunctionDef UpdatePackageListsARM [] (List (Com {[LIT_CHARS GeneratePackageListARM]} {[DQ [VarSub DEBIAN_DEP_LIST_ARM]]} ) (Com {[LIT_CHARS StripChecksumsFromPackageList]} {[DQ [VarSub DEBIAN_DEP_LIST_ARM]]} ) ) ) (FunctionDef UpdatePackageListsMips [] (List (Com {[LIT_CHARS GeneratePackageListMips]} {[DQ [VarSub DEBIAN_DEP_LIST_MIPS]]} ) (Com {[LIT_CHARS StripChecksumsFromPackageList]} {[DQ [VarSub DEBIAN_DEP_LIST_MIPS]]} ) ) ) (FunctionDef UpdatePackageListsAll [] (List (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS UpdatePackageListsAmd64]} ) (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS UpdatePackageListsI386]} ) (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS UpdatePackageListsARM]} ) (Com {[LIT_CHARS RunCommand]} {[LIT_CHARS UpdatePackageListsMips]} ) ) ) (FunctionDef RunCommand [] (List (Com {[LIT_CHARS SetEnvironmentVariables]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS SanityCheck]} ) (Com {[DQ [VarSub @]]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub #]} {[LIT_CHARS -eq]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: you must specify a mode on the commandline"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS Usage]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [ComSub (Com {[LIT_CHARS type]} {[LIT_CHARS -t]} {[VarSub 1]})]]} {[LIT_NEQUAL "!="]} {[DQ [LIT_CHARS function]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: unknown function '"][VarSub 1][LIT_CHARS "'."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "For help, try:"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " "][VarSub 0][LIT_CHARS " help"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (ElseTrue) (List (Com {[LIT_CHARS ChangeDirectory]} ) (If (Pipeline (Com {[LIT_CHARS echo]} {[VarSub 1]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -qs]} {[DQ [LIT_CHARS All][LIT_OTHER "$"]]} ) ) (Com {[DQ [VarSub @]]} ) (ElseTrue) (Com {[LIT_CHARS RunCommand]} {[DQ [VarSub @]]} ) ) ) ) )