Je suis loin d'être d'être d'accord avec tes arguments (voir les autres commentaires).
Je n'ai pas analysé ou argumenté très sérieusement — j'ai écrit un journal qui dénonce grave mais j'ai oublié de l'écrire au début, mea culpa maxima — mais si j'écris un port pour FreeBSD j'utilise un programme, make et une documentation, le Porter's Handbook, si j'écris un port pour MacPorts j'utilise deux programmes port et openssl (pour calculer les checkusms) et une documentation, le MacPorts Guide. Et dans le cas facile, j'ai une procédure simple à suivre et j'écris un fichier, le Makefile ou le Portfile.
Si j'écris un package pour Debian, c'est un peu plus flou, on va dire! Et du coup même le cas simple est assez difficile.
Pour faire le port MacPorts c'et tellement rapide que je te décris la procédure pas à pas ici:
J'ouvre le guide https://guide.macports.org avec toute la doc dans une bonne grosse page HTML, pas très subtil, mais pratique pour la fonction recherche de mon Browser.
Je recopie le contenu des lignes 2-14, mutatis mutandis, je laisse tomber la ligne 1 qui est optionnelle. Il ne s'agit que de champs informatifs, genre qui, que, quoi, dont, où, et l'URL où télécharger la source. J'ai déjà presque fini, ça a duré maximum 1/4 d'heure.
Je calcule les checksums de la distribution avec SSL. Comme je n'ai pas éxécuté la commande dans un C-u M-! de Emacs, j'utilise une vieille technique de byteninja pour faire un copier-coller des checkums dans l'éditeur. J'insiste là-dessus, parceque c'est la partie la plus technique de la procédure.
Comme mon port utilise bsdmake pour compiler et que mon intuition de byteninja me dit que je vais sûrement avoir besoin d'écrire bsdmake quelque part dans mon Portfile donc je lance une recherche du mot-clef BSD dans ma grosse page web de documentation: il y a 8 correspondances, la troisième me paraît bien juteuse:
build.type
Defines which build software is required and sets ${build.cmd} accordingly. The available options are BSD Make, GNU Make, and Xcode.
Default: default (the default Make on the current platform)
Values: default bsd gnu xcode
Example:
build.type bsd
Bon très bien, ajoutons une ligne build.type bsd au Portfile.
Je teste, installe, désinstalle, tout marche nickel. C'est presque magique! J'en suis à 1/2 heure maxi.
Je veux uploader mon port pour que mes copains sous MacPorts puissent l'utiliser. Comme je ne trouve pas tout de suite la section adéquate dans le sommaire je réutilise la fonction recherche dans ma bonne grosse page HTML et je tombe rapidement sur le paragraphe adéquat https://guide.macports.org/#project.contributing qui décrit une procédure propre et limpide.
Voilà j'ai bossé 3/4 d'heures en partant des informations suivantes: le site web de mon projet à porter et le manuel de MacPorts et en ignorant potentiellement tout de la procédure. Et j'ai fini!
La procédure d'écriture d'un package pour Debian est objectivement à plusieurs téra-années-lumières de ce niveau de qualité et de simplicité.
[^] # Re: Mouaif
Posté par Michaël (site web personnel) . En réponse au journal Pourquoi écrire un package Debian est-il si compliqué?. Évalué à 10. Dernière modification le 08 septembre 2014 à 23:06.
Je n'ai pas analysé ou argumenté très sérieusement — j'ai écrit un journal qui dénonce grave mais j'ai oublié de l'écrire au début, mea culpa maxima — mais si j'écris un port pour FreeBSD j'utilise un programme,
makeet une documentation, le Porter's Handbook, si j'écris un port pour MacPorts j'utilise deux programmesportetopenssl(pour calculer les checkusms) et une documentation, le MacPorts Guide. Et dans le cas facile, j'ai une procédure simple à suivre et j'écris un fichier, leMakefileou lePortfile.Si j'écris un package pour Debian, c'est un peu plus flou, on va dire! Et du coup même le cas simple est assez difficile.
Pour faire le port
MacPortsc'et tellement rapide que je te décris la procédure pas à pas ici:J'ouvre le guide https://guide.macports.org avec toute la doc dans une bonne grosse page HTML, pas très subtil, mais pratique pour la fonction recherche de mon
Browser.Armé de mon œil de lynx, je descends à la section 4.2, https://guide.macports.org/#development.creating-portfile
Je recopie le contenu des lignes 2-14, mutatis mutandis, je laisse tomber la ligne 1 qui est optionnelle. Il ne s'agit que de champs informatifs, genre qui, que, quoi, dont, où, et l'URL où télécharger la source. J'ai déjà presque fini, ça a duré maximum 1/4 d'heure.
Je calcule les checksums de la distribution avec SSL. Comme je n'ai pas éxécuté la commande dans un
C-u M-!de Emacs, j'utilise une vieille technique de byteninja pour faire un copier-coller des checkums dans l'éditeur. J'insiste là-dessus, parceque c'est la partie la plus technique de la procédure.Comme mon port utilise
bsdmakepour compiler et que mon intuition de byteninja me dit que je vais sûrement avoir besoin d'écrirebsdmakequelque part dans monPortfiledonc je lance une recherche du mot-clef BSD dans ma grosse page web de documentation: il y a 8 correspondances, la troisième me paraît bien juteuse:Bon très bien, ajoutons une ligne
build.type bsdau Portfile.Je teste, installe, désinstalle, tout marche nickel. C'est presque magique! J'en suis à 1/2 heure maxi.
Je veux uploader mon port pour que mes copains sous MacPorts puissent l'utiliser. Comme je ne trouve pas tout de suite la section adéquate dans le sommaire je réutilise la fonction recherche dans ma bonne grosse page HTML et je tombe rapidement sur le paragraphe adéquat https://guide.macports.org/#project.contributing qui décrit une procédure propre et limpide.
Voilà j'ai bossé 3/4 d'heures en partant des informations suivantes: le site web de mon projet à porter et le manuel de MacPorts et en ignorant potentiellement tout de la procédure. Et j'ai fini!
La procédure d'écriture d'un package pour Debian est objectivement à plusieurs téra-années-lumières de ce niveau de qualité et de simplicité.