sed Syntax nach Versionsänderung angepasst

This commit is contained in:
Marko Oldenburg 2014-11-20 09:48:38 +01:00
parent 6ef94f6a1c
commit 2a2328a46f
3 changed files with 17 additions and 13 deletions

View File

@ -18,7 +18,7 @@
# Programmversion # Programmversion
PROGNAME=`basename $0` PROGNAME=`basename $0`
VERSION="0.21.90.1" VERSION="0.22"
##### Variablen deklaration ##### ##### Variablen deklaration #####
# Downloadseite der Linuxinstallation # Downloadseite der Linuxinstallation
@ -38,7 +38,7 @@ func_change_install_dir() { # Funktion zur Abfrage der Installationsorte vom U
UPDATER_INSTALL_LOCATION=/usr/local UPDATER_INSTALL_LOCATION=/usr/local
fi fi
while [ ! -d $UPDATER_INSTALL_LOCATION ]; do 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" echo -e "\n\033[1;31mDas Verzeichnis $UPDATER_INSTALL_LOCATION existiert nicht. Bitte gib ein existierendes Verzeichnis an!\e[m"
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
done done
# Installationsort von Calibre # Installationsort von Calibre
@ -47,7 +47,7 @@ func_change_install_dir() { # Funktion zur Abfrage der Installationsorte vom U
CALIBRE_INSTALL_LOCATION=/opt CALIBRE_INSTALL_LOCATION=/opt
fi fi
while [ ! -d $CALIBRE_INSTALL_LOCATION ]; do # Abfangen bei nicht vorhanden sein des Installationsortes while [ ! -d $CALIBRE_INSTALL_LOCATION ]; do # Abfangen bei nicht vorhanden sein des Installationsortes
echo -e "\n\033[1;31mDas Verzeichnis $CALIBRE_INSTALL_LOCATION existiert nicht. Bitte gib ein existierendes Verzeichnis ein!\e[m" echo -e "\n\033[1;31mDas Verzeichnis $CALIBRE_INSTALL_LOCATION existiert nicht. Bitte gib ein existierendes Verzeichnis an!\e[m"
read -p "Wo befindet sich die Calibre Installation? [default /opt] " CALIBRE_INSTALL_LOCATION read -p "Wo befindet sich die Calibre Installation? [default /opt] " CALIBRE_INSTALL_LOCATION
done done
# Verzeichnishierarchie am Installationsort # Verzeichnishierarchie am Installationsort
@ -81,17 +81,17 @@ func_install_root() { # Wie in der func_install_noroot Funktion nur mit dem SUD
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
sudo cp calibre-autoupdate $BIN; sudo chmod 755 $BIN"calibre-autoupdate" sudo cp calibre-autoupdate $BIN; sudo chmod 755 $BIN"calibre-autoupdate"
sudo sed -i "s/_-ETC-_/$#{ETC/#/\//\/}/" $BIN"calibre-autoupdate" sudo sed -i "s@_-ETC-_@$ETC@" $BIN/calibre-autoupdate
sudo sed -i "s/_-VERSION-_/${VERSION//\//\/}/" $BIN"calibre-autoupdate" sudo sed -i "s@_-VERSION-_@$VERSION@" $BIN/calibre-autoupdate
func_progressbar func_progressbar
echo -e "\n\033[1;36mDie Header-Dateien werden nach $INC kopiert\e[m" 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" sudo cp calibre-autoupdate.h calibre-autoupdate_checks.h $INC; sudo chmod 644 $INC"calibre-autoupdate.h" $INC"calibre-autoupdate_checks.h"
func_progressbar func_progressbar
echo -e "\n\033[1;36mDie Konfigurations-Dateien werden nach $ETC kopiert\e[m" 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 cp calibre-autoupdate.conf $ETC; sudo chmod 644 $ETC"calibre-autoupdate.conf";
sudo sed -i "s/_-INC-_/$#{INC/#/\//\/}/" $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@_-BIN-_@$BIN@" $ETC/calibre-autoupdate.conf
sudo sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/$#{CALIBRE_INSTALL_LOCATION/#/\//\/}/" $ETC"calibre-autoupdate.conf" sudo sed -i "s@_-CALIBRE_INSTALL_LOCATION-_@$CALIBRE_INSTALL_LOCATION@" $ETC/calibre-autoupdate.conf
func_progressbar func_progressbar
return 0 return 0
} }

View File

@ -91,6 +91,10 @@
# v0.21 Um die neuste Version von der Calibrehomepage fest zu stellen wurde die Routine geändert. Es wird nun ganz # v0.21 Um die neuste Version von der Calibrehomepage fest zu stellen wurde die Routine geändert. Es wird nun ganz
# einfach und simpel die Seite http://calibre-ebook.com/downloads/latest_version abgefragt :-D # einfach und simpel die Seite http://calibre-ebook.com/downloads/latest_version abgefragt :-D
# #
# v0.22 Statt notify-send wurde nun kdialog integriert. Bedeutet aber das nur unter KDE Benachrichtigungen ausserhalb
# der Konsole ausgegeben werden. Außerdem wurde sed für den /s Parameter angepasst. Da gab es in der letzten
# sed Version eine Änderung
#
# TODO Auslesen der Download URL von der Download Seite # TODO Auslesen der Download URL von der Download Seite
# kontrolle ob alle benötigten programme für das skript vorhanden sind # kontrolle ob alle benötigten programme für das skript vorhanden sind
# #
@ -128,7 +132,7 @@ 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" # Wenn eine grafische Oberfläche vorhanden ist, wird u.a. "notify-send" für Benachrichtigungen verwendet, ansonsten immer "echo"
NOTIFY="echo" NOTIFY="echo"
[ -n "$DISPLAY" ] && NOTIFY="notify-send -t 10000 -i /usr/share/icons/hicolor/256x256/apps/calibre-gui.png Calibre-Auto-Updater" [ -n "$DISPLAY" ] && NOTIFY="kdialog --passivepopup"
####################################################### #######################################################

View File

@ -105,8 +105,8 @@ func_check_prog () { # Schaut ob Calibre und benötigte Programme instal
$NOTIFY "Du hast AWK nich installiert, es wird aber für die Updatefunktion benötigt" $NOTIFY "Du hast AWK nich installiert, es wird aber für die Updatefunktion benötigt"
exit 0 exit 0
fi fi
if [ ! -f /usr/bin/notify-send ]; then if [ ! -f /usr/bin/kdialog ]; then
echo -e "\e[0;33mDu hast Notify-Send nich installiert, das Programm ist optional und wird\e[m" echo -e "\e[0;33mDu hast kdialog nich installiert, das Programm ist optional und wird\e[m"
echo -e "für die Upatefunktion nicht unbedingt benötigt\n\e[m" echo -e "für die Upatefunktion nicht unbedingt benötigt\n\e[m"
sleep 10 sleep 10
fi fi