Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / ot-br-posix / repo / script / server
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 starts all border router services.
31 #
32
33 # shellcheck source=script/_initrc
34 . "$(dirname "$0")"/_initrc
35 . script/_nat64
36 . script/_dns64
37
38 main()
39 {
40     . "$BEFORE_HOOK"
41     sudo sysctl --system
42     nat64_start || die 'Failed to start NAT64!'
43     dns64_start || die 'Failed to start DNS64!'
44     if have systemctl; then
45         systemctl is-active rsyslog || sudo systemctl start rsyslog || die 'Failed to start rsyslog!'
46         systemctl is-active dbus || sudo systemctl start dbus || die 'Failed to start dbus!'
47         systemctl is-active avahi-daemon || sudo systemctl start avahi-daemon || die 'Failed to start avahi!'
48         systemctl is-active otbr-web || sudo systemctl start otbr-web || die 'Failed to start otbr-web!'
49         systemctl is-active otbr-agent || sudo systemctl start otbr-agent || die 'Failed to start otbr-agent!'
50     elif have service; then
51         sudo service rsyslog status || sudo service rsyslog start || die 'Failed to start rsyslog!'
52         sudo service dbus status || sudo service dbus start || die 'Failed to start dbus!'
53         # Tolerate the mdns failure as it is installed for only CI docker.
54         sudo service mdns status || sudo service mdns start || echo "service mdns is not available!"
55         sudo service avahi-daemon status || sudo service avahi-daemon start || die 'Failed to start avahi!'
56         sudo service otbr-agent status || sudo service otbr-agent start || die 'Failed to start otbr-agent!'
57         sudo service otbr-web status || sudo service otbr-web start || die 'Failed to start otbr-web!'
58     else
59         die 'Unable to find service manager. Try script/console to start in console mode!'
60     fi
61     . "$AFTER_HOOK"
62 }
63
64 main