Re: [grisbi-devel] Nouvelle version unstable 1.9.99
Guillaume Castagnino <[email protected]>
| Newsgroups | gmane.linux.grisbi.devel.french |
|---|---|
| Message-ID | <[email protected]> |
Bonjour, Donc c’est bien ce que je supposait :) Au sujet de mettre en message… En fait ça saute déjà aux yeux : l’assistant de premier lancement apparait (d’ou ma surprise, ça fait un peu flipper comme transition :D) J’ai bidouillé un script qui dumpe les paramètres gsettings et génère un fichier de conf avec (en pièce jointe) Je m’apperçois que c’est loin d’être parfait : lis clés avec les valeurs par défaut du schéma gsettings ne sont pas dumpées, le comportement du parser de conf est de ne pas prendre la valeur par défaut en cas de clé absente, mais par exemple pour les booléens, il se passe une conversion clé vide => false. Donc en gros mon approche ne marche pas. Il faudrait arriver à avoir l’exhaustivité des clés, en travaillant un peu plus mon script de migration. Si il est possible de générer un fichier de conf tout en continuant à lire la conf gsettings, ça pourrait être la transition la moins douloureuse effectivement… Ça ne règle pas le problème des sauts de version, mais c’est un premier pas. @+ -- Guillaume Castagnino [email protected] Le mardi 05 janvier 2021 à 11:33 +0100, Pierre a écrit : > Le 05/01/2021 à 09:08, Ludovic Rousseau a écrit : > > Bonjour, > > En fait il y a plusieurs solutions. Toutefois je me demande quel est > l'impact réel du changement. Y a-t-il beaucoup de paramètres qui sont > modifiés par rapport au paramétrage par défaut. > > Si il y en a peu, on peut juste mettre un message demandant de > balayer > les paramètres qui sont en bleu pour les remettre. > > Sinon une opération moins douloureuse est de compiler en mode > gsettings > et de sauvegarder aussi dans un fichier de conf. > > Lors d'une prochaine version qui devrait arriver rapidement après la > 2 > on passera avec un fichier de configuration. > > Merci de vos commentaires. > > > Le mar. 5 janv. 2021 à 08:14, Guillaume Castagnino > > <[email protected] > > <mailto:[email protected]>> a écrit : > > > > Bonjour, > > > > > > Bonjour Guillaume, > > > > Je suis en train de mettre à jour mon ebuild (Gentoo), et je me > > pose > > une question sur ça : > > > > https://github.com/grisbi/grisbi/commit/ce7c67918a938a532fe63aa8dcf5baec575705a8 > > > > <https://github.com/grisbi/grisbi/commit/ce7c67918a938a532fe63aa8dcf5baec575705a8 > > > > > > > Quelles sont les intentions exactement ? > > Ce changement pose un problème de migration de la configuration > > sur > > des anciennes installations utilisant gsettings (petit choc à > > l’ouverture de grisbi :D). Du coup, je pense conserver la conf > > gsettings avec « --disable-config-file ». > > Sauf que à long terme, vous pensez faire quoi ? Serait-il plus > > intéressant de repasser sur un fichier de conf (comme ce fut le > > cas > > il y a quelques années), ou bien on peut continuer sur > > gsettings > > sans arrière pensée ? > > > > > > Le problème est que gsettings ne fonctionne pas bien sur Windows et > > macOS. Sur ces 2 plateformes on est revenu à un fichier de > > configuration. > > Pour avoir le même code sur GNU/Linux (et donc les mêmes bugs) > > Pierre et > > moi avons choisi de passer au fichier de conf aussi sur GNU/Linux. > > > > Mais effectivement se pose le problème d'une migration de la > > configuration. Je n'avais pas pensé à ça. > > Que faire ? > > > > à+ > > > > -- > > Dr. Ludovic Rousseau > > > > _______________________________________________ > > devel mailing list > > [email protected] > > http://listes.grisbi.org/mailman/listinfo/devel > > > > _______________________________________________ devel mailing list [email protected] http://listes.grisbi.org/mailman/listinfo/devel
gsb_convert_conf.sh
(application/x-shellscript, 870 B)
#!/bin/bash
# list all categories conversion
# keys are the same on both side
declare -A mapping
mapping["/"]="Root"
mapping["files/backup"]="Backup"
mapping["files/file"]="File"
mapping["form"]="Form"
mapping["general"]="General"
mapping["geometry"]="Geometry"
mapping["messages/tips"]="Tips"
mapping["messages/delete"]="Delete_msg"
mapping["messages/warnings"]="Warnings_msg"
mapping["panel"]="Panel"
mapping["prefs"]="Prefs"
mapping["scheduled"]="Scheduled"
OLDIFS=$IFS
IFS=
# get gsettings configuration
conf=$(dconf dump /org/gtk/grisbi/)
# convert categories
for key in "${!mapping[@]}"; do
conf=${conf/\[$key\]/\[${mapping[$key]}\]}
done
# fix quoted strings
conf=$(echo $conf | sed -e "s/='\([^']*\)'/=\1/")
# convert file array
conf=$(echo $conf | awk '/=\[.*\]/ {gsub(/\['\''/, ""); gsub(/'\''\]/, "");gsub(/'\'', '\''/, ";")}; {print}')
echo $conf