Collection de ports

Les collections de ports (ou arbres de ports, ou simplement ports) sont des ensembles de makefiles et de correctifs fournis par les systèmes d'exploitation dérivés de BSD — FreeBSD, NetBSD et OpenBSD — offrant une méthode simple pour installer des logiciels ou créer des paquets binaires. Ils constituent généralement la base d'un système de gestion de paquets : les ports prennent en charge la création des paquets, tandis que des outils annexes gèrent leur suppression, leur mise à jour et d'autres tâches. Outre les systèmes BSD, quelques distributions Linux ont mis en place une infrastructure similaire, notamment Portage (en) pour Gentoo, l'Arch Build System (ABS) pour Arch, les Ports pour Crux Linux et les Templates pour Void Linux.

Le principal avantage du système de « ports » par rapport à un modèle de distribution binaire est que l'installation peut être personnalisée et optimisée en fonction des ressources disponibles. Par exemple, l'administrateur système peut facilement installer une version 32 bits d'un paquet si la version 64 bits n'est pas disponible ou n'est pas optimisée pour la machine en question. À l'inverse, le principal inconvénient réside dans le temps de compilation, qui peut être considérable. Ainsi, une installation complète d'un système FreeBSD via les ports peut prendre plusieurs jours, selon le matériel utilisé.

Ports FreeBSD

Jordan Hubbard a intégré ses macros de construction de ports (« port make macros ») au dépôt CVS de FreeBSD le . Le Makefile de sa suite d'installation de paquets avait été intégré un an plus tôt (le ). L'infrastructure centrale des ports a d'abord été maintenue par Hubbard et Satoshi Asami pendant plusieurs années. L'équipe de gestion des ports (Ports Management Team) a été constituée par la suite pour prendre en charge cette tâche.

pkgsrc de NetBSD

La collection de ports pkgsrc de NetBSD se distingue par sa portabilité et sa capacité à fonctionner sur divers systèmes d'exploitation autres que NetBSD lui-même, notamment les autres systèmes BSD, SmartOS/illumos, macOS, Minix 3 (en), Linux et d'autres systèmes de type Unix. Créé en en s'inspirant du système de ports existant de FreeBSD, pkgsrc suit un calendrier de publication trimestriel et comptait plus de 22 000 paquets en . Lors de la sortie de la version 1.4, DragonFly BSD avait annoncé l'adoption de pkgsrc comme système officiel de gestion de paquets. Toutefois, avec la version 3.4, le projet a développé sa propre implémentation de ports baptisée « dports » et a basculé intégralement vers celle-ci avec la version 3.6. Le développement s'effectue via leur dépôt Git.

Ports d'OpenBSD

Contrairement aux ports FreeBSD (en), sur lequel il était initialement fondé, le système de ports d'OpenBSD est conçu comme une source destinée à générer le produit final : les paquets. Ainsi, l'installation d'un port consiste d'abord à créer un paquet, puis à l'installer. Les ports se composent d'un fichier makefile, de fichiers texte contenant des descriptions et des messages d'installation, des éventuels correctifs (patches) nécessaires pour adapter le programme à OpenBSD, ainsi que d'une liste de fichiers (packing list) indiquant les éléments à inclure dans les paquets. L'arborescence des ports s'appuie sur un ensemble de makefiles standard — dont certains sont partagés avec l'arborescence des sources — pour assurer l'essentiel de ses fonctionnalités ; cette infrastructure commune inclut de nombreuses fonctions utilitaires destinées aux développeurs de ports, ce qui permet souvent de créer ces derniers très simplement.

Fin , Nikolay Sturm, développeur OpenBSD, a annoncé que l'arborescence des ports « -stable » devait être considérée comme n'étant plus maintenue, faute de ressources suffisantes. Cette situation contraignait de fait les utilisateurs à employer les arborescences « -current » (pour les ports comme pour le système de base) afin de pouvoir bénéficier des mises à jour de sécurité. En 2009, il a été décidé de relancer l'arborescence des ports « -stable » sous la supervision de Robert Nagy et Jasper Lievisse Adriaanse.

Il existe trois sites web non officiels proposant une liste des ports et paquets OpenBSD :

Voir aussi

Références

  1. ↑ (en) « CVS log for ports/Mk/bsd.port.mk », sur www.freebsd.org (consulté le )
  2. ↑ (en) « CVS log for src/usr.sbin/pkg_install/Makefile », sur www.freebsd.org (consulté le )
  3. ↑ (en) « Joyent Packages Documentation - Install On macOS » [archive du ], sur pkgsrc.joyent.com (consulté le )
  4. ↑ (en) « Joyent Packages Documentation - Install On Linux » [archive du ], sur pkgsrc.joyent.com (consulté le )
  5. ↑ (en) Matthew Dillon, « PKGSRC will be officially supported as of the next release » [archive du ], sur www.dragonflybsd.org (consulté le )
  6. ↑ (en) Justin Sherrill, « DragonFly 3.4 release planning » [archive du ], sur www.dragonflybsd.org (consulté le )
  7. ↑ (en) « GitHub - DragonFlyBSD/DPorts: The dedicated application build system for DragonFly BSD » [archive du ], sur GitHub (consulté le )
  8. ↑ (en) William Yodlowsky, « 4.6-stable ports » [archive du ] (consulté le )
  9. ↑ « OpenBSD Ports Readme », sur openports.pl (consulté le )
  10. ↑ (en) « OpenPorts.se | The OpenBSD package collection » [archive du ], sur openports.se (consulté le )
  11. ↑ (en) « ports.openbsd.nu - frontend to ports », OpenBSD Journal,‎ (lire en ligne [archive du ], consulté le )
  12. ↑ (en) Marc Espie, « Re: Why is there no pkg_find(1)? » [archive du ], sur marc.info, (consulté le )
  13. ↑ (en) « Time to say goodbye » [archive], (consulté le )
  14. ↑ « OpenBSD ports ∴ categories », sur ports.su (consulté le )
  15. ↑ (en) « Introducing ports.su — ports-readmes mirror and ports search », OpenBSD Journal,‎ (lire en ligne [archive du ], consulté le )

Liens externes