ce93605520a3a8a83e24ccf8f660bdf3e27b3242
[selfix.git] / stage0.sh
1 #!/usr/bin/env bash
2 set -euo pipefail
3
4 # Copyright (C) 2017 Jason Self <j@jxself.org>
5 #
6 # You can redistribute and/or modify this file under the terms of the
7 # GNU Affero General Public License as published by the Free Software
8 # Foundation, either version 3 of the License, or (at your option)
9 # any later version.
10 #
11 # This file is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # Affero General Public License for more details.
15 #
16 # You should have received a copy of the GNU Affero General Public
17 # License along with this file. If not, see
18 # <http://www.gnu.org/licenses/>.
19
20 check_if_root () {
21     if [[ $EUID -ne 0 ]]; then
22         echo "This script must be run as root." 1>&2
23         exit 1
24     fi
25 }
26
27 make_bin_sh_point_to_bash () {
28     # This checks if /bin/sh is a symlink so as to avoid replacing
29     # it in cases where it's not a symlink (i.e., an executable.)
30     if [ -h /bin/sh ]; then
31         ln -sf bash /bin/sh
32     else
33         echo "/bin/sh is not a symlink"
34         exit 1
35     fi
36 }
37
38 check_if_root
39 make_bin_sh_point_to_bash