Der Code wurde komplett überarbeitet und vieles neu geschrieben. Sauberer Code und weniger Abfragen.
Die Bedingungen und Schleifen wurden einfacher und logischer geschrieben Die Prüfung ob Calibre noch gestartet ist wenn ein Update gemacht wird ist nun simpler geschrieben, und es wird nicht mehr hart beendet sondern gewartet bis der Benutzer Calibre beendet Die Calibre Installation ist vom Installer in das Updaterskript gewandert, und im Zuge einer Calibre- installation wird automatisch die Konfigurationsdatei des Updaters angepasst (übergabe CalibreInstallOrt) Es wird wieder geprüft ob Calibre installiert ist bevor der Updater gestartet wird Version 0.20
This commit is contained in:
parent
8afc21b90a
commit
480aa9c811
@ -18,7 +18,7 @@
|
||||
|
||||
# Programmversion
|
||||
PROGNAME=`basename $0`
|
||||
VERSION="0.19.99.9"
|
||||
VERSION="0.20"
|
||||
|
||||
##### Variablen deklaration #####
|
||||
# Downloadseite der Linuxinstallation
|
||||
@ -81,17 +81,17 @@ func_install_root() {
|
||||
sudo echo -e "\n\033[1;36mDie Programm-Dateien werden nach $BIN kopiert\e[m\e[m"
|
||||
if [ ! -d $BIN ]; then sudo mkdir $BIN; fi; if [ ! -d $ETC ]; then sudo mkdir $ETC; fi; if [ ! -d $INC ]; then sudo mkdir $INC; fi
|
||||
sudo cp calibre-autoupdate $BIN; sudo chmod 755 $BIN"calibre-autoupdate"
|
||||
sudo sed -i "s/_-ETC-_/${ETC//\//\/}/g" $BIN"calibre-autoupdate"
|
||||
sudo sed -i "s/_-VERSION-_/${VERSION//\//\/}/g" $BIN"calibre-autoupdate"
|
||||
sudo sed -i "s/_-ETC-_/${ETC//\//\/}/" $BIN"calibre-autoupdate"
|
||||
sudo sed -i "s/_-VERSION-_/${VERSION//\//\/}/" $BIN"calibre-autoupdate"
|
||||
func_progressbar
|
||||
echo -e "\n\033[1;36mDie Header-Dateien werden nach $INC kopiert\e[m"
|
||||
sudo cp calibre-autoupdate.h calibre-autoupdate_checks.h $INC; sudo chmod 644 $INC"calibre-autoupdate.h" $INC"calibre-autoupdate_checks.h"
|
||||
func_progressbar
|
||||
echo -e "\n\033[1;36mDie Konfigurations-Dateien werden nach $ETC kopiert\e[m"
|
||||
sudo cp calibre-autoupdate.conf $ETC; sudo chmod 644 $ETC"calibre-autoupdate.conf";
|
||||
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 sed -i "s/_-INC-_/${INC//\//\/}/" $ETC"calibre-autoupdate.conf"
|
||||
sudo sed -i "s/_-BIN-_/${BIN//\//\/}/" $ETC"calibre-autoupdate.conf"
|
||||
sudo sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/${CALIBRE_INSTALL_LOCATION//\//\/}/" $ETC"calibre-autoupdate.conf"
|
||||
func_progressbar
|
||||
return 0
|
||||
}
|
||||
@ -104,7 +104,7 @@ func_install_process() { # Installiert den Calibre Updater
|
||||
else
|
||||
func_install_root
|
||||
fi
|
||||
echo -e "\n\n\033[1;34mDer Calibre-Autoupdater wurde erfolgreich installiert und"
|
||||
echo -e "\n\n\033[1;32mDer Calibre-Autoupdater wurde erfolgreich installiert und"
|
||||
echo -e "kann nun mit \"calibre-update\" oder \"$BIN"calibre-update"\" aufgerufen werden\e[m\n"
|
||||
return 0
|
||||
}
|
||||
|
@ -82,6 +82,11 @@
|
||||
#
|
||||
# v0.20 Der Code wurde komplett überarbeitet und vieles neu geschrieben. Sauberer Code und weniger Abfragen.
|
||||
# Die Bedingungen und Schleifen wurden einfacher und logischer geschrieben
|
||||
# Die Prüfung ob Calibre noch gestartet ist wenn ein Update gemacht wird ist nun simpler geschrieben,
|
||||
# und es wird nicht mehr hart beendet sondern gewartet bis der Benutzer Calibre beendet
|
||||
# Die Calibre Installation ist vom Installer in das Updaterskript gewandert, und im Zuge einer Calibre-
|
||||
# installation wird automatisch die Konfigurationsdatei des Updaters angepasst (übergabe CalibreInstallOrt)
|
||||
# Es wird wieder geprüft ob Calibre installiert ist bevor der Updater gestartet wird
|
||||
#
|
||||
# TODO Auslesen der Download URL von der Download Seite
|
||||
# kontrolle ob alle benötigten programme für das skript vorhanden sind
|
||||
@ -118,12 +123,14 @@ source $INC/calibre-autoupdate_checks.h
|
||||
#######################################################
|
||||
#######################################################
|
||||
|
||||
# Wenn eine grafische Oberfläche vorhanden ist, wird u.a. "notify-send" für Benachrichtigungen verwendet, ansonsten immer "echo"
|
||||
NOTIFY="echo"
|
||||
[ -n "$DISPLAY" ] && NOTIFY="notify-send -t 10000 -i /usr/share/icons/hicolor/256x256/apps/calibre-gui.png Calibre-Auto-Updater"
|
||||
|
||||
#######################################################
|
||||
|
||||
|
||||
func_update () {
|
||||
# Wenn eine grafische Oberfläche vorhanden ist, wird u.a. "notify-send" für Benachrichtigungen verwendet, ansonsten immer "echo"
|
||||
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 # ruft die Funktion für Konsolenausgabe auf
|
||||
func_check_stat # ruft die Funktion "check Status Netzwerk und Downloadadressen" auf
|
||||
CHECK_STATE_RESULT="$?"
|
||||
@ -184,9 +191,9 @@ do
|
||||
func_check_prog; exit 0 ;;
|
||||
--uninstall | -U | -u )
|
||||
func_uninstall; exit 0 ;;
|
||||
--install_calibre )
|
||||
--install-calibre )
|
||||
func_install_calibre; exit 0 ;;
|
||||
--uninstall_calibre )
|
||||
--uninstall-calibre )
|
||||
func_uninstall_calibre; exit 0 ;;
|
||||
esac
|
||||
done
|
||||
|
@ -26,8 +26,8 @@ func_help () {
|
||||
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 " --install_calibre installiert Calibre in der aktuellsten Version"
|
||||
echo " --uninstall_calibre deinstalliert das Calibre Programm"
|
||||
echo " --install-calibre installiert Calibre in der aktuellsten Version"
|
||||
echo " --uninstall-calibre deinstalliert das Calibre Programm"
|
||||
echo ""
|
||||
echo -e "Sende Fehler an <leongaultier@gmail.com>.\n";
|
||||
return 0
|
||||
@ -77,7 +77,7 @@ func_uninstall() {
|
||||
done
|
||||
if (( ! result )); then
|
||||
echo -e "\033[1;31mDie DeInstallation des Calibre-Autoupdaters wurde durch Dich abgebrochen.\e[m\n"
|
||||
break
|
||||
exit 0
|
||||
fi
|
||||
echo -e "\033[1;31mDer Calibre-Autoupdater wird nun deinstalliert.\e[m"
|
||||
if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then
|
||||
@ -98,7 +98,7 @@ func_uninstall_calibre() {
|
||||
func_term_output
|
||||
if [ ! -d $CALIBRE_INSTALL_LOCATION/calibre ] ; then
|
||||
echo -e "\033[1;31mEs konnte keine Calibre Installation gefunden werden. Die DeInstallation wurde abgebrochen\e[m\n"
|
||||
break
|
||||
exit 0
|
||||
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!"
|
||||
@ -113,7 +113,7 @@ func_uninstall_calibre() {
|
||||
done
|
||||
if (( ! result )); then
|
||||
echo -e "\n\033[1;31mDie DeInstallation von Calibre wurde durch Dich abgebrochen.\e[m\n"
|
||||
break
|
||||
exit 0
|
||||
fi
|
||||
echo -e "\033[1;34mCalibre wird nun deinstalliert.\e[m"
|
||||
if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then
|
||||
@ -127,6 +127,7 @@ func_uninstall_calibre() {
|
||||
|
||||
func_install_calibre() {
|
||||
# Installationsort von Calibre
|
||||
func_term_output
|
||||
read -p "Wohin soll Calibre installiert werden? [default /opt] " CALIBRE_INSTALL_LOCATION
|
||||
if [ -z $CALIBRE_INSTALL_LOCATION ]; then
|
||||
CALIBRE_INSTALL_LOCATION=/opt
|
||||
@ -136,13 +137,21 @@ func_install_calibre() {
|
||||
read -p "Wohin soll Calibre installiert werden? [default /opt] " CALIBRE_INSTALL_LOCATION
|
||||
done
|
||||
if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then
|
||||
echo -e "\033[1;32mCalibre wird nun installiert...\n\e[m"
|
||||
echo -e "\n\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')"
|
||||
if [ ! -w "$ECT" ]; then
|
||||
echo -e "\033[1;34mDu hast kein Schreibrecht auf $ETC. Die Updater Konfigurationsdatei wird mit SUDO angepasst. Bitte gib hierzu Dein Userpasswort im Terminal ein...\n\e[m"
|
||||
sudo sed -i "s/CALIBRE_INSTALL_LOCATION=.*/CALIBRE_INSTALL_LOCATION=${CALIBRE_INSTALL_LOCATION//\//\/}/" $ETC"calibre-autoupdate.conf"
|
||||
else
|
||||
sed -i "s/CALIBRE_INSTALL_LOCATION=.*/CALIBRE_INSTALL_LOCATION=${CALIBRE_INSTALL_LOCATION//\//\/}/" $ETC"calibre-autoupdate.conf"
|
||||
fi
|
||||
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\e[m"
|
||||
echo -e "\033[1;34mDu hast kein Schreibrecht auf $CALIBRE_INSTALL_LOCATION."
|
||||
echo -e "Calibre wird mit SUDO installiert. Bitte gib hierzu Dein Userpasswort ein...\n\e[m"
|
||||
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')"
|
||||
sudo sed -i "s/CALIBRE_INSTALL_LOCATION=.*/CALIBRE_INSTALL_LOCATION=${CALIBRE_INSTALL_LOCATION//\//\/}/" $ETC"calibre-autoupdate.conf"
|
||||
fi
|
||||
echo -e "\n\n\033[1;36mHerzlichen Glückwunsch. Calibre wurde unter $CALIBRE_INSTALL_LOCATION installiert"
|
||||
echo -e "\n\n\033[1;32mHerzlichen Glückwunsch. Calibre wurde unter $CALIBRE_INSTALL_LOCATION installiert"
|
||||
echo -e "und kann nun mit \"calibre\" verwendet werden.\n\033[0m"
|
||||
return 0
|
||||
}
|
@ -77,21 +77,26 @@ func_check_version () {
|
||||
return 0
|
||||
}
|
||||
|
||||
func_check_prog () {
|
||||
func_term_output
|
||||
func_check_prog () { # Schaut ob Calibre und benötigte Programme installiert sind
|
||||
func_term_output
|
||||
if [ ! -d $CALIBRE_INSTALL_LOCATION/calibre ]; then
|
||||
$NOTIFY "Check auf Calibre-Updates nicht möglich! Calibre ist gar nicht installiert. Bitte verwende calibre-autoupdate --install-calibre um Calibre zu installieren"
|
||||
exit 0
|
||||
fi
|
||||
if [ ! -f $CURL ]; then
|
||||
$NOTIFY "Du hast Curl nich installiert, es wird aber für die Updatefunktion benötigt"
|
||||
break
|
||||
exit 0
|
||||
fi
|
||||
if [ ! -f $AWK ]; then
|
||||
$NOTIFY "Du hast AWK nich installiert, es wird aber für die Updatefunktion benötigt"
|
||||
break
|
||||
exit 0
|
||||
fi
|
||||
if [ ! -f $NOTIFY ]; then
|
||||
if [ ! -f /usr/bin/notify-send ]; then
|
||||
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 gesucht\n\e[m";
|
||||
return 0
|
||||
}
|
Loading…
Reference in New Issue
Block a user