Calibre Installort ersetzen nach der Installation muß noch als Funktion eingebaut werden

This commit is contained in:
Leon Gaultier 2014-04-15 06:22:11 +02:00
parent 7df25af763
commit 8afc21b90a
5 changed files with 26 additions and 108 deletions

View File

@ -18,7 +18,7 @@
# Programmversion # Programmversion
PROGNAME=`basename $0` PROGNAME=`basename $0`
VERSION="0.19.99.7" VERSION="0.19.99.9"
##### Variablen deklaration ##### ##### Variablen deklaration #####
# Downloadseite der Linuxinstallation # Downloadseite der Linuxinstallation
@ -31,8 +31,7 @@ source CAU_Installer.h
################################# #################################
func_change_install_dir() # Funktion zur Abfrage der Installationsorte vom Updater und von Calibre func_change_install_dir() { # Funktion zur Abfrage der Installationsorte vom Updater und von Calibre
{
# Installationsort vom Updater # Installationsort vom Updater
read -p "Wo soll der Calibre-Autoupdater 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 if [ -z $UPDATER_INSTALL_LOCATION ]; then
@ -58,8 +57,7 @@ func_change_install_dir() # Funktion zur Abfrage der Installationsorte vom Upd
return 0 return 0
} }
func_install_noroot() func_install_noroot() {
{
echo -e "\n\033[1;36mDie Programm-Dateien werden nach $BIN kopiert\e[m\e[m" echo -e "\n\033[1;36mDie Programm-Dateien werden nach $BIN kopiert\e[m\e[m"
if [ ! -d $BIN ]; then mkdir $BIN; fi; if [ ! -d $ETC ]; then mkdir $ETC; fi; if [ ! -d $INC ]; then mkdir $INC; fi if [ ! -d $BIN ]; then mkdir $BIN; fi; if [ ! -d $ETC ]; then mkdir $ETC; fi; if [ ! -d $INC ]; then mkdir $INC; fi
cp calibre-autoupdate $BIN; chmod 755 $BIN"calibre-autoupdate" cp calibre-autoupdate $BIN; chmod 755 $BIN"calibre-autoupdate"
@ -78,8 +76,7 @@ func_install_noroot()
return 0 return 0
} }
func_install_root() func_install_root() {
{
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;34mDu hast kein Schreibrecht auf $UPDATER_INSTALL_LOCATION, daher wird SUDO versucht zu verwenden...\e[m";
sudo echo -e "\n\033[1;36mDie Programm-Dateien werden nach $BIN kopiert\e[m\e[m" 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 if [ ! -d $BIN ]; then sudo mkdir $BIN; fi; if [ ! -d $ETC ]; then sudo mkdir $ETC; fi; if [ ! -d $INC ]; then sudo mkdir $INC; fi
@ -99,8 +96,7 @@ func_install_root()
return 0 return 0
} }
func_install_process() # Installiert den Calibre Updater func_install_process() { # Installiert den Calibre Updater
{
func_term_output func_term_output
func_change_install_dir func_change_install_dir
if [ -w "$UPDATER_INSTALL_LOCATION" ]; then if [ -w "$UPDATER_INSTALL_LOCATION" ]; then

View File

@ -9,16 +9,14 @@ func_term_output () { # einheitliche Terminalausgabe
return 0 return 0
} }
func_usage () # Gibt Auskunft über Verwendung des Scriptes func_usage () { # Gibt Auskunft über Verwendung des Scriptes
{
func_term_output func_term_output
echo "Verwendung: $PROGNAME [OPTION...]" echo "Verwendung: $PROGNAME [OPTION...]"
echo -e "Verwende $PROGNAME --help oder $PROGNAME -h für mehr Informationen.\n" echo -e "Verwende $PROGNAME --help oder $PROGNAME -h für mehr Informationen.\n"
return 0 return 0
} }
func_help () # Listet alle Optionsschalter auf func_help () { # Listet alle Optionsschalter auf
{
func_term_output func_term_output
echo "Verwende: $PROGNAME [OPTION...]" echo "Verwende: $PROGNAME [OPTION...]"
echo "$PROGNAME -- Der Calibre-Autoupdate-Installer (CAUI)" echo "$PROGNAME -- Der Calibre-Autoupdate-Installer (CAUI)"
@ -32,8 +30,8 @@ func_help () # Listet alle Optionsschalter auf
return 0 return 0
} }
func_version () # Versionsauskunft des Installers func_version () { # Versionsauskunft des Installers
{
func_term_output func_term_output
echo "$PROGNAME: Der Calibre-Autoupdate-Installer (CAUI) v$VERSION" echo "$PROGNAME: Der Calibre-Autoupdate-Installer (CAUI) v$VERSION"
echo "Leon Gaultier 2013-2014. Das Programm darf verteilt werden," echo "Leon Gaultier 2013-2014. Das Programm darf verteilt werden,"
@ -41,8 +39,7 @@ func_version () # Versionsauskunft des Installers
return 0 return 0
} }
func_progressbar() func_progressbar() {
{
echo -e -n $'\033[34m------------------------------------------------------------------------- 100%\r' echo -e -n $'\033[34m------------------------------------------------------------------------- 100%\r'
echo -e -n "\033[32m0% " echo -e -n "\033[32m0% "
for ((i=0; i<61; i++)); do for ((i=0; i<61; i++)); do

View File

@ -3,10 +3,10 @@
# #
# Calibre Download Seite URL. # Calibre Download Seite URL.
export CALIBRE_DOWNLOAD_PAGE=http://calibre-ebook.com/download_linux CALIBRE_DOWNLOAD_PAGE=http://calibre-ebook.com/download_linux
# The location of the installed application. # Installationsor von Calibre.
export CALIBRE_INSTALL_LOCATION=_-CALIBRE_INSTALL_LOCATION-_ CALIBRE_INSTALL_LOCATION=_-CALIBRE_INSTALL_LOCATION-_
# The download URL # die Download URL
DOWNLOAD_URL=https://github.com/kovidgoyal/calibre/raw/master/setup/linux-installer.py DOWNLOAD_URL=https://github.com/kovidgoyal/calibre/raw/master/setup/linux-installer.py
# Variablen für den Verfügbarkeitscheck # Variablen für den Verfügbarkeitscheck

View File

@ -2,24 +2,21 @@
# Copyright (C) 2013-2014 Leon Gaultier # Copyright (C) 2013-2014 Leon Gaultier
# #
func_term_output () func_term_output () {
{
## Beginne mit der Ausgbe ## ## Beginne mit der Ausgbe ##
tty -s && clear 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"; 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 return 0
} }
func_usage () func_usage () {
{
func_term_output func_term_output
echo "Verwendung: $PROGNAME [OPTION...]" echo "Verwendung: $PROGNAME [OPTION...]"
echo "Verwende '$PROGNAME --help' oder '$PROGNAME -h' für mehr Informationen." echo "Verwende '$PROGNAME --help' oder '$PROGNAME -h' für mehr Informationen."
return 0 return 0
} }
func_help () func_help () {
{
func_term_output func_term_output
echo "Verwende: $PROGNAME [OPTION...]" echo "Verwende: $PROGNAME [OPTION...]"
echo "$PROGNAME -- Der Calibre! Linux Edition calibre-autoupdater (CAU)" echo "$PROGNAME -- Der Calibre! Linux Edition calibre-autoupdater (CAU)"
@ -36,8 +33,7 @@ func_help ()
return 0 return 0
} }
func_version () func_version () {
{
func_term_output func_term_output
echo "$PROGNAME: Der Calibre! autoupdater v$VERSION" echo "$PROGNAME: Der Calibre! autoupdater v$VERSION"
echo "Leon Gaultier 2013-2014. Das Programm darf verteilt werden," echo "Leon Gaultier 2013-2014. Das Programm darf verteilt werden,"
@ -45,8 +41,7 @@ func_version ()
return 0 return 0
} }
func_progressbar() func_progressbar() {
{
echo -e -n $'\033[34m------------------------------------------------------------------------- 100%\r' echo -e -n $'\033[34m------------------------------------------------------------------------- 100%\r'
echo -e -n "\033[32m0% " echo -e -n "\033[32m0% "
for ((i=0; i<61; i++)); do for ((i=0; i<61; i++)); do
@ -67,8 +62,7 @@ func_progressbar()
return 0 return 0
} }
func_uninstall() func_uninstall() {
{
func_term_output func_term_output
while ((!gueltig)); do # beginn der Ja/Nein Abfrage while ((!gueltig)); do # beginn der Ja/Nein Abfrage
echo -e "\033[1;34m" echo -e "\033[1;34m"
@ -100,8 +94,7 @@ func_uninstall()
return 0 return 0
} }
func_uninstall_calibre() func_uninstall_calibre() {
{
func_term_output func_term_output
if [ ! -d $CALIBRE_INSTALL_LOCATION/calibre ] ; then 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" echo -e "\033[1;31mEs konnte keine Calibre Installation gefunden werden. Die DeInstallation wurde abgebrochen\e[m\n"
@ -132,8 +125,7 @@ func_uninstall_calibre()
return 0 return 0
} }
func_install_calibre() func_install_calibre() {
{
# Installationsort von Calibre # Installationsort von Calibre
read -p "Wohin soll Calibre installiert werden? [default /opt] " CALIBRE_INSTALL_LOCATION read -p "Wohin soll Calibre installiert werden? [default /opt] " CALIBRE_INSTALL_LOCATION
if [ -z $CALIBRE_INSTALL_LOCATION ]; then if [ -z $CALIBRE_INSTALL_LOCATION ]; then

View File

@ -2,8 +2,7 @@
# Copyright (C) 2013-2014 Leon Gaultier # Copyright (C) 2013-2014 Leon Gaultier
# #
func_http_status_code () func_http_status_code () {
{
echo -e "\033[1;34m Hole Status Code von $CHECK_CALIBRE_DOWNLOAD_PAGE. Bitte warten.\e[m" 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) stat_1=$(curl -o /dev/null --silent --head --write-out '%{http_code}' $CHECK_CALIBRE_DOWNLOAD_PAGE)
func_progressbar func_progressbar
@ -15,8 +14,7 @@ func_http_status_code ()
return 0 return 0
} }
func_check_stat () # Funktion zum Check Verfügbarkeit der Downloadseiten und der Internetverbindung func_check_stat () { # Funktion zum Check Verfügbarkeit der Downloadseiten und der Internetverbindung
{
# Test for network conection # Test for network conection
echo -e "\n\033[1;34m Suche nach vorhandenen Netzwerk für die Verbindung zum Internet :-)\e[m" 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 for INTERFACE in $(ls /sys/class/net/ | grep -v lo); do
@ -42,78 +40,13 @@ func_check_stat () # Funktion zum Check Verfügbarkeit der Downloadseiten und d
return 0 return 0
} }
func_check_run_calibre () { func_check_run_calibre () {
CALIBRE_PID=`ps ax | grep /opt/calibre/bin/calibre | grep -v grep | awk '{printf $1}'` while [ `ps ax | grep /opt/calibre/bin/calibre | grep -v grep | awk '{printf $1}'` ]; do
$NOTIFY "Um das Update installieren zu können, muss Calibre geschlossen werden..."
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-- )); do
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
return 0
# Installationsort vom Updater
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
fi
while [ ! -d $UPDATER_INSTALL_LOCATION ]; do
echo -e "\n\033[1;31mDas Verzeichnis $UPDATER_INSTALL_LOCATION existiert nicht. Bitte gib ein existierendes Verzeichnis ein!\e[m"
read -p "Wo soll der Calibre-Autoupdater installiert werden? [default /usr/local] " UPDATER_INSTALL_LOCATION
done
# Installationsort von Calibre
read -p "Wo befindet sich die Calibre Installation? [default /opt] " CALIBRE_INSTALL_LOCATION
if [ -z $CALIBRE_INSTALL_LOCATION ]; then
CALIBRE_INSTALL_LOCATION=/opt
fi
while [ ! -d $CALIBRE_INSTALL_LOCATION ]; do
echo -e "\n\033[1;31mDas Verzeichnis $CALIBRE_INSTALL_LOCATION existiert nicht. Bitte gib ein existierendes Verzeichnis ein!\e[m"
read -p "Wo befindet sich die Calibre Installation? [default /opt] " CALIBRE_INSTALL_LOCATION
done
done done
return 0 return 0
} }
func_check_version () { func_check_version () {
#Ermitteln der letzten aktuell verfügbaren Version #Ermitteln der letzten aktuell verfügbaren Version
LATEST_VERSION=`curl -s $CALIBRE_DOWNLOAD_PAGE | grep 'latest release of calibre' | sed 's/[^0-9.]*\([1-9]*[0-9]\.[1-9]*[0-9]\).*/\1/'` LATEST_VERSION=`curl -s $CALIBRE_DOWNLOAD_PAGE | grep 'latest release of calibre' | sed 's/[^0-9.]*\([1-9]*[0-9]\.[1-9]*[0-9]\).*/\1/'`