(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_OTHER "["]} {[VarSub ?]} {[LIT_CHARS -ne]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (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_OTHER "["]} {[DQ [VarSub TARGET_DIR_TYPE]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS 6969]]} {[LIT_OTHER "]"]}) (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_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub CHROME_OUT_DIR]]} {[LIT_OTHER "]"]}) (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_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub CHROME_SANDBOX_BUILD_PATH]]} {[LIT_OTHER "]"]}) (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_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} {[LIT_OTHER "]"]}) (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_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} {[LIT_OTHER "]"]}) (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_OTHER "["]} {[DQ [VarSub CURRENT_API]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub INSTALLED_API]]} {[LIT_OTHER "]"]}) (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_OTHER "["]} {[DQ [VarSub CHROME_DEVEL_SANDBOX]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub CHROME_SANDBOX_INST_PATH]]} {[LIT_OTHER "]"]}) (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]}]]}) ) ) ) ) )