From b90801c1c33ef07a148c3be7791ec00fe22f8aa3 Mon Sep 17 00:00:00 2001 From: Leon Gaultier Date: Thu, 3 Apr 2014 11:30:25 +0200 Subject: [PATCH] =?UTF-8?q?Der=20Installer=20ist=20fertig=20und=20voll=20f?= =?UTF-8?q?unktionst=C3=BCchtig.=20Es=20wurden=20diverse=20Verbesserungen?= =?UTF-8?q?=20in=20der=20dynamischen=20Installation=20gemacht.=20Dies=20is?= =?UTF-8?q?t=20die=20erste=20Version=20welche=20voll=20funktionst=C3=BCcht?= =?UTF-8?q?ig=20unter=20allen=20Linuxversionen=20laufen=20sollte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CAU_Installer | 61 ++++++++++++++++++++++--------------- calibre-autoupdate | 17 +++++++---- calibre-autoupdate.conf | 2 +- calibre-autoupdate.h | 20 ++++++------ calibre-autoupdate_checks.h | 6 ++-- 5 files changed, 62 insertions(+), 44 deletions(-) diff --git a/CAU_Installer b/CAU_Installer index c6860f8..3a506e5 100755 --- a/CAU_Installer +++ b/CAU_Installer @@ -2,7 +2,7 @@ # Programmversion PROGNAME=`basename $0` -VERSION="0.6" +VERSION="0.11" QUIET=0 func_term_output () { @@ -14,37 +14,37 @@ func_term_output () { func_usage () # Gibt Auskunft über Verwendung des Scriptes { - echo "Usage: $PROGNAME [OPTION...]" - echo "Try '$PROGNAME --help' or '$PROGNAME -h' for more information." + echo "Verwendung: $PROGNAME [OPTION...]" + echo -e "Verwende $PROGNAME --help oder $PROGNAME -h für mehr Informationen.\n" } func_help () # Listet alle Optionsschalter auf { func_term_output - echo "Usage: $PROGNAME [OPTION...]" - echo "$PROGNAME -- the Calibre-Autoupdate-Installer (CAUI)" + echo "Verwende: $PROGNAME [OPTION...]" + 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)" + #echo " -u, --uninstall deinstalliert den Calibre-Autoupdater (CAU), soll kommen " echo "" - echo -e "Report bugs to .\n"; + echo -e "Sende Fehler an .\n"; } func_version () # Versionsauskunft des Installers { - echo "$PROGNAME: the Calibre-Autoupdate-Installer (CAUI) v$VERSION" - echo "Copyright (C) Leon Gaultier 2013-2014. This program is distributed" - echo "in the hope that it will be useful, but WITHOUT ANY WARRANTY" + 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" } func_change_install_dir() # Funktion zur Abfrage des Installationsortes { -read -p "Wo soll der Calibre Updater installiert werden? [default /usr/local] " UPDATER_INSTALL_LOCATION +read -p "Wo soll der Calibre-Autoupdater installiert werden? [default /usr/local] " UPDATER_INSTALL_LOCATION if [ -z $UPDATER_INSTALL_LOCATION ]; then UPDATER_INSTALL_LOCATION=/usr/local @@ -64,7 +64,7 @@ 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 ; then - echo -e "\n\033[1;31mKeine Calibre Installation unter $CALIBRE_INSTALL_LOCATION gefunden. Installation des Updaters wurde abgebrochen.\e[m\n"; >&2 + echo -e "\n\033[1;31mKeine Calibre Installation unter $CALIBRE_INSTALL_LOCATION gefunden. Installation des Updaters nicht möglich.\e[m\n"; >&2 exit 1 fi @@ -82,7 +82,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 Updaters wurde abgebrochen.\e[m\n" + echo -e "\n\033[1;31mDie installation des Calibre-Autoupdaters wurde durch Dich beendet.\e[m\n" exit 1 fi fi @@ -94,31 +94,44 @@ func_term_output func_change_install_dir func_check_dir +# Ersetzen der Platzhaltervatiablen für die Installationsverzeichnisvariablen + if [ -w "$BIN" ]; then - echo -e "\n\033[1;34mDer Calibre Autoupdater wird nun unter $UPDATER_INSTALL_LOCATION installiert...\e[m"; + 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"; sleep 3 cp -v 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/_-VERSION-_/${VERSION//\//\/}/g" $BIN"calibre-autoupdate" chmod -v 755 $BIN/calibre-autoupdate echo -e "\n\033[1;32mDie Header-Dateien werden nach $INC kopiert\e[m"; sleep 3 cp -v calibre-autoupdate.h calibre-autoupdate_checks.h $INC chmod -v 644 $INC/calibre-autoupdate.h $INC/calibre-autoupdate_checks.h echo -e "\n\033[1;32mDie Konfigurationsdatei wird nach $ETC kopiert\e[m"; sleep 3 cp -v calibre-autoupdate.conf $ETC + sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/${CALIBRE_INSTALL_LOCATION//\//\/}/g" $ETC"calibre-autoupdate.conf" chmod -v 644 $ETC/calibre-autoupdate.conf else echo -e "\n\033[1;34mDu hast kein Schreibrecht auf $UPDATER_INSTALL_LOCATION, daher wird SUDO versucht zu verwenden...\e[m"; - echo -e "\n\033[1;32mProgrammdatei wird nach $BIN kopiert\e[m\e[m"; - sudo cp -v calibre-autoupdate $BIN - sudo chmod -v 755 $BIN/calibre-autoupdate; + echo -e "\n\033[1;32mProgrammdatei wird nach $BIN kopiert\e[m\e[m"; sleep 3 + sudo cp calibre-autoupdate $BIN + sudo sed -i "s/_-INC-_/${INC//\//\/}/g" $BIN"calibre-autoupdate" + 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"; echo -e "\n\033[1;32mDie Header-Dateien werden nach $INC kopiert\e[m"; sleep 3 - sudo cp -v calibre-autoupdate.h calibre-autoupdate_checks.h $INC - sudo chmod -v 644 $INC/calibre-autoupdate.h $INC/calibre-autoupdate_checks.h; + sudo cp calibre-autoupdate.h calibre-autoupdate_checks.h $INC + sudo chmod 644 $INC"calibre-autoupdate.h" $INC"calibre-autoupdate_checks.h"; echo -e "\n\033[1;32mDie Konfigurationsdatei wird nach $ETC kopiert\e[m"; sleep 3 - sudo cp -v calibre-autoupdate.conf $ETC - sudo chmod -v 644 $ETC/calibre-autoupdate.conf; + sudo cp calibre-autoupdate.conf $ETC + sudo sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/${CALIBRE_INSTALL_LOCATION//\//\/}/g" $ETC"calibre-autoupdate.conf" + sudo chmod 644 $ETC"calibre-autoupdate.conf"; fi - echo -e "\n\033[1;36mDer Calibre-Autoupdater wurde erfolgreich installiert\e[m\n" + echo -e "\n\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() @@ -152,5 +165,5 @@ do done func_term_output -echo -e "\033[1;34mGib eine Option an! Oder verwende -h für Hilfe\n\e[m"; -exit 0 \ No newline at end of file +func_usage +exit 0 diff --git a/calibre-autoupdate b/calibre-autoupdate index 13cb0f4..9fc3824 100644 --- a/calibre-autoupdate +++ b/calibre-autoupdate @@ -56,6 +56,11 @@ # v0.10 hinzufügen eines Installationsskriptes für den calibre-autoupdater, Installsript prüft # vorhanden sein von calibre und des updaters und fragt nach Installationsort des Updaters # +# v0.11 Das Mainscript wurde angepasst so das der Installer die ermittelten Variablen für den +# Installationsort in das Mainscript und die Konfigdatei schreiben kann. +# 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 # @@ -64,13 +69,13 @@ ###################################### # Installationsfade in der Verzeichnishierarchie -INC=/usr/local/include/ -ETC=/usr/local/etc/ -BIN=/usr/local/bin/ +INC=_-INC-_ +ETC=_-ETC-_ +BIN=_-BIN-_ # Programmversion PROGNAME=`basename $0` -VERSION="0.9" +VERSION="_-VERSION-_" QUIET=0 ################################# @@ -139,7 +144,7 @@ case $? in func_check_run_calibre # Aufruf der Funktion ob Calibre gestartet ist if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then - $NOTIFY "Du hast Schreibrechte auf $CALIBRE_INSTALL_LOCATION Das Update wird nun installiert..." + $NOTIFY "Das Update wird nun installiert..." echo -e "\033[1;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 @@ -147,7 +152,7 @@ case $? in echo -e "\033[1;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 upgedatet." + $NOTIFY "Calibre wurde auf die neuste Version aktuallisiert." ;; esac ;; diff --git a/calibre-autoupdate.conf b/calibre-autoupdate.conf index 1b4ebbb..9648257 100644 --- a/calibre-autoupdate.conf +++ b/calibre-autoupdate.conf @@ -5,7 +5,7 @@ # Calibre Download Seite URL. export CALIBRE_DOWNLOAD_PAGE=http://calibre-ebook.com/download_linux # The location of the installed application. -export CALIBRE_INSTALL_LOCATION=/opt +export CALIBRE_INSTALL_LOCATION=_-CALIBRE_INSTALL_LOCATION-_ # The download URL DOWNLOAD_URL=https://github.com/kovidgoyal/calibre/raw/master/setup/linux-installer.py diff --git a/calibre-autoupdate.h b/calibre-autoupdate.h index 7777abf..a38b048 100644 --- a/calibre-autoupdate.h +++ b/calibre-autoupdate.h @@ -1,33 +1,33 @@ -# Calibre Auto Updater Configfile +# Calibre Auto Updater Header File # Copyright (C) 2013-2014 Leon Gaultier # func_usage () { - echo "Usage: $PROGNAME [OPTION...]" - echo "Try '$PROGNAME --help' or '$PROGNAME -h' for more information." + echo "Verwendung: $PROGNAME [OPTION...]" + echo "Verwende '$PROGNAME --help' oder '$PROGNAME -h' für mehr Informationen." } func_help () { func_term_output - echo "Usage: $PROGNAME [OPTION...]" - echo "$PROGNAME -- the Calibre! Linux Edition calibre-autoupdater (CAU)" + echo "Verwende: $PROGNAME [OPTION...]" + 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 checkt ob benötigte Programme vorhanden sind" + echo " -c, --check kontrolliert ob benötigte Programme vorhanden sind" echo "" - echo -e "Report bugs to .\n"; + echo -e "Sende Fehler an .\n"; } func_version () { - echo "$PROGNAME: the Calibre! autoupdater v$VERSION" - echo "Copyright (C) Leon Gaultier 2013-2014. This program is distributed" - echo "in the hope that it will be useful, but WITHOUT ANY WARRANTY" + 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" } diff --git a/calibre-autoupdate_checks.h b/calibre-autoupdate_checks.h index 8b167ac..1926d27 100644 --- a/calibre-autoupdate_checks.h +++ b/calibre-autoupdate_checks.h @@ -1,4 +1,4 @@ -# Calibre Auto Updater Configfile +# Calibre Auto Updater Header File # Copyright (C) 2013-2014 Leon Gaultier # @@ -23,7 +23,7 @@ if [ $ONLINE ]; then return 3 fi else - echo -e "\033[31m Fehler!!! Sieh Dir die verdammte Desktop Benachrichtigung an!"; + echo -e "\033[31m Fehler!!! Bitte schau Dir die Desktop Benachrichtigung an!"; return 4 fi } @@ -70,7 +70,7 @@ func_check_prog () { 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 "für die Upatefunktion nicht unbedingt benötigt. Ist aber ne Coole Sache ;-)\n"; >&2 sleep 10 fi