(List (= scope= flags=0 words=[] bindings=[('BUILDTYPE', {[DQ [VarSub BUILDTYPE test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS Debug]}]]})]) (= scope= flags=0 words=[] bindings=[('CHROME_SRC_DIR', {[DQ [VarSub CHROME_SRC_DIR test_op=VS_TEST_COLON_HYPHEN {[ComSub (Com {[LIT_CHARS dirname]} {[LIT_CHARS --]} {[ComSub (Com {[LIT_CHARS readlink]} {[LIT_CHARS -fn]} {[LIT_CHARS --]} {[DQ [VarSub 0]]})]})] [LIT_SLASH /] [LIT_CHARS ..]}]]})]) (= scope= flags=0 words=[] bindings=[('CHROME_OUT_DIR', {[DQ [VarSub CHROME_SRC_DIR][LIT_CHARS /][VarSub CHROMIUM_OUT_DIR test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS out]}][LIT_CHARS /][VarSub BUILDTYPE]]})]) (= scope= flags=0 words=[] bindings=[('CHROME_SANDBOX_BUILD_PATH', {[DQ [VarSub CHROME_OUT_DIR][LIT_CHARS /chrome_sandbox]]})]) (= scope= flags=0 words=[] bindings=[('CHROME_SANDBOX_INST_PATH', {[DQ [LIT_CHARS /usr/local/sbin/chrome-devel-sandbox]]})]) (= scope= flags=0 words=[] bindings=[('CHROME_SANDBOX_INST_DIR', {[ComSub (Com {[LIT_CHARS dirname]} {[LIT_CHARS --]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]})]})]) (= scope= flags=0 words=[] bindings=[('TARGET_DIR_TYPE', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS stat]} {[LIT_CHARS -f]} {[LIT_CHARS -c]} {[LIT_OTHER "%"] [LIT_CHARS t]} {[LIT_CHARS --]} {[DQ [VarSub CHROME_SANDBOX_INST_DIR]]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub ?]} {[LIT_CHARS -ne]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Could not get status of "][VarSub CHROME_SANDBOX_INST_DIR]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub TARGET_DIR_TYPE]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS 6969]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Please make sure "][VarSub CHROME_SANDBOX_INST_PATH][LIT_CHARS " is not on NFS!"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (FunctionDef installsandbox [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "(using sudo so you may be asked for your password)"]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS sudo]} {[LIT_CHARS --]} {[LIT_CHARS cp]} {[DQ [VarSub CHROME_SANDBOX_BUILD_PATH]]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS sudo]} {[LIT_CHARS --]} {[LIT_CHARS chown]} {[LIT_CHARS root] [LIT_OTHER ":"] [LIT_CHARS root]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} ) (Com {[LIT_CHARS sudo]} {[LIT_CHARS --]} {[LIT_CHARS chmod]} {[LIT_CHARS 4755]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} ) ) ) (Com {[LIT_CHARS return]} {[VarSub ?]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub CHROME_OUT_DIR]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [VarSub CHROME_OUT_DIR][LIT_CHARS " does not exist. Use "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "BUILDTYPE=Release "][VarSub 0][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "If you are building in Release mode"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub CHROME_SANDBOX_BUILD_PATH]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "Could not find "][VarSub CHROME_SANDBOX_BUILD_PATH][LIT_CHARS ", "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "please make sure you build the chrome_sandbox target"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "Could not find "][VarSub CHROME_SANDBOX_INST_PATH][LIT_CHARS ", "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "installing it now."]]} ) (Com {[LIT_CHARS installsandbox]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Failed to install "][VarSub CHROME_SANDBOX_INST_PATH]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('CURRENT_API', {[ComSub (Com {[DQ [VarSub CHROME_SANDBOX_BUILD_PATH]]} {[LIT_CHARS --get-api]})]})]) (= scope= flags=0 words=[] bindings=[('INSTALLED_API', {[ComSub (Com {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} {[LIT_CHARS --get-api]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub CURRENT_API]]} {[LIT_NEQUAL "!="]} {[DQ [VarSub INSTALLED_API]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Your installed setuid sandbox is too old, installing it now."]]} ) (If (Pipeline! (Com {[LIT_CHARS installsandbox]} ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Failed to install "][VarSub CHROME_SANDBOX_INST_PATH]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Your setuid sandbox is up to date"]]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub CHROME_DEVEL_SANDBOX]]} {[LIT_NEQUAL "!="]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "Make sure you have "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "export "]]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "CHROME_DEVEL_SANDBOX="][VarSub CHROME_SANDBOX_INST_PATH][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "somewhere in your .bashrc"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "This variable is currently: "][VarSub CHROME_DEVEL_SANDBOX test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS empty]}]]} ) ) ) ) ) )