• [^] # Re: Réinventer la roue ?

    Posté par . En réponse au message [Algorithmie] Aire la plus grande de blocs se superposant. Évalué à 3.

    C'est prévu.

    Un peu avant la sortie de Setup 0.1-alpha1, il était prévu de rassembler Sepa et Repoma (outils de création de paquets et de gestion des dépôts) dans Setup. Ceci amenait plusieurs avantages :

    * Pour Sepa, sachant que c'est dans la liblpackage, la création de paquet est facilité et un greffon KDevelop est envisageable. C'est typiquement un truc qui plaît au décideur pressé, un IDE qui permet de faire de l'élaboration à la distribution d'un projet
    * Pour Repoma, le C++ est largement plus puissant que le bash, et permet par exemple de gérer une base de donnée SQL en utilisant QtSql

    C'est ce dernier point qui est intéressant, car cette base de donnée peut servir à conserver plein d'informations, donc les deltas, leurs versions, etc.

    Du côté de l'arbre du dépôt, les informations de deltas seront ajoutées au fichier packages.xz, sous la forme

    Deltas=version_source~version_cible version_source~version_cible ...

    Ainsi, quand on a la version source et la version cible, Setup peut calculer les deltas qu'il appliquera, s'il doit en appliquer plusieurs, et dans quel ordre. Par exemple, pour passer de la version 1.1 à la version 1.4 du paquet proposant ceci :

    Deltas=1.1~1.2 1.1~1.3 1.2~1.3 1.2~1.4 1.3~1.4

    Setup sait qu'il doit par exemple appliquer 1.1~1.3 puis 1.3~1.4. Voilà, le dépôt n'est pas pollué par trop de deltas, mais l'utilisateur sera toujours facilement à jour :) .