#!/bin/bash
# Yannick - http://blog.uggy.org/post/2012/01/12/Booster-Liferea

# Sources  
#https://wiki.archlinux.org/index.php/Firefox_Ramdisk
#http://justanotherdave.ca             Pas de lien valide vers l article
#http://www.verot.net/firefox_tmpfs.htm
#http://forums.gentoo.org/viewtopic-t-717117-highlight-firefox.html



# test si le repertoire est monte en RAM ou non
# -z STRING       the length of STRING is zero
if test -z "$(mount | grep -F "${HOME}/.tmpfs" )"
then
# Si ce n'est pas le cas, il le monte en ram
mount "${HOME}/.tmpfs"
fi



# Le but maintenant est de savoir si on doit copier 
# Backup -> Ram (Boot du PC par exemple)
# ou
# Ram -> Backup (Liferea en cours d'utilisation)
#
# Pour cela on utilise un fichier Flag  .unpacked qu'on met en RAM aussi et qui indique en gros que liferea est en RAM.
# Si le Flag est present en RAM, alors on fait des copies RAM -> Disque (sans copier le Flag)
# Si le Flag n'est pas présent, alors il faut mettre Liferea en RAM et donc on fait une copie Disque -> RAM (+ ajout Flag)




# Si le fichier Flag .unpacked  existe c'est que Lifera est bien en RAM
if test -f "${HOME}/.tmpfs/.unpacked"
 then
    # Copie de la RAM vers le Backup en faisant un rsync mais sans mettre le Flag .unpacked !
    rsync --exclude='Cache' --exclude='.unpacked' --exclude='lock' -r "${HOME}/.tmpfs/" "${HOME}/.tmpfs_backup/"

 # Sinon ( .unpacked n'existe pas) donc Liferea n'est pas en RAM
 else
    # Copie  du backup vers  le rep .tmpfs en RAM puis ajout du Flag .unpacked 
    cp -r   ${HOME}/.tmpfs_backup/*   ${HOME}/.tmpfs/   && touch ${HOME}/.tmpfs/.unpacked
fi

