Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / ot-br-posix / repo / script / _sudo_extend
1 #!/bin/bash
2 #
3 #  Copyright (c) 2017, The OpenThread Authors.
4 #  All rights reserved.
5 #
6 #  Redistribution and use in source and binary forms, with or without
7 #  modification, are permitted provided that the following conditions are met:
8 #  1. Redistributions of source code must retain the above copyright
9 #     notice, this list of conditions and the following disclaimer.
10 #  2. Redistributions in binary form must reproduce the above copyright
11 #     notice, this list of conditions and the following disclaimer in the
12 #     documentation and/or other materials provided with the distribution.
13 #  3. Neither the name of the copyright holder nor the
14 #     names of its contributors may be used to endorse or promote products
15 #     derived from this software without specific prior written permission.
16 #
17 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 #  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 #  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 #  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21 #  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 #  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 #  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 #  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 #  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 #  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 #  POSSIBILITY OF SUCH DAMAGE.
28 #
29 #   Description:
30 #       This script is extends the length of the SUDO timeout period to 2 hours
31 #       It exists because some networks are slow, and some platforms are slow
32 #       and during an un-attended build the platform is often waiting for the
33 #       user to enter their sudo password to continue the build process.
34 #
35
36 ETC_SUDOERS=/etc/sudoers
37
38 # Assume we are not to extend the time
39 SUDO_EXTEND_TIME=${SUDO_EXTEND_TIME:-false}
40
41 # measurement is minutes, 120 = 2 hours
42 SUDO_EXTEND_TIME_AMOUNT=120
43
44 extend_sudo_timeout()
45 {
46     local _why
47     _why="Disabled"
48
49     if ${SUDO_EXTEND_TIME}; then
50         # do not repeat!
51         set +e
52         if sudo grep -s '^Defaults\s\s*timestamp_timeout' ${ETC_SUDOERS} >/dev/null; then
53             SUDO_EXTEND_TIME=false
54             _why="Already present"
55         fi
56         set -e
57     fi
58
59     if ${SUDO_EXTEND_TIME}; then
60         echo "Extending sudo timeout..."
61         sudo /bin/sh -c "echo \"Defaults timestamp_timeout=${SUDO_EXTEND_TIME_AMOUNT}\" >> ${ETC_SUDOERS}"
62     else
63         echo "sudo-timeout: Not extending, ${_why}"
64     fi
65 }