From 4e979e5e8361a1459fc3f915927b54a3ef81ff6d Mon Sep 17 00:00:00 2001 From: devfix Date: Tue, 18 Jun 2019 10:21:54 +0200 Subject: [PATCH] install script --- .gitignore | 2 ++ install | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100755 install diff --git a/.gitignore b/.gitignore index 2a125ca..0fbc495 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,5 @@ gnuplotscript.gp *.out *.app *.hex +control/bin/b15fcli + diff --git a/install b/install new file mode 100755 index 0000000..92a20e3 --- /dev/null +++ b/install @@ -0,0 +1,101 @@ +#!/bin/bash + +# Konstanten +path="/home/core/b15f/" +user="core" +repo="https://github.com/devfix/b15f.git" +log="/tmp/b15f-install.log" +dependencies="git avr-libc avrdude libncurses5-dev g++ astyle" + +function hr1 +{ + printf '━%.0s' $(seq $(tput cols)) + echo "" +} + +function hr2 +{ + printf '\e(0'; printf 'q%.0s' $(seq $(tput cols)); printf '\e(B\n'; +} + +function title +{ + echo "" + echo -e "*** $1 ***" >> "$log" + hr1 + echo " $1" + hr1 +} + +function msg +{ + echo "" + echo -e "* $1 *" >> "$log" + hr2 + echo " $1" + hr2 +} + +function out +{ + echo -e " $1" | tee -a "$log" +} + + + +exec 2>&1 | tee -a "$log" + +if [ "$EUID" -ne 0 ]; then + out "Bitte als root oder mit sudo starten!" + exit 1 +fi + +title "Installation B15F" + +if [ -d "$path" ]; then + msg "Entferne alte Version" + + cd "$path/control/src" + make clean + cd "/" + rm -rf "$path" +fi + +# Abbruch bei Fehlern +set -e + +msg "Installiere Abhängigkeiten" + +out "Aktualisiere apt..." +apt-get update > /dev/null + +out "Installiere Packete (wenn nötig)..." +apt-get install -y $dependencies > /dev/null + +msg "Lade Projekt-Daten" + +out "Klone Repository..." +su $user -c "git clone -q \"$repo\" \"$path\"" + +msg "Wichtiger Hinweis" +out "Bitte stellen Sie jetzt sicher, dass in der Datei \"$path/firmware/Makefile\" die Option \"MCU = ...\" für den richtigen Mikrocontroller eingestellt ist." + +echo "" +out "Drücken Sie [Enter] zum fortfahren." +read + +msg "Kompiliere Firmware" + +cd "$path/firmware" +su $user -c "make" | tee -a "$log" + +msg "Lade Firmware auf Mikrocontroller" +#make upload | tee -a "$log" + +msg "Kompiliere Steuersoftware" + +cd "$path/control/src" +su $user -c "make" | tee -a "$log" + +msg "Installiere Steuersoftware" +make install