• [^] # Re: Point par point

    Posté par (site web personnel) . En réponse au journal Pourquoi écrire un package Debian est-il si compliqué?. Évalué à 6.

    Probablmenet pas non. La meilleure stratégie est à mon avis de versionner le tout (sources amont + répertoire debian/), mais certains préfèrent effectivement ne versionner que leur travail d'empaquetage, ce qui nécessite d'utiliser des scripts spécifiques pour cela. Personnellement je n'aime pas du tout cela, à cause du côté artificiel lié à l'utilisation de ces scripts.

    On comprend mieux pourquoi chaque paquet debian est un fork du projet upstream avec une multitude de patches.

    Pourquoi est-ce que c'est aussi compliqué et aussi mal expliqué sous Debian, alors que c'est simple et clair ailleurs?

    Compliqué, parce qu'on veut faire quelque chose de propre, solide et bien documenté, et que s'il suffisait pour cela de compiler le logiciel amont, ça se saurait. Debian existe pour uniformiser un système, et ça demande des efforts, sinon il n'y aurait pas de distribution.

    Il y a quand même pas mal de complexité ajoutée pour rien. Je suis habituée à la compilation sur ArchLinux, et c'est redoutable de simplicité. Si tu veux créer un paquet, il tu suffit:

    • de créer un fichier PKGBUILD (a partir d'un template) dans un dossier vide (mkdir PKGNAME && cd PKGNAME && cp ~/Template/PKGBUILD .)
    • d'y coller l'URL de téléchargement du tarball sources upstream ($EDITOR PKGBUILD)
    • inscrire les instructions pour compiler le paquet
    • exécuter makepkg -g

    Lorsqu'on a le bon template, créer un paquet relativement propre peut se faire en 5 minutes grand maximum. Et ce mode de fonctionnement n'empêche pas de faire du packaging propre en splittant un paquet source en plusieurs paquets binaires. Cela n'empêche pas non plus de respecter la FHS.

    En comparatif, on a:

    • ArchLinux: créer un paquet se fait en 5 commandes shell
    • Debian: largement plus d'une dizaine (wget pour télécharger, tar pour décompresser, mkdir debian, echo 9 >debian/compat, ...)

    J'ai choisi mon camp