• [^] # Re: Paquet Debian

    Posté par (site web personnel) . En réponse à la dépêche LaTeXila 2.2, environnement LaTeX intégré pour GNOME. Évalué à 3.

    Par contre ce que je ne comprends pas, c'est de vouloir avoir dans Git l'équivalent du tarball.

    Ah, c'est vrai que j'avais oublié d'expliquer cela. Ce n'est effectivement pas une nécessité, tout comme il n'est pas non plus nécessaire d'utiliser un gestionnaire de version d'ailleurs. C'est simplement pratique : nous disposons d'un outil nommé pristine-tar qui permet de stocker les informations nécessaires à la reconstruction du tarball exact dans le gestionnaire de versions, ce qui permet de tout mettre dedans et simplifie d'autant la gestion du paquet.

    pristine-tar fonctionne en stockant dans une branche détachée — c'est à dire sans origine commune avec quelque autre branche — quelques informations : un commit d'origine proche du contenu du tarball, la compression utilisée et un delta binaire entre le tarball ainsi généré et l'original. On essaie de minimiser ce delta en utilisant un commit d'origine aussi proche que possible du contenu du tarball : un fichier de trop, tel un .gitignore ne posera pas de problème, mais plusieurs gros fichiers produiront un gros delta, ce qui n'est ni élégant ni efficace.

    Indépendamment de la gestion de version, un paquet Debian source est constitué grosso modo de deux fichiers : le tarball d'origine et une archive contenant les fichiers spécifiques au paquet Debian. Lors de la décompression de ce paquet source, le tarball d'origine est simplement extrait, et les fichiers spécifiques à Debian sont placés dans un répertoire debian/, pour former ce que j'appellerais un répertoire de travail de paquet Debian. Lorsqu'on choisit de travailler sous contrôle de version, on y stocke le plus souvent tout le contenu du répertoire de travail, comprenant donc le contenu du tarball d'origine et le répertoire debian/.

    Le dépôt de contrôle de version contient donc de quoi travailler, mais pas de quoi reconstruire le tarball d'origine, donc a fortiori pas de quoi reconstruire le paquet source qui comprend ce tarball d'origine. pristine-tar pallie cela, en versionnant également de quoi reconstruire ce tarball.