Journal Digikam ... de 0.6 à 0.8

Posté par  .
Étiquettes : aucune
0
15
déc.
2006
Juste le fruit de mes aventures avec Digikam.
Je disposais d'une ancienne version (0.6) sur une Mandrake 10.2.
J'ai imprudemment migré directement vers une Mandriva 2007.

Ca c'est plus ou moins bien passé (souci d'imprimante, lecture fichiers midi ...) mais bon rien de grave.
Sauf que Digikam est ici en version 0.8.x, et qu'il gère les albums ... dans une base SQLite embarquée, alors que la 0.6 utilisait un fichier XML.
Et pas de conversion automatique.

La solution est simple (merci quand même à la liste Digikam-users et à Gilles Caulier et Duncan Hill en particulier qui m'ont mis sur la voie.
Il s'agit de récupérer les sources de la version 0.7.4 et de ses dépendances (libexif, gphoto2 ...etc).
C'est assez bien documenté, et en plus le configure vous dit ce qu'il manque.
L'idée est de compiler cette vieille version dans un coin (genre /opt).
et de l'installer avec la séquence classique :
configure (avec --prefix=/opt)
make
make install

Ne cherchez surtout pas à compiler la première version 0.7 à utiliser SQLite, elle ne compile pas ... enfin ça à pas l'air trivial, et j'y ai perdu pas mal de temps...
En revanche, si toutes les paquets "devel" nécessaires sont présents, le build et l'installation de la 0.7.4 ne nécessitent aucune autre adaptation que le prefix.

Quand on exécute cette version, elle se charge de convertir le fichier XML en base SQLite.

Passer ensuite sur la version 0.8.x, et tout se passe bien. Il s'occupe tout seul de convertir l'ancien format SQLite vers le nouveau compatible avec la 0.8.x.
  • # Mouais...

    Posté par  (site web personnel) . Évalué à 5.

    Ils ont fait ça goret quand même chez digikam...
    • [^] # Re: Mouais...

      Posté par  (site web personnel) . Évalué à 4.

      En effet ! Il faut pas considérer que les gens vont mettre à jour de la version N à la N+1 sans jamais en sauter une... C'est pas très difficile de laisser le code de migration ad vitam eternam (et pas bloatware non plus, la condition est en général un simple if () et ce n'est fait qu'une fois.) Dans Claws Mail on a ça vers le début du main():
              if (!is_dir_exist(RC_DIR)) {
                      gboolean r = FALSE;
                      if (is_dir_exist(OLD_GTK2_RC_DIR))
                              r = migrate_old_config(OLD_GTK2_RC_DIR, RC_DIR, "Sylpheed-Claws 2.6.0");
                      else if (is_dir_exist(OLDER_GTK2_RC_DIR))
                              r = migrate_old_config(OLDER_GTK2_RC_DIR, RC_DIR, "Sylpheed-Claws 1.9.15");
                      else if (is_dir_exist(OLD_GTK1_RC_DIR))
                              r = migrate_old_config(OLD_GTK1_RC_DIR, RC_DIR, "Sylpheed-Claws 1.0.5");
                      if (r == FALSE && !is_dir_exist(RC_DIR) && make_dir(RC_DIR) < 0)
                              exit(1);
              }
      
      • [^] # Re: Mouais...

        Posté par  (site web personnel) . Évalué à 1.

        En même temps, c'est pas une version stable officiellement non plus (< 1.0). Pour toutes les versions 0.x, j'aime bien ne pas m'encombrer de code de compatibilité avec une ancienne 0.y, y<x. Après tout, c'est bien ce que veut dire le 0 : c'est pas une version 'finale', c'est du dév donc 'instable' en termes d'API/ABI.

        Par contre, il aurait été utile de faire un petit utilitaire de conversion à côté.
      • [^] # Re: Mouais...

        Posté par  . Évalué à 1.

        Bon c'est intéressant ... une critique construtive, quoi.
        A proposer sans doute à l'équipe de Digikam ... ;)

        J.L.
      • [^] # Re: Mouais...

        Posté par  . Évalué à 1.

        Goret ... pas difficile ...
        Peut-être, mais moi je dis Merci à l'équipe qui s'occupe de Digikam.
        Et je suis sûr que si vous avez de bonnes idées, ils seront très contents de recevoir votre aide.

        En tous cas, moi, j'ai été très heureux de trouver 2 personnes qui ont répondu très vite à mon problème.
    • [^] # Re: Mouais...

      Posté par  (site web personnel) . Évalué à 3.

      C'est ce qui s'appelle " être prêt pour le Desktop " !
    • [^] # Re: Mouais...

      Posté par  . Évalué à 1.

      Goret, goret ... qd on voit des produits payants (et chers) pas foutus d'être compatible entre eux ... il ne faut peut-être pas être trop sévère avec des gens qui font souvent ça sur leur temps libre ...
      Bref, si tu as une idée ... et du temps ... à proposer je pense que les developpeurs de Digikam seront contents de t'accueillir.
      Quoi qu'il en soit, je re-remercie une fois de plus Gilles Caulier pour son aide précieuse, et rapide.
  • # Tu me reconnais...

    Posté par  (site web personnel) . Évalué à 9.

    Digikam, tu me reconnais?
  • # La réponse est simple...

    Posté par  . Évalué à 1.

    en effet, sans avoir lu plus avant ton journal, je peux t'assurer que la réponse est encore plus simple et passe par l'utilisation d'un logiciel tel jBrout qui stocke de façon pérenne les informations (tag, commentaire) dans la photo au lieu d'une base de données.

    Ainsi pas de problème et de nombreux avantages.

    http://fr.wikipedia.org/wiki/JBrout

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.