blob: c9b0b355790f953d5482f00a85293abc101dc696 [file] [log] [blame]
Austin Schuhab8c0c52020-02-22 13:42:37 -08001#!/bin/bash
2
3set -euo pipefail
4
5HOSTNAME="$1"
6
7if [[ ! "${HOSTNAME}" =~ ^pi-[0-9]*-[0-9]$ ]]; then
8 echo "Invalid hostname ${HOSTNAME}, needs to be pi-[team#]-[pi#]"
9 exit 1
10fi
11
12TEAM_NUMBER="$(echo ${HOSTNAME} | sed 's/pi-\(.*\)-.*/\1/')"
13PI_NUMBER="$(echo ${HOSTNAME} | sed 's/pi-.*-\(.*\)/\1/')"
14IP_BASE="$(echo ${TEAM_NUMBER} | sed 's/\(.*\)\(..\)/10.\1.\2/')"
15IP="${IP_BASE}.$(( 100 + ${PI_NUMBER}))"
16
17echo "Changing to team number ${TEAM_NUMBER}, IP ${IP}"
18
19sed -i "s/^static ip_address=.*$/static ip_address=${IP}\/24/" /etc/dhcpcd.conf
20
21sed -i "s/\(127\.0\.1\.1\t\).*$/\1${HOSTNAME}/" /etc/hosts
22
23echo "${HOSTNAME}" > /etc/hostname
24
Austin Schuh97ad4472020-02-26 19:54:25 -080025if grep '^10\.[0-9]*\.[0-9]*\.[0-9]*\s*pi-[0-9]*-[0-9] pi[0-9]$' /etc/hosts >/dev/null ;
Austin Schuhab8c0c52020-02-22 13:42:37 -080026then
27 sed -i "s/^10\.[0-9]*\.[0-9]*\(\.[0-9]*\s*pi-\)[0-9]*\(-[0-9] pi[0-9]\)$/${IP_BASE}\1${TEAM_NUMBER}\2/" /etc/hosts
28else
29 for i in {1..6}; do
30 echo -e "${IP_BASE}.$(( i + 100 ))\tpi-${TEAM_NUMBER}-${i} pi${i}" >> /etc/hosts
31 done
32fi
33
34if grep '^10\.[0-9]*\.[0-9]*\.2\s*roborio$' /etc/hosts >/dev/null;
35then
36 sed -i "s/^10\.[0-9]*\.[0-9]*\(\.2\s*roborio\)$/${IP_BASE}\1/" /etc/hosts
37else
38 echo -e "${IP_BASE}.2\troborio" >> /etc/hosts
39fi
40
Austin Schuh41fad8c2021-10-23 21:25:12 -070041if grep '^10\.[0-9]*\.[0-9]*\.13\s*logger$' /etc/hosts >/dev/null;
Austin Schuhd4df9552020-09-13 18:59:50 -070042then
Austin Schuh41fad8c2021-10-23 21:25:12 -070043 sed -i "s/^10\.[0-9]*\.[0-9]*\(\.13\s*logger\)$/${IP_BASE}\1/" /etc/hosts
Austin Schuhd4df9552020-09-13 18:59:50 -070044else
Austin Schuh41fad8c2021-10-23 21:25:12 -070045 echo -e "${IP_BASE}.13\tlogger" >> /etc/hosts
Austin Schuhd4df9552020-09-13 18:59:50 -070046fi