Install Lo ecoles

parent 9cfa3464
#!/bin/bash
DIR=$(dirname $0)
cd $DIR/lo_ecoles
echo "Initial install"
./$(basename $0) Installer init
for u in 01-cp 02-ce1-2 03-cm1-2
do
echo "installing for $u"
echo "oui" | sudo -u $u ./$(basename $0) Installer
done
Lancer dans un terminal localisé dans le dossier: sh install_libreoffice_ecole.sh
Ce dossier correspond à l'installeur du libreoffice des écoles en version 2.05 modifié pour nos besoin d'automatisation
Cf https://primtux.fr/telecharger-linterface-libreoffice-des-ecoles/
#!/bin/bash
la_version_installee_LO=$(libreoffice --version | cut -d' ' -f2)
la_version_LO_mini_0=4
la_version_LO_mini_1=4.2
la_version_LO_mini_2=5.3
chemin_origine_dossier_ressources=ressources/
chemin_origine_dossier_profil=$chemin_origine_dossier_ressources"profil/"
nom_archive=profil.zip
chemin_origine_dossier_extensions=$chemin_origine_dossier_ressources"extensions/"
chemin_racine_profil=~/.config
chemin_racine_profil_libreoffice=~/.config/libreoffice
chemin_racine_profil_libreoffice_sauve=~/.config/libreoffice_old
comparaison_version_LO=0
test_version_libreoffice(){
version_LO_mini=$1
chmod +x $chemin_origine_dossier_ressources"version_libreoffice.sh"
comparaison_version_LO=$("./""$chemin_origine_dossier_ressources"version_libreoffice.sh ""$version_LO_mini )
}
comparaison_version_LO=0
test_version_libreoffice $la_version_LO_mini_0
if [ $comparaison_version_LO = -1 ]; then # version LO inferieure à celle requise
chemin_destination_profil=~/.config/libreoffice/3/user
else
chemin_destination_profil=~/.config/libreoffice/4/user
fi
chemin_destination_params_ecole_profil=$chemin_destination_profil/ecole
chemin_destination_params_toolbar_profil=$chemin_destination_profil/config/soffice.cfg/modules/swriter/toolbar
nom_lirecouleur1=lirecouleur.oxt
nom_grammalecte1=Grammalecte-v0.4.10.7-py27.oxt
nom_grammalecte2=Grammalecte-fr-v0.6.5.oxt
nom_grammalecte3=Grammalecte-fr-v1.2.1.oxt
comparaison_version_LO=0
test_version_libreoffice $la_version_LO_mini_1
if [ $comparaison_version_LO = -1 ]; then # version LO inferieure à celle requise
chemin_extension_lirecouleur=$chemin_origine_dossier_extensions$nom_lirecouleur1
chemin_extension_grammalecte=$chemin_origine_dossier_extensions$nom_grammalecte1
else
comparaison_version_LO=0
test_version_libreoffice $la_version_LO_mini_2
chemin_extension_lirecouleur=$chemin_origine_dossier_extensions$nom_lirecouleur1
if [ $comparaison_version_LO = -1 ]; then # version LO inferieure à celle requise
chemin_extension_grammalecte=$chemin_origine_dossier_extensions$nom_grammalecte2
else
chemin_extension_grammalecte=$chemin_origine_dossier_extensions$nom_grammalecte3
fi
fi
#################################################
#fonction test de la connexion internet
#################################################
verification_connexion_internet(){
ping -q -c 2 www.google.fr >/dev/null 2>&1
if [ $? -eq 0 ]; then # si connexion à Internet
echo 1
else
echo -1
fi
}
installation_themes_LO(){
sudo apt-get install -y libreoffice-style-tango
sudo apt-get install -y libreoffice-templates
sudo apt-get install -y libreoffice-report-builder
}
installation_package_pour_vox(){
sudo apt-get install -y python-tk
sudo apt-get install -y lame
sudo apt-get install -y libttspico0
sudo apt-get install -y libttspico-utils
}
copie_profil_libreoffice_ecole(){
if [ ! -d $chemin_destination_profil ];then #si le dossier n'existe pas
mkdir -p $chemin_destination_profil
unzip $chemin_origine_dossier_profil$nom_archive -d $chemin_destination_profil
# cp -R $chemin_origine_dossier_profil* $chemin_destination_profil
else
if [ ! -d $chemin_racine_profil_libreoffice/4/user/ecole ];then #si loe n'a jamais ete installe
mv $chemin_racine_profil_libreoffice $chemin_racine_profil_libreoffice_sauve
else
chmod -R ogu+w $chemin_destination_params_toolbar_profil # redonner les droits d'écriture sur les toolbars avant déplacement
rm -rf $chemin_racine_profil_libreoffice
fi
# if [ -d $chemin_racine_profil_libreoffice_sauve ];then #si le dossier existe
# rm -rf $chemin_racine_profil_libreoffice_sauve
# fi
# if [ -f $chemin_destination_params_toolbar_profil/custom_toolbar_1a07.xml ];then
# fi
mkdir -p $chemin_destination_profil
unzip $chemin_origine_dossier_profil$nom_archive -d $chemin_destination_profil
#cp -R $chemin_origine_dossier_profil* $chemin_destination_profil
fi
# params du profil ecole
rm $chemin_destination_params_ecole_profil/nom_rep.ini
chmod -R ogu-w $chemin_destination_params_toolbar_profil
chmod a+rwx $chemin_destination_params_toolbar_profil/standardbar.xml
chmod a+rwx $chemin_destination_params_toolbar_profil/textobjectbar.xml
}
restaure_ancien_profil(){
if [ -d $chemin_racine_profil_libreoffice_sauve ];then #si le dossier existe
chmod -R ogu+w $chemin_racine_profil_libreoffice # donne les droits d'écriture sur le dossier au cas où
rm -rf $chemin_racine_profil_libreoffice
echo $chemin_racine_profil_libreoffice_sauve
echo $chemin_racine_profil_libreoffice
mv $chemin_racine_profil_libreoffice_sauve $chemin_racine_profil_libreoffice
if [ -f $chemin_destination_params_toolbar_profil/custom_toolbar_1a07.xml ];then
chmod -R ogu-w $chemin_destination_params_toolbar_profil
chmod a+rwx $chemin_destination_params_toolbar_profil/standardbar.xml
chmod a+rwx $chemin_destination_params_toolbar_profil/textobjectbar.xml
fi
fi
}
restaurer_profil_defaut(){
chmod -R ogu+w $chemin_racine_profil_libreoffice # donne les droits d'écriture sur le dossier au cas où
rm -rf $chemin_racine_profil_libreoffice
}
installer_extensions(){
unopkg remove -f LireCouleur
unopkg add -f $chemin_extension_lirecouleur
unopkg remove -f Grammalecte
unopkg add -f $chemin_extension_grammalecte
}
installer_police_caractere(){
chemin_dossier_polices=$chemin_origine_dossier_ressources"polices/"
if [ ! -d "~/.fonts" ]; then
mkdir ~/.fonts
fi
cp $chemin_dossier_polices* ~/.fonts/
}
choix_install_uninstall(){
connexion=$(verification_connexion_internet)
if [ $connexion = "-1" ]; then # si connexion internet
zenity --width="230" --height="210" --info --text "Aucun accès à Internet détecté. Certaines fonctionnalités ou extensions seront peut-être absentes!"
fi
#reponse=`zenity --width="230" --height="210" --list --radiolist --title="LibreOffice école" --text "<span color=\"blue\">Voulez-vous installer LibreOffice école 2.05 ou le désinstaller?</span>" --column 'Choix...' --column ' ' true "Installer" false "Désinstaller"`
pkill soffice.bin
if [ "$1" = "Installer" ]; then
if [ "$2" = "init" ]; then
installation_package_pour_vox
installer_police_caractere
installation_themes_LO
fi
copie_profil_libreoffice_ecole
installer_extensions
else
if [ "$1" = "Désinstaller" ]; then
if [ -d $chemin_racine_profil_libreoffice_sauve ];then #si le dossier existe
zenity --width="500" --height="210" --question --title="LibreOffice école" --text "
<span color=\"black\">Un profil sauvegardé a été détecté.</span>
<span color=\"black\">Voulez-vous le restaurer ou préférez vous appliquer le profil par défaut de libreOffice?</span>
<span color=\"blue\"> </span>
<span color=\"blue\">Oui ou Yes:</span>
<span color=\"black\">Restauration du profil sauvegardé</span>
<span color=\"blue\"> </span>
<span color=\"red\">Non ou No (ou fermeture de la fenêtre):</span>
<span color=\"black\">Restauration du profil par défaut de LibreOffice</span>
"
if [ $? = 0 ]; then
restaure_ancien_profil
else
restaurer_profil_defaut
fi
else
restaurer_profil_defaut
fi
else
zenity --info --text "Abandon de l'installation."
exit
fi
fi
}
#copie_profil_libreoffice_ecole
#restaure_ancien_profil
test_version_libreoffice $la_version_LO_mini_1
if [ $comparaison_version_LO = -1 ]; then # version LO inferieure à celle requise
zenity --width="350" --height="100" --info --text "La version actuelle "$la_version_installee_LO" de libreOffice est inférieure à celle requise, c'est à dire la "$la_version_LO_mini_1" . Certaines fonctionnalités et extensions peuvent ne pas fonctionner."
fi
choix_install_uninstall $@
#zenity --info --text "Installation terminée."
#!/bin/bash
version_libreoffice=$(libreoffice --version | cut -d' ' -f2)
#version_LO_mini=6.2
reponse=0
vercomp () {
if [[ $2 == $1 ]]
then
return 0
fi
local IFS=.
local i ver1=($2) ver2=($1)
# fill empty fields in ver1 with zeros
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
do
ver1[i]=0
done
for ((i=0; i<${#ver1[@]}; i++))
do
if [[ -z ${ver2[i]} ]]
then
# fill empty fields in ver2 with zeros
ver2[i]=0
fi
if ((10#${ver1[i]} > 10#${ver2[i]}))
then
return 1
fi
if ((10#${ver1[i]} < 10#${ver2[i]}))
then
return 2
fi
done
return 0
}
testvercomp () {
vercomp $2 $1
case $? in
0) reponse=0;; #version egale
1) reponse=1;; #version sup
2) reponse=-1;; #version inf
esac
}
#testvercomp $version_libreoffice $version_LO_mini
testvercomp $version_libreoffice $1
echo $reponse
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment