[M120 Migration][VD] Enable direct rendering for TVPlus
[platform/framework/web/chromium-efl.git] / build / update-linux-sandbox.sh
1 #!/bin/sh
2
3 # Copyright 2012 The Chromium Authors
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 BUILDTYPE="${BUILDTYPE:-Debug}"
8 CHROME_SRC_DIR="${CHROME_SRC_DIR:-$(dirname -- $(readlink -fn -- "$0"))/..}"
9 CHROME_OUT_DIR="${CHROME_SRC_DIR}/${CHROMIUM_OUT_DIR:-out}/${BUILDTYPE}"
10 CHROME_SANDBOX_BUILD_PATH="${CHROME_OUT_DIR}/chrome_sandbox"
11 CHROME_SANDBOX_INST_PATH="/usr/local/sbin/chrome-devel-sandbox"
12 CHROME_SANDBOX_INST_DIR=$(dirname -- "$CHROME_SANDBOX_INST_PATH")
13
14 TARGET_DIR_TYPE=$(stat -f -c %t -- "${CHROME_SANDBOX_INST_DIR}" 2>/dev/null)
15 if [ $? -ne 0 ]; then
16   echo "Could not get status of ${CHROME_SANDBOX_INST_DIR}"
17   exit 1
18 fi
19
20 # Make sure the path is not on NFS.
21 if [ "${TARGET_DIR_TYPE}" = "6969" ]; then
22   echo "Please make sure ${CHROME_SANDBOX_INST_PATH} is not on NFS!"
23   exit 1
24 fi
25
26 installsandbox() {
27   echo "(using sudo so you may be asked for your password)"
28   sudo -- cp "${CHROME_SANDBOX_BUILD_PATH}" \
29     "${CHROME_SANDBOX_INST_PATH}" &&
30   sudo -- chown root:root "${CHROME_SANDBOX_INST_PATH}" &&
31   sudo -- chmod 4755 "${CHROME_SANDBOX_INST_PATH}"
32   return $?
33 }
34
35 if [ ! -d "${CHROME_OUT_DIR}" ]; then
36   echo -n "${CHROME_OUT_DIR} does not exist. Use \"BUILDTYPE=Release ${0}\" "
37   echo "If you are building in Release mode"
38   exit 1
39 fi
40
41 if [ ! -f "${CHROME_SANDBOX_BUILD_PATH}" ]; then
42   echo "Could not find ${CHROME_SANDBOX_BUILD_PATH}"
43   echo -n "BUILDTYPE is $BUILDTYPE, use \"BUILDTYPE=<value> ${0}\" to override "
44   echo "after you build the chrome_sandbox target"
45   exit 1
46 fi
47
48 if readelf -d "${CHROME_SANDBOX_BUILD_PATH}" | \
49   grep "(RPATH)" > /dev/null 2>&1; then
50   echo "Build requires is_component_build=false in ${CHROME_OUT_DIR}/args.gn."
51   exit 1
52 fi
53
54 if [ ! -f "${CHROME_SANDBOX_INST_PATH}" ]; then
55   echo -n "Could not find ${CHROME_SANDBOX_INST_PATH}, "
56   echo "installing it now."
57   installsandbox
58 fi
59
60 if [ ! -f "${CHROME_SANDBOX_INST_PATH}" ]; then
61   echo "Failed to install ${CHROME_SANDBOX_INST_PATH}"
62   exit 1
63 fi
64
65 CURRENT_API=$("${CHROME_SANDBOX_BUILD_PATH}" --get-api)
66 INSTALLED_API=$("${CHROME_SANDBOX_INST_PATH}" --get-api)
67
68 if [ "${CURRENT_API}" != "${INSTALLED_API}" ]; then
69   echo "Your installed setuid sandbox is too old, installing it now."
70   if ! installsandbox; then
71     echo "Failed to install ${CHROME_SANDBOX_INST_PATH}"
72     exit 1
73   fi
74 else
75   echo "Your setuid sandbox is up to date"
76   if [ "${CHROME_DEVEL_SANDBOX}" != "${CHROME_SANDBOX_INST_PATH}" ]; then
77     echo -n "Make sure you have \"export "
78     echo -n "CHROME_DEVEL_SANDBOX=${CHROME_SANDBOX_INST_PATH}\" "
79     echo "somewhere in your .bashrc"
80     echo "This variable is currently: ${CHROME_DEVEL_SANDBOX:-empty}"
81   fi
82 fi