diff --git a/CAU_Installer b/CAU_Installer index 71b36b8..c75f248 100755 --- a/CAU_Installer +++ b/CAU_Installer @@ -1,19 +1,43 @@ #!/bin/bash +# Calibre Auto Updater Installscript +# Copyright (C) 2013-2014 Leon Gaultier +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see + # Programmversion PROGNAME=`basename $0` -VERSION="0.13" -QUIET=0 +VERSION="0.13.98" -func_term_output () { +##### Variablen deklaration ##### +# Downloadseite der Linuxinstallation +DOWNLOAD_URL=https://github.com/kovidgoyal/calibre/raw/master/setup/linux-installer.py + +################################# + + + +func_term_output () { # einheitliche Terminalausgabe ## Beginne mit der Ausgbe ## tty -s && clear - echo -e "\033[44m \033[0m\033[1m $PROGNAME the Calibre-Autoupdate-Installer Version $VERSION\033[0m\n\033[44m \033[0m 2013-2014 by Leon Gaultier\n"; + echo -e "\033[44m \033[0m\033[1m $PROGNAME the Calibre-Autoupdate-Installer Version $VERSION\033[0m\n\033[44m \033[0m 2013-2014 by Leon Gaultier\n\e[m"; return 0 } func_usage () # Gibt Auskunft über Verwendung des Scriptes { + func_term_output echo "Verwendung: $PROGNAME [OPTION...]" echo -e "Verwende $PROGNAME --help oder $PROGNAME -h für mehr Informationen.\n" } @@ -25,17 +49,17 @@ func_help () # Listet alle Optionsschalter auf echo "$PROGNAME -- Der Calibre-Autoupdate-Installer (CAUI)" echo "" echo "Options:" - echo " -q, --quiet ohne Konsolenausgabe" - echo " -h, --help zeigt die Hilfe an" - echo " -V, --version gibt die Programmversion aus" - echo " -i, --install installiert den Calibre-Autoupdater (CAU)" - #echo " -u, --uninstall deinstalliert den Calibre-Autoupdater (CAU), soll kommen " + echo " -h, --help zeigt die Hilfe an" + echo " -V, --version gibt die Programmversion aus" + echo " -i, --install installiert den Calibre-Autoupdater (CAU)" + echo " --install_calibre installiert Calibre in der aktuellsten Version" echo "" echo -e "Sende Fehler an .\n"; } func_version () # Versionsauskunft des Installers { + func_term_output echo "$PROGNAME: Der Calibre-Autoupdate-Installer (CAUI) v$VERSION" echo "Leon Gaultier 2013-2014. Das Programm darf verteilt werden," echo "in der Hoffnung das es hilfreich ist, aber OHNR IRGENDEINE GARANTIE" @@ -54,8 +78,7 @@ read -p "Wo befindet sich die Calibre Installation? [default /opt] " CALIBRE_INS if [ -z $CALIBRE_INSTALL_LOCATION ]; then CALIBRE_INSTALL_LOCATION=/opt fi - -# Installationsfade in der Verzeichnishierarchie +# Verzeichnishierarchie im Installationsort INC=$UPDATER_INSTALL_LOCATION/include/ ETC=$UPDATER_INSTALL_LOCATION/etc/ BIN=$UPDATER_INSTALL_LOCATION/bin/ @@ -64,8 +87,27 @@ BIN=$UPDATER_INSTALL_LOCATION/bin/ func_check_dir() # Install oder Update Calibre Updater, Check ob Calibre überhaupt installiert ist { if test ! -d $CALIBRE_INSTALL_LOCATION/calibre ; then - echo -e "\n\033[31mKeine Calibre Installation unter $CALIBRE_INSTALL_LOCATION gefunden. Installation des Updaters nicht möglich.\e[m\n"; >&2 - exit 1 + echo -e "\n\033[31mKeine Calibre Installation unter $CALIBRE_INSTALL_LOCATION gefunden.\033[1;34m" + while ((!gueltig)); do # beginn der Ja/Nein Abfrage + echo -e "\033[1;34m" + read -sn1 -t 30 -p "Möchtest Du Calibre jetzt installieren? [j/n] " answer + echo -e "\e[m" + case "$answer" in + [JjYy]) result=1; gueltig=1 ;; + [Nn]) result=0; gueltig=1 ;; + "") result=0; gueltig=1 ;; + *) gueltig=0 ;; + esac + done + echo + if (( ! result )); then + echo -e "\n\033[1;31mDie installation des Calibre-Autoupdaters wurde durch Dich abgebrochen.\e[m\n" + exit 1 + fi + echo -e "\033[1;34mNach der Calibre Installation wird die Installation des Calibre Autoupdaters durchgeführt\e[m" + sleep 3 + func_install_calibre + exit 0 fi if test -f $BIN/calibre-autoupdate ; then # Updater bereits installiert? @@ -82,7 +124,7 @@ func_check_dir() # Install oder Update Calibre Updater, Check ob Calibre überh done echo if (( ! result )); then - echo -e "\n\033[1;31mDie installation des Calibre-Autoupdaters wurde durch Dich beendet.\e[m\n" + echo -e "\n\033[1;31mDie installation des Calibre-Autoupdaters wurde durch Dich abgebrochen.\e[m\n" exit 1 fi fi @@ -92,7 +134,7 @@ func_progressbar() { echo -e -n $'\033[34m------------------------------------------------------------------------- 100%\r' echo -e -n "\033[32m0% " - for ((i=0; i<61; i++)); do + for ((i=0; i<61; i++)); do echo -e -n "\033[32m=" case $i in 15) @@ -109,21 +151,14 @@ func_progressbar() echo -e "\e[m" } -func_install() # Installiert den Calibre Updater +func_install_noroot() { -func_term_output -func_change_install_dir -func_check_dir - -# Ersetzen der Platzhaltervatiablen für die Installationsverzeichnisvariablen - - if [ -w "$BIN" ]; then +# Die sed Befehle ersetzen in den Programmdateien Platzhalter für den Installationsort. +# Grund hierfür sind die includes der Header unf Configfiles die den kompletten Fad benörigen echo -e "\n\033[1;34mDer Calibre-Autoupdater wird nun unter $UPDATER_INSTALL_LOCATION installiert...\e[m"; - echo -e "\n\033[1;32mProgrammdatei wird nach $BIN kopiert\e[m" + echo -e "\033[1;32mProgrammdatei wird nach $BIN kopiert\e[m" cp calibre-autoupdate $BIN - sed -i "s/_-INC-_/${INC//\//\/}/g" $BIN"calibre-autoupdate" - sed -i "s/_-ETC-_/${ETC//\//\/}/g" $BIN"calibre-autoupdate" - sed -i "s/_-BIN-_/${BIN//\//\/}/g" $BIN"calibre-autoupdate" + sed -i "s/_-ETC-_/${ETC//\//\/}/g" $BIN"calibre-autoupdate" sed -i "s/_-VERSION-_/${VERSION//\//\/}/g" $BIN"calibre-autoupdate" chmod 755 $BIN/calibre-autoupdate func_progressbar @@ -133,17 +168,21 @@ func_check_dir func_progressbar echo -e "\n\033[1;32mDie Konfigurationsdatei wird nach $ETC kopiert\e[m" cp calibre-autoupdate.conf $ETC + sed -i "s/_-INC-_/${INC//\//\/}/g" $ETC"calibre-autoupdate.conf" + sed -i "s/_-BIN-_/${BIN//\//\/}/g" $ETC"calibre-autoupdate.conf" sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/${CALIBRE_INSTALL_LOCATION//\//\/}/g" $ETC"calibre-autoupdate.conf" chmod 644 $ETC/calibre-autoupdate.conf func_progressbar - - else +} + +func_install_root() +{ +# Die sed Befehle ersetzen in den Programmdateien Platzhalter für den Installationsort. +# Grund hierfür sind die includes der Header unf Configfiles die den kompletten Fad benörigen echo -e "\n\033[1;34mDu hast kein Schreibrecht auf $UPDATER_INSTALL_LOCATION, daher wird SUDO versucht zu verwenden...\e[m"; - sudo echo -e "\n\033[1;36mProgrammdatei wird nach $BIN kopiert\e[m\e[m" - sudo cp calibre-autoupdate $BIN - sudo sed -i "s/_-INC-_/${INC//\//\/}/g" $BIN"calibre-autoupdate" + sudo echo -e "\033[1;36mProgrammdatei wird nach $BIN kopiert\e[m\e[m" + sudo cp calibre-autoupdate $BIN sudo sed -i "s/_-ETC-_/${ETC//\//\/}/g" $BIN"calibre-autoupdate" - sudo sed -i "s/_-BIN-_/${BIN//\//\/}/g" $BIN"calibre-autoupdate" sudo sed -i "s/_-VERSION-_/${VERSION//\//\/}/g" $BIN"calibre-autoupdate" sudo chmod 755 $BIN"calibre-autoupdate" func_progressbar @@ -153,18 +192,47 @@ func_check_dir func_progressbar echo -e "\n\033[1;36mDie Konfigurationsdatei wird nach $ETC kopiert\e[m" sudo cp calibre-autoupdate.conf $ETC + sudo sed -i "s/_-INC-_/${INC//\//\/}/g" $ETC"calibre-autoupdate.conf" + sudo sed -i "s/_-BIN-_/${BIN//\//\/}/g" $ETC"calibre-autoupdate.conf" sudo sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/${CALIBRE_INSTALL_LOCATION//\//\/}/g" $ETC"calibre-autoupdate.conf" sudo chmod 644 $ETC"calibre-autoupdate.conf"; func_progressbar +} + +func_install_process() # Installiert den Calibre Updater +{ +func_term_output +func_change_install_dir +func_check_dir + + if [ -w "$BIN" ]; then + func_install_noroot + else + func_install_root fi - echo -e "\n\n\n\033[1;36mDer Calibre-Autoupdater wurde erfolgreich installiert und" + echo -e "\n\n\033[1;36mDer Calibre-Autoupdater wurde erfolgreich installiert und" echo -e "kann nun mit calibre-update oder $BIN"calibre-update" aufgerufen werden\e[m\n" } -func_uninstall() +func_install_calibre() { -echo -# ist geplant + if [ ! $CALIBRE_INSTALL_LOCATION ]; then + func_term_output + read -p "Wohin soll Calibre installiert werden? [default /opt] " CALIBRE_INSTALL_LOCATION + fi + if [ -z $CALIBRE_INSTALL_LOCATION ]; then + CALIBRE_INSTALL_LOCATION=/opt + fi + if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then + echo -e "\033[1;32mCalibre wird nun installiert...\n\e[m" + wget -nv -O- $DOWNLOAD_URL | python -c "import sys; main=lambda x:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main('$CALIBRE_INSTALL_LOCATION')" + else + echo -e "\033[1;34mDu hast kein Schreibrecht auf $CALIBRE_INSTALL_LOCATION. Calibre wird mit SUDO installiert. Bitte gib hierzu Dein Userpasswort ein...\n\033[1;32m" + sudo -v && wget -nv -O- $DOWNLOAD_URL | sudo python -c "import sys; main=lambda x:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main('$CALIBRE_INSTALL_LOCATION')" + fi + echo -e "\n\n\033[1;36mHerzlichen Glückwunsch. Calibre wurde installiert und kann nun mit "calibre" verwendet werden.\n\033[0m" + sleep 5 + func_install_process } while test "$#" -gt 0 @@ -178,19 +246,18 @@ do esac case "$arg" in - --quiet | -q ) - QUIET=1 ;; --help | -h ) func_help; exit 0 ;; --version | -V | -v ) func_version; exit 0 ;; - --install | -i ) - func_install; exit 0 ;; - --uninstall | -u ) - func_uninstall; exit 0;; + --install | -i | -I ) + func_install_process; exit 0 ;; + --install_calibre ) + func_install_calibre; exit 0 esac done func_term_output func_usage -exit 0 +echo -e "\e[m" +exit 0 \ No newline at end of file diff --git a/calibre-autoupdate b/calibre-autoupdate index e8ada84..da494eb 100644 --- a/calibre-autoupdate +++ b/calibre-autoupdate @@ -61,22 +61,31 @@ # Es wurden diverse Ausgabentexte sprachlich verbessert und Fehler beseitigt. # !!! Das ist die erste Version welche eine reibungslose Installation und einen reibungslosen # betrieb unter allen Linuxvarianten ermöglicht !!! -# TODO auslesen der Download URL von der Download Seite -# kontrolle ob alle benötigten programme für das skript vorhanden sind +# +# v0.13 Es wurden diverse Fehler bei eigentlichen Updateprozess bereinigt. Desweiteren wurden größere +# in kleine geteilt. +# +# v0.14 Uninstallfunktion für Calibre hinzugefügt. Hiermit kann Calibre von der Festplatte deinstalliert werden. +# Bei einer nicht vorhandenen Calibreinstallation wird vom Installsript des Updaters gefragt, ob Calibre +# installiert werden soll. +# Die Funktion Installation des Updaters wurde aufgeteilt in root_install und noroot_install +# Uninstall Funktion für den calibre-autoupdater mit gleichzeitiger nachfrage und eventueller +# deinstallation vom Calibre Programm +# +# TODO Auslesen der Download URL von der Download Seite +# kontrolle ob alle benötigten programme für das skript vorhanden sind # # ###################################### ###################################### # Installationsfade in der Verzeichnishierarchie -INC=_-INC-_ ETC=_-ETC-_ -BIN=_-BIN-_ + # Programmversion PROGNAME=`basename $0` VERSION="_-VERSION-_" -QUIET=0 ################################# ######### CONFIGURATION ######### @@ -84,7 +93,8 @@ QUIET=0 # bis Veränderungen auf der Internetseite durchgeführt wurden ################################# -# Einlesen des Configfiles mit den Constanten für die Calibre Downloadseite und Hauptseite +# Einlesen des Configfiles mit den Variablen für die Calibre Downloadseite, Hauptseite +# und den Installationsfaden in der Verzeichnishierarchie source $ETC/calibre-autoupdate.conf @@ -96,13 +106,6 @@ source $INC/calibre-autoupdate_checks.h -func_term_output () { - ## Beginne mit der Ausgbe ## - tty -s && clear - echo -e "\033[44m \033[0m\033[1m $PROGNAME Version $VERSION\033[0m\n\033[44m \033[0m 2013-2014 by Leon Gaultier\n"; - return 0 -} - ####################################################### ####################################################### @@ -114,17 +117,17 @@ NOTIFY="echo" [ -n "$DISPLAY" ] && NOTIFY="notify-send -t 10000 -i /usr/share/icons/hicolor/256x256/apps/calibre-gui.png Calibre-Auto-Updater" -func_term_output # Funktion für Konsolenausgabe +func_term_output # ruft die Funktion für Konsolenausgabe auf +func_check_stat # ruft die Funktion "check Status Netzwerk und Downloadadressen" auf -func_http_status_code # Funktion hole einen http-status code - -func_check_stat # Funktion check Status Netzwerk und Downloadadressen - -case $? in +case "$?" in 1) func_check_version + CHECK_STATE_RESULT="$1" +echo $CHECK_STATE_RESULT +sleep 1000 func_vercomp $CURRENT_VERSION $LATEST_VERSION # Funktion Versionvergleich - case $? in + case $CHECK_STATE_RESULT in 0) $NOTIFY "Deine Calibre Version ist auf dem aktuellsten Stand ($CURRENT_VERSION).";; 1) @@ -136,11 +139,11 @@ case $? in if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then $NOTIFY "Das Update wird nun installiert..." - echo -e "\033[1;34m" + echo -e "\033[34m" wget -nv -O- $DOWNLOAD_URL | python -c "import sys; main=lambda x:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main('$CALIBRE_INSTALL_LOCATION')" else $NOTIFY "Du hast kein Schreibrecht auf $CALIBRE_INSTALL_LOCATION. Das Update wird mit SUDO installiert. Bitte gib hierzu Dein Userpasswort im Terminalfenster ein..." - echo -e "\033[1;34m" + echo -e "\033[34m" sudo -v && wget -nv -O- $DOWNLOAD_URL | sudo python -c "import sys; main=lambda x:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main('$CALIBRE_INSTALL_LOCATION')" fi $NOTIFY "Calibre wurde auf die neuste Version aktuallisiert." @@ -158,6 +161,7 @@ case $? in $NOTIFY "Update und Versionsvergleich fehlgeschlagen!!! Kann kein Netzwerkinterface finden!" ;; esac +echo -e "\e[m" } while test "$#" -gt 0 @@ -171,18 +175,20 @@ do esac case "$arg" in - --quiet | -q ) - QUIET=1 ;; --help | -h ) func_help; exit 0 ;; --version | -V | -v ) func_version; exit 0 ;; --check | -C | -c ) func_check_prog; exit 0 ;; + --uninstall | -U | -u ) + func_uninstall; exit 0;; + --uninstall_calibre ) + func_uninstall_calibre; exit 0 ;; esac done func_check_prog func_update - -exit 0 +echo -e "\e[m" +exit 0 \ No newline at end of file diff --git a/calibre-autoupdate.conf b/calibre-autoupdate.conf index 9648257..7a27e1a 100644 --- a/calibre-autoupdate.conf +++ b/calibre-autoupdate.conf @@ -19,3 +19,7 @@ CURL=/usr/bin/curl NOTIFY=/usr/bin/notify-send AWK=/usr/bin/awk +# Installationsfade in der Verzeichnishierarchie +INC=_-INC-_ +BIN=_-BIN-_ + diff --git a/calibre-autoupdate.h b/calibre-autoupdate.h index f1b9c28..b0168d2 100644 --- a/calibre-autoupdate.h +++ b/calibre-autoupdate.h @@ -15,16 +15,19 @@ func_help () echo "$PROGNAME -- Der Calibre! Linux Edition calibre-autoupdater (CAU)" echo "" echo "Options:" - echo " -q, --quiet ohne Konsolenausgabe" - echo " -h, --help zeigt die Hilfe an" - echo " -V, --version gibt die Programmversion aus" - echo " -c, --check kontrolliert ob benötigte Programme vorhanden sind" + echo " -q, --quiet ohne Konsolenausgabe" + echo " -h, --help zeigt die Hilfe an" + echo " -V, --version gibt die Programmversion aus" + echo " -c, --check kontrolliert ob benötigte Programme vorhanden sind" + echo " -u, --uninstall deinstalliert den Calibre-Autoupdater" + echo " --uninstall_calibre deinstalliert das Calibre Programm" echo "" echo -e "Sende Fehler an .\n"; } func_version () { + func_term_output echo "$PROGNAME: Der Calibre! autoupdater v$VERSION" echo "Leon Gaultier 2013-2014. Das Programm darf verteilt werden," echo "in der Hoffnung das es hilfreich ist, aber OHNR IRGENDEINE GARANTIE" @@ -62,6 +65,13 @@ func_vercomp () { # Funktion zum Versionsvergleich return 0 } +func_term_output () { + ## Beginne mit der Ausgbe ## + tty -s && clear + echo -e "\033[44m \033[0m\033[1m $PROGNAME Version $VERSION\033[0m\n\033[44m \033[0m 2013-2014 by Leon Gaultier\n\e[m"; + return 0 +} + func_progressbar() { echo -e -n $'\033[34m------------------------------------------------------------------------- 100%\r' @@ -81,4 +91,69 @@ func_progressbar() sleep 0.03 done echo -e "\e[m" + return 0 +} +func_uninstall() +{ + func_term_output + while ((!gueltig)); do # beginn der Ja/Nein Abfrage + echo -e "\033[1;34m" + read -sn1 -t 30 -p "Möchtest Du den Calibre-Autoupdater wirklich DeInstallieren? [j/n] " answer + echo -e "\e[m" + case "$answer" in + [JjYy]) result=1; gueltig=1 ;; + [Nn]) result=0; gueltig=1 ;; + "") result=0; gueltig=1 ;; + *) gueltig=0 ;; + esac + done + echo + if (( ! result )); then + echo -e "\033[1;31mDie DeInstallation des Calibre-Autoupdaters wurde durch Dich abgebrochen.\e[m\n" + exit 1 + fi + echo -e "\033[1;31mDer Calibre-Autoupdater wird nun deinstalliert.\e[m" + if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then + rm -rf $INC"calibre-autoupdate.h" $INC"calibre-autoupdate_checks.h"; >&2 + rm -rf $ETC"calibre-autoupdate.conf"; >&2 + rm -rf $BIN"calibre-autoupdate"; >&2 + else + sudo rm -rf $INC"calibre-autoupdate.h" $INC"calibre-autoupdate_checks.h"; >&2 + sudo rm -rf $ETC"calibre-autoupdate.conf"; >&2 + sudo rm -rf $BIN"calibre-autoupdate"; >&2 + fi + func_progressbar + echo -e "\n\033[1;32mDer Calibre-Autoupdater wurde deinstalliert. Schade das Du ihn nicht weiter verwendest\n\e[m" +} +func_uninstall_calibre() +{ + func_term_output + if test ! -d $CALIBRE_INSTALL_LOCATION/calibre ; then + echo -e "\033[1;31mEs konnte keine Calibre Installation gefunden werden. Die DeInstallation wurde abgebrochen\e[m\n" + exit 1 + fi + while ((!gueltig)); do # beginn der Ja/Nein Abfrage + echo -e "\033[1;34mMöchtest Du Calibre wirklich DeInstallieren? Calibre kann dann nicht mehr verwendet werden!" + read -sn1 -t 30 -p "Deine Bücher und die Calibre Bibliothek bleiben erhalten. [j/n] " answer + echo -e "\e[m" + case "$answer" in + [JjYy]) result=1; gueltig=1 ;; + [Nn]) result=0; gueltig=1 ;; + "") result=0; gueltig=1 ;; + *) gueltig=0 ;; + esac + done + echo + if (( ! result )); then + echo -e "\n\033[1;31mDie DeInstallation von Calibre wurde durch Dich abgebrochen.\e[m\n" + exit 1 + fi + echo -e "\033[1;34mCalibre wird nun deinstalliert.\e[m" + if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then + calibre-uninstall + else + sudo calibre-uninstall + fi + echo -e "\n\n\033[1;32mCalibre würde DeInstalliert! Schade es ist ein tolles Programm zur eBookverwaltung :-)\e[m" + return 0 } \ No newline at end of file diff --git a/calibre-autoupdate_checks.h b/calibre-autoupdate_checks.h index 15220e2..c53bd07 100644 --- a/calibre-autoupdate_checks.h +++ b/calibre-autoupdate_checks.h @@ -3,21 +3,21 @@ # func_http_status_code () { - echo -e "\033[1;34m Hole Status Code von $CHECK_CALIBRE_DOWNLOAD_PAGE. Bitte warten."; + echo -e "\033[1;34m Hole Status Code von $CHECK_CALIBRE_DOWNLOAD_PAGE. Bitte warten.\e[m" stat_1=$(curl -o /dev/null --silent --head --write-out '%{http_code}' $CHECK_CALIBRE_DOWNLOAD_PAGE) func_progressbar - echo -e "\033[32m Status Codes von $CHECK_CALIBRE_DOWNLOAD_PAGE erhalten"; - echo -e "\n\033[1;34m Hole Status Code von $CHECK_DOWNLOAD_URL. Bitte warten."; + echo -e "\033[32m Status Codes von $CHECK_CALIBRE_DOWNLOAD_PAGE erhalten\e[m" + echo -e "\n\033[1;34m Hole Status Code von $CHECK_DOWNLOAD_URL. Bitte warten.\e[m" stat_2=$(curl -o /dev/null --silent --head --write-out '%{http_code}' $CHECK_DOWNLOAD_URL) func_progressbar - echo -e "\033[32m Status Codes von $CHECK_DOWNLOAD_URL erhalten"; + echo -e "\033[32m Status Codes von $CHECK_DOWNLOAD_URL erhalten\e[m" return 0 } func_check_stat () { # Funktion zum Check Verfügbarkeit der Downloadseiten und der Internetverbindung # Test for network conection -echo -e "\n\033[1;34m Ich schau dann mal ob Dein Computer überhaupt ein Netzwerk hat :-)"; -for INTERFACE in $(ls /sys/class/net/ | grep -v lo); +echo -e "\n\033[1;34m Suche nach vorhandenen Netzwerk für die Verbindung zum Internet :-)\e[m" +for INTERFACE in $(ls /sys/class/net/ | grep -v lo) do if [[ $(cat /sys/class/net/$INTERFACE/carrier) = 1 ]]; then ONLINE=1 @@ -25,8 +25,8 @@ do done func_progressbar if [ $ONLINE ]; then - echo -e "\n\033[32m Oh Wunder! Habe ein Netzwerk gefunden. Verbinde über Interface $INTERFACE, - was nicht heißt das es geht :-P\n"; + echo -e "\033[32m Es wurde ein Netzwerkinterface gefunden. Verbinde über Interface $INTERFACE\n\e[m" + func_http_status_code if [[ $stat_1 -eq 200 && $stat_2 -eq 200 ]]; then return 1 elif [[ $stat_1 -eq !200 ]]; then @@ -35,7 +35,7 @@ if [ $ONLINE ]; then return 3 fi else - echo -e "\n\033[31m Fehler!!! Bitte schau Dir die Desktop Benachrichtigung an!"; + echo -e "\n\033[31m Fehler!!! Bitte schau Dir die Desktop Benachrichtigung an!\e[m" return 4 fi } @@ -43,14 +43,14 @@ fi func_check_run_calibre () { CALIBRE_PID=`ps ax | grep /opt/calibre/bin/calibre | grep -v grep | awk '{printf $1}'` - while [ $CALIBRE_PID ]; + while [ $CALIBRE_PID ] do $NOTIFY "Um das Update installieren zu können, muss Calibre beendet werden. Calibre wird in einer Minute vom Update Service beendet. !!!Bitte speichere alle wichtigen Daten!!!" sleep 3 echo "" - for (( i=60; i>0; i-- )); + for (( i=60; i>0; i-- )) do - echo -e -n "\033[31m noch \033[32m>>$i<< \033[31m Sekunden bis zum Calibre Programmende\r" + echo -e -n "\033[31m noch \033[32m>>$i<< \033[31m Sekunden bis zum Calibre Programmende\r\e[m" sleep 1 done kill -15 $CALIBRE_PID @@ -71,21 +71,21 @@ func_check_version () { func_check_prog () { func_term_output if test ! -f $CURL ; then - echo -e "\033[31mDu hast Curl nich installiert, es wird aber für die Updatefunktion benötigt\n"; >&2 + $NOTIFY "Du hast Curl nich installiert, es wird aber für die Updatefunktion benötigt" exit 1 fi if test ! -f $AWK ; then - echo -e "\033[31mDu hast AWK nich installiert, es wird aber für die Updatefunktion benötigt\n"; >&2 + $NOTIFY "Du hast AWK nich installiert, es wird aber für die Updatefunktion benötigt" exit 1 if test ! -f $NOTIFY ; then - echo -e "\e[0;33mDu hast Notify-Send nich installiert, das Programm ist optional und wird"; >&2 - echo -e "für die Upatefunktion nicht unbedingt benötigt\n"; >&2 + echo -e "\e[0;33mDu hast Notify-Send nich installiert, das Programm ist optional und wird\e[m" + echo -e "für die Upatefunktion nicht unbedingt benötigt\n\e[m" sleep 10 fi fi echo -e "\033[32mAlle benötigten Programme sind installiert. Starte $PROGNAME ohne Optionen und" - echo -e "es wird nach einer aktuellen Calibre Version geschaut\n"; -} + echo -e "es wird nach einer aktuellen Calibre Version gesucht\n\e[m"; +} \ No newline at end of file