1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/media/webrtc/trunk/build/update-linux-sandbox.sh Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,75 @@ 1.4 +#!/bin/sh 1.5 + 1.6 +# Copyright (c) 2012 The Chromium Authors. All rights reserved. 1.7 +# Use of this source code is governed by a BSD-style license that can be 1.8 +# found in the LICENSE file. 1.9 + 1.10 +BUILDTYPE="${BUILDTYPE:-Debug}" 1.11 +CHROME_SRC_DIR="${CHROME_SRC_DIR:-$(dirname -- $(readlink -fn -- "$0"))/..}" 1.12 +CHROME_OUT_DIR="${CHROME_SRC_DIR}/out/${BUILDTYPE}" 1.13 +CHROME_SANDBOX_BUILD_PATH="${CHROME_OUT_DIR}/chrome_sandbox" 1.14 +CHROME_SANDBOX_INST_PATH="/usr/local/sbin/chrome-devel-sandbox" 1.15 +CHROME_SANDBOX_INST_DIR=$(dirname -- "$CHROME_SANDBOX_INST_PATH") 1.16 + 1.17 +TARGET_DIR_TYPE=$(stat -f -c %t -- "${CHROME_SANDBOX_INST_DIR}" 2>/dev/null) 1.18 +if [ $? -ne 0 ]; then 1.19 + echo "Could not get status of ${CHROME_SANDBOX_INST_DIR}" 1.20 + exit 1 1.21 +fi 1.22 + 1.23 +# Make sure the path is not on NFS. 1.24 +if [ "${TARGET_DIR_TYPE}" = "6969" ]; then 1.25 + echo "Please make sure ${CHROME_SANDBOX_INST_PATH} is not on NFS!" 1.26 + exit 1 1.27 +fi 1.28 + 1.29 +installsandbox() { 1.30 + echo "(using sudo so you may be asked for your password)" 1.31 + sudo -- cp "${CHROME_SANDBOX_BUILD_PATH}" \ 1.32 + "${CHROME_SANDBOX_INST_PATH}" && 1.33 + sudo -- chown root:root "${CHROME_SANDBOX_INST_PATH}" && 1.34 + sudo -- chmod 4755 "${CHROME_SANDBOX_INST_PATH}" 1.35 + return $? 1.36 +} 1.37 + 1.38 +if [ ! -d "${CHROME_OUT_DIR}" ]; then 1.39 + echo -n "${CHROME_OUT_DIR} does not exist. Use \"BUILDTYPE=Release ${0}\" " 1.40 + echo "If you are building in Release mode" 1.41 + exit 1 1.42 +fi 1.43 + 1.44 +if [ ! -f "${CHROME_SANDBOX_BUILD_PATH}" ]; then 1.45 + echo -n "Could not find ${CHROME_SANDBOX_BUILD_PATH}, " 1.46 + echo "please make sure you build the chrome_sandbox target" 1.47 + exit 1 1.48 +fi 1.49 + 1.50 +if [ ! -f "${CHROME_SANDBOX_INST_PATH}" ]; then 1.51 + echo -n "Could not find ${CHROME_SANDBOX_INST_PATH}, " 1.52 + echo "installing it now." 1.53 + installsandbox 1.54 +fi 1.55 + 1.56 +if [ ! -f "${CHROME_SANDBOX_INST_PATH}" ]; then 1.57 + echo "Failed to install ${CHROME_SANDBOX_INST_PATH}" 1.58 + exit 1 1.59 +fi 1.60 + 1.61 +CURRENT_API=$("${CHROME_SANDBOX_BUILD_PATH}" --get-api) 1.62 +INSTALLED_API=$("${CHROME_SANDBOX_INST_PATH}" --get-api) 1.63 + 1.64 +if [ "${CURRENT_API}" != "${INSTALLED_API}" ]; then 1.65 + echo "Your installed setuid sandbox is too old, installing it now." 1.66 + if ! installsandbox; then 1.67 + echo "Failed to install ${CHROME_SANDBOX_INST_PATH}" 1.68 + exit 1 1.69 + fi 1.70 +else 1.71 + echo "Your setuid sandbox is up to date" 1.72 + if [ "${CHROME_DEVEL_SANDBOX}" != "${CHROME_SANDBOX_INST_PATH}" ]; then 1.73 + echo -n "Make sure you have \"export " 1.74 + echo -n "CHROME_DEVEL_SANDBOX=${CHROME_SANDBOX_INST_PATH}\" " 1.75 + echo "somewhere in your .bashrc" 1.76 + echo "This variable is currently: ${CHROME_DEVEL_SANDBOX:-empty}" 1.77 + fi 1.78 +fi