#!/usr/bin/env bash

. /usr/lib/eole/diagnose.sh

option=${1}
LOG_LTSP=/var/log/ltsp-cluster-lbagent.log

container_path_application=$(CreoleGet container_path_application)

if [ "${container_path_application}" = "" ];then
        LTSPAPPS="/"
    else
        LTSPAPPS=${container_path_application}
fi

sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' ${LTSPAPPS}/etc/ssh/sshd_config
sed -i 's/^AllowUsers/#AllowUsers/' ${LTSPAPPS}/etc/ssh/sshd_config
sed -i 's/^AllowGroups.*$/AllowGroups $ssh_allow_groups/' ${LTSPAPPS}/etc/ssh/sshd_config

chroot ${LTSPAPPS} chgrp fuse /dev/fuse
chroot ${LTSPAPPS} chmod g+w /dev/fuse

#copie des fichiers spécifiques aux conteneurs
#revoir le chemin dans le conteneur
mkdir -p ${LTSPAPPS}/usr/share/eole/
cp -a /usr/share/eole/ltsp/application/* ${LTSPAPPS}/usr/share/eole/

#on recupère le wrapper ltsp-localapps
cp /opt/lxc/ltspserver/rootfs/usr/bin/ltsp-localapps ${LTSPAPPS}/usr/bin/

if ! [ -f /etc/apt/sources.list.local ];then
    touch /etc/apt/sources.list.local
fi

# FIXME 2.3
## ajout/vérification des dépôts PPA pour Thunderbird et Epoptes
#CheckPPA 'http://ppa.launchpad.net/mozillateam/firefox-stable/ubuntu' 'CE49EC21'
#CheckPPA 'http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu' 'CE49EC21'
#CheckPPA 'http://ppa.launchpad.net/epoptes/ppa/ubuntu' '0350B375'
if [ $? -eq 0 ];then
    #Verification et ajout de la clef dans le conteneur ltspapps
    chroot ${LTSPAPPS} apt-key list |grep -q 0350B375
    if ! [ $? = 0 ];then
        chroot ${LTSPAPPS} apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0350B375 > /dev/null
    fi
fi
apt-get update &> /dev/null
if [ $? -ne 0 ];then
    EchoRouge "Impossible de mettre à jour les listes de paquets sur le maître"
    EchoRouge "Vérifiez votre configuration réseau"
    exit 1
fi
cp -f /etc/apt/sources.list ${LTSPAPPS}/etc/apt/sources.list
chroot ${LTSPAPPS} apt-get update &> /dev/null
if [ $? -ne 0 ];then
    EchoRouge "Impossible de mettre à jour les listes de paquets dans le conteneur ltspapps"
    EchoRouge "Vérifiez votre configuration réseau"
    exit 1
fi
apt-eole install-conteneur ltspapps python-openssl > /dev/null
apt-eole install-conteneur ltspapps epoptes > /dev/null

#On installe le paquet gnome-screensaver bug 3740
apt-eole install-conteneur ltspapps gnome-screensaver > /dev/null

# FIXME 2.3
#Suprression de la dependance sur le reseau pour le demarrage du lbagent
#sed -i 's/start on (net-device-up and local-filesystems)/start on local-filesystems/' ${LTSPAPPS}/etc/init/ltsp-cluster-lbagent.conf > /dev/null

#Suppresion de toutes les notifications de mises à jour sur le bureau
chroot ${LTSPAPPS} gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /apps/update-notifier/auto_launch false

#Installation des paquets supplémentaires dans ltspapps
applications_a_installer=$(CreoleGet applications_a_installer)
if ! [ -z "${applications_a_installer}" ];then
    for pkg in ${applications_a_installer};do
         apt-eole install-conteneur ltspapps "${pkg}"
    done
fi

if [ $(CreoleGet activer_serveur_nfs) = 'oui' ];then
    if ! egrep -q nfs /etc/modules;then
        echo nfs >> /etc/modules
        #Si nfs pas dans /etc/modules alors il n'est pas chargé
        modprobe nfs
    fi
    adresse_serveur_nfs=$(CreoleGet adresse_serveur_nfs)
    adresse_ip_application_link=$(CreoleGet adresse_ip_application_link)
    nfs_fstab_line="${adresse_serveur_nfs}:/home /home nfs auto,nouser,rsize=8192,wsize=8192,timeo=14,intr,acl,nolock,async,clientaddr=${adresse_ip_application_link} 0 0"

    if ! egrep -q 'nfs' ${LTSPAPPS}/etc/fstab ;then
        echo ${nfs_fstab_line} >> ${LTSPAPPS}/etc/fstab
    else
        #Attention / ne convient pas comme separateur sed
        sed  -i "s%^\d*.* /home nfs*.*$%${nfs_fstab_line}%" ${LTSPAPPS}/etc/fstab
    fi
    TestService nfs ${adresse_serveur_nfs}:2049
    if [ $? == 0 ];then
        if ! CreoleRun "mount |egrep -q '^${adresse_serveur_nfs}'" ltspapps; then
            CreoleRun 'mount /home' ltspapps
        fi
    else
        EchoRouge "Le serveur NFS (${adresse_serveur_nfs}) ne semble pas joignable"
    fi
fi

# FIXME 2.3
#if [ "$mode_conteneur_actif" = "oui" ]; then
#    . /etc/eole/containers.conf
#    #remonter des logs en mode non-conteneur
#    if [ ! -L $LOG_LTSP ]; then
#        rm -rf $LOG_LTSP
#        ln -s $container_path_ltspapps$LOG_LTSP $LOG_LTSP
#    fi
#fi

# Ajout de l'admin au groupe lpadmin pour la gestion des imprimantes
# Ajout de l'admin au groupe sudo pour la gestion des paquets
CreoleRun "id admin" ltspapps 2> /dev/null
if [ $? = 0 ];then
	CreoleRun "adduser admin sudo" ltspapps 2> /dev/null
	CreoleRun "adduser admin lpadmin" ltspapps 2> /dev/null
fi

exit 0
