#1 Le 30/01/2010, à 14:53
- Jonas
Paquet deb, sauvegarde de l'ancienne configuration
Bonjour à tous
Je suis en train de créer des paquets deb pour les scripts réalisé par l'équipe de mythtv-fr (Pour ceux qui ne connaissent pas mythtv c'est un formidable mediacenter multiposte)
Ces scripts servent à récupérer sur des sites web des informations tels que métadonnées de film, horaire cinéma et autres. Il faut donc indiqué dans les paramètres de mythtv ou se trouvent ces scripts.
Je voudrais bien que mes deb configurent tous seul mythtv puis restaure l'ancienne configuration lors de la désinstallation.
MythTV dispose d'un système en ligne de commande permettant de très simplement récupérer des paramètres de config ou de la modifié. Mon problème est que je ne sais pas où je dois sauvegarder les anciens paramêtres.
Si quelqu'un peux me dire comment ça marche, me donner une piste ou tout simplement m'aider à orienté mes recherche merci
Pour poster facilement des images et fichiers sur un forum jetez un coup d'oeil ici
Hors ligne
#2 Le 30/01/2010, à 15:43
- yoann21
Re : Paquet deb, sauvegarde de l'ancienne configuration
Salut,
Il fait déjà que ton paquet installe la nouvelles config à un endroit précis.
Par exemple : /opt/mythtv_newconfig/
Ensuite dans le script de postinst de ton paquet :
- Tu déplaces l'ancienne configuration si elle existe dans /opt/mythtv_oldconfig/ par exemple
- Tu copies dans ~ ta config modifié que tu auras stocké dans /opt/mythtv_newconfig/
Dans le script de postrm :
- Suppression de la configuration de mythtv dans ~
- Copies dans ~ de la configuration dans /opt/mythtv_oldconfig
- Suppression des répertoires temporaires que tu t'es servi dans /opt
Par contre quand tu installes un paquet les scripts sont exécutés en root.
Donc $HOME ou ~ correspondent à /root
Il faut donc que tu détectes le chemin du répertoire utilisateur.
Voila les commandes dont je me sert pour déterminer l'utilisateur en cours depuis les scripts :
rep_user=`who | grep 'tty7' | cut -d ' ' -f1`
if [ -z "$rep_user" ]
then
rep_user=`who | grep ' :0 ' | cut -d ' ' -f1`
if [ -z "$rep_user" ]
then
rep_user=`users | cut -d " " -f1`
fi
fi
rep_user=/home/$rep_user
Autre chose :
Faits très attention lors de suppression. Tout ce que tu faits est exécuté en root.
Erreur classique et très destructrice :
cd un_repertoire
rm -R *
Si un_repertoire n'existe pas tu vides ton disque en partant de la racine !
Donc mets des liens en dur dans ton rm.
Dernière modification par yoann21 (Le 30/01/2010, à 15:45)
Hors ligne
#3 Le 31/01/2010, à 20:58
- Jonas
Re : Paquet deb, sauvegarde de l'ancienne configuration
MythTV ne stock pas la config dans un fichier texte dans home mais dans un base SQL sur un serveur (ça ajoute un peu de piment ).
Ce que je voudrais savoir c'est si le fait de mettre sauver l'ancien config dans "opt" est une norme ou si c'est un emplacement totallement "arbitraire".
Ayant continué mes recherche j'ai decouvert debconf. Ne serait-il pas plus propore de stocker les informations avec un
bd_set monpaquet/old_clef1 value1
bd_set monpaquet/old_clef1 value2
... (envion 5 clef)
Pour poster facilement des images et fichiers sur un forum jetez un coup d'oeil ici
Hors ligne