media/webrtc/trunk/build/update-linux-sandbox.sh

changeset 0
6474c204b198
     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

mercurial