Pkgsrc

gestionnaire de paquets

pkgsrc (pour package source) est un gestionnaire de paquets portable pour les systèmes d'exploitation de type Unix. C'est le gestionnaire de paquets par défaut pour NetBSD, SmartOS et Minix 3[2].

pkgsrc
Description de l'image Pkgsrc.svg.

Informations
Première version Voir et modifier les données sur Wikidata
Dernière version 2024Q1 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/NetBSD/pkgsrc.gitVoir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation Type UnixVoir et modifier les données sur Wikidata
Type Gestionnaire de paquetsVoir et modifier les données sur Wikidata
Licence Licence BSDVoir et modifier les données sur Wikidata
Documentation www.netbsd.org/docs/pkgsrcVoir et modifier les données sur Wikidata
Site web www.pkgsrc.orgVoir et modifier les données sur Wikidata

Présentation

modifier

Une des particularité de pkgsrc est d'être portable et de permettre de créer des paquets binaires pour 23 systèmes d'exploitation différents[3] dont la liste est donnée dans #Plateformes supportées.

pkgsrc contient actuellement plus de 26 000 paquets qui permettent de fournir des logiciels open source parmi les plus populaires.

pkgsrc est principalement basé sur l'utilisation d'un dérivé de NetBSD make et utilise un ensemble de fichiers appelés makefile pour construire de manière portable un paquet binaire à partir des sources téléchargés.

Installation de paquets

modifier

Il existe plusieurs façons d'installer des programmes à l'aide de pkgsrc :

  • Un utilitaire bootstrap contient un ensemble de paquets qui sont construits pour permettre de compiler les logiciels à partir des sources.
  • Des packages binaires peuvent être installés depuis une source locale ou distante via les outils pkg_add et pkg_delete.
  • Un utilitaire de haut niveau nommé pkgin[4] existe également et est conçu pour automatiser l'installation, la suppression et la mise à jour des paquets binaires d'une manière similaire à l'Advanced Packaging Tool de Debian[5].

Structuration d'un paquet

modifier

Un paquet est structuré avec un ensemble de fichiers dont notamment :

  • DESCR qui est un fichier texte décrivant le logiciel
  • distinfo qui contient les sommes de contrôle des fichiers source nécessaires à la construction du paquet
  • PLIST qui contient la liste des fichiers installés par le paquet
  • Makefile qui définit les variables nécessaires à la construction et l'installation du paquet
DISTNAME=       libmpdclient-2.20
PKGREVISION=    1
CATEGORIES=     audio
MASTER_SITES=   https://www.musicpd.org/download/libmpdclient/2/
EXTRACT_SUFX=   .tar.xz

MAINTAINER=     pkgsrc-users@NetBSD.org
HOMEPAGE=       https://github.com/MusicPlayerDaemon/libmpdclient
COMMENT=        Asynchronous API library for interfacing MPD
LICENSE=        modified-bsd

LDFLAGS.SunOS+= -lsocket

PYTHON_FOR_BUILD_ONLY=  tool

.include "../../devel/meson/build.mk"
.include "../../mk/bsd.pkg.mk"

Plateformes supportées

modifier

Plateforme Date d'ajout
NetBSD octobre 1997
Solaris mars 1999
Linux juin 1999
Darwin et macOS octobre 2001
FreeBSD novembre 2002
OpenBSD novembre 2002
IRIX décembre 2002
BSD/OS décembre 2003
AIX décembre 2003
Interix (pour Windows NT ) mars 2004
DragonFly BSD octobre 2004
OSF/1 novembre 2004
HP-UX avril 2007
QNX octobre 2007
Haïku janvier 2010
MINIX3 août 2010
MirBSD janvier 2011
illumos et SmartOS février 2011
Cygwin mai 2013
GNU/kFreeBSD juillet 2013
Bitrig juin 2015

Histoire

modifier

Le 3 octobre 1997, les développeurs Alistair Crooks et Hubert Feyrer créent pkgsrc[6] en se basant sur le catalogue de logiciels portés de FreeBSD. Leur objectif était de proposer un gestionnaire de paquets pour prendre en charge la collection des paquets NetBSD. Il a été officiellement publié dans NetBSD 1.3[7] le 4 janvier 1998. DragonFly BSD a utilisé pkgsrc comme système de paquets officiel de la version 1.4 en 2006 jusqu'à la version 3.4 en 2013[8],[9].

En 1999, la prise en charge par pkgsrc de Solaris a été ajoutée, suivie par la prise en charge d'autres systèmes d'exploitation[9].

Le 12 septembre 2017, une politique de message de validation adaptée au gestionnaire de version décentralisée a été établie par le projet[10].

De 2004 à 2019 s'est tenue la conférence technique pkgsrcCon dont l'objectif était de se faire rencontrer les développeurs, les contributeurs et les utilisateurs de pkgsrc[11].

Paquets

modifier

La Fondation NetBSD fournit des paquets binaires officiels prédéfinis pour plusieurs combinaisons de versions de NetBSD, d'architecture et de versions de pkgsrc[12],[13].

Plusieurs fournisseurs proposent des paquets binaires prédéfinis pour certaines plateformes :

  • Depuis 2014 et jusqu'en 2022, l'entreprise Joyent a fournit des paquets binaires pour SmartOS / illumos, macOS et Red Hat Enterprise Linux[14]. Les paquets étaient fournis sur une base continue à partir du tronc (HEAD, dans la terminologie CVS) de pkgsrc, avec des mises à jour très régulières. De plus, des versions stables trimestrielles étaient également fournis pour la version SmartOS de Joyent[15].

L'outil pbulk permet d'automatiser la construction de l'ensemble (ou d'un sous-ensemble défini) de la collection des paquets pour produire une distribution de paquets binaires[22],[23].

Notes et références

modifier
  1. (en) Thomas Klausner, « pkgsrc-2024Q1 branch released », (consulté le )
  2. (en) « MINIX 3 pkgsrc guide », (consulté le )
  3. (en) Jonathan Perkin, « Announcing the pkgsrc-2018Q3 release », NetBSD, (consulté le )
  4. (en) Emile Heitor, « pkgin, a tool to manage pkgsrc binary packages », (consulté le )
  5. Emile Heitor, « NetBSD a enfin son APT : un pkgin sans glace pour la 6 », Éditions Diamond, (consulté le )
  6. (en) « Alistair Crooks about the history, present state and future of pkgsrc », The NetBSD Foundation, Inc., (consulté le )
  7. (en) « Information about NetBSD 1.3 », The NetBSD Foundation, Inc., (consulté le )
  8. (en) Matthew Dillon, « PKGSRC will be officially supported as of the next release », (consulté le )
  9. a et b (en) David Chisnall, « NetBSD: Not Just for Toasters », Prentice Hall Professional, (consulté le )
  10. (en) Thomas Klausner, « pkgsrc Commit Message Policy », NetBSD, (consulté le )
  11. (en) « pkgsrcCon » (consulté le )
  12. « Index des paquets de ftp.netbsd.org »
  13. « Index des paquets de nyftp.netbsd.org »
  14. (en) « Joyent's packages, available for SmartOS/Illumos, Linux, and OSX » [archive du ] (consulté le )
  15. « Index des paquets de joyent.com » [archive]
  16. « mirror1.hpc.uwm.edu/pkgsrc/ » (consulté le )
  17. « Software Management », University of Wisconsin–Milwaukee, High Performance Computing dept (consulté le )
  18. (en) « SmartOS Packages Documentation - Install on SmartOS/Illumos », MNX Cloud (consulté le )
  19. (en) « SmartOS Packages Documentation - Install on macOS », MNX Cloud (consulté le )
  20. (en) « SmartOS Packages Documentation - Install on Linux », MNX Cloud (consulté le )
  21. (en) « SmartOS Packages Documentation - Install on NetBSD », MNX Cloud (consulté le )
  22. (en) « Creating binary packages for everything in pkgsrc (bulk builds) », The NetBSD Foundation, Inc. (consulté le )
  23. (en) « Using pbulk to create a pkgsrc binary repository », The NetBSD Foundation, Inc. (consulté le )

Liens externes

modifier