Dans un message à des listes de diffusion pkgsrc et NetBSD, Alistair Crooks a annoncé la disponibilité de la branche pkgsrc-2015Q1. Pkgsrc (prononcer package source) est une infrastructure de construction de logiciels tiers pour NetBSD, ainsi que pour d’autres systèmes de type UNIX. Il permet donc à NetBSD et à d’autres systèmes d’exploitation de disposer de nombreux logiciels sous forme source, mais aussi sous forme binaire.
Les développeurs pkgsrc fournissent une nouvelle version stable chaque trimestre. Comme son nom l’indique, pkgsrc 2015Q1 est donc la première sur les quatre de l'année 2015 et est disponible depuis le 3 avril dernier.
Plus de détails sur cette version en particulier en seconde partie de dépêche, qui reprend grandement le courriel d'annonce.
Si vous ne connaissez toujours pas pkgsrc
À force de publier des dépêches sur le sujet (suivez le tag pkgsrc), espérons que vous commencez à connaître la chanson : pkgsrc, c'est le système de paquets logiciels pour NetBSD, issu d'un fork en 1997 de celui de FreeBSD. Nos amis au drapeau orange étant adeptes de la portabilité, il est logique que leur système de paquets puisse fonctionner ailleurs et compte toujours sa vingtaine de plateformes compatibles, allant des systèmes BSD à Windows (grâce à Cygwin/Interix/Services For Unix) en passant par GNU/Linux, OS X et Solaris.
Pour être plus concret sur la portabilité de pkgsrc, certaines personnes maintiennent des dépôts de paquets binaires en dehors de ceux pour NetBSD. Ainsi, le dépôt de la société Joyent contient des ensembles de paquets pour SmartOS, GNU/Linux mais aussi OS X. Saluons aussi le projet Save OS X, qui en plus de fournir un dépôt pour x86_64 (celui de Joyent ne fournit cette architecture que depuis peu), propose articles et courtes vidéos introduisant pkgsrc pour le système à la pomme.
Enfin, ces initiatives ne sauraient être couronnées de succès sans pkgin, gestionnaire de paquets maintenu par iMil et dont la version 0.8.0 est disponible depuis plusieurs semaines, apportant entre autres un nouveau fichier de configuration, preferred.conf, qui liste des contraintes de versions pour différents logiciels installés (ou à installer). Par exemple, mysql-server<5.6
permet de bloquer mysql-server en dessous de la version 5.6, php>=5.4
s'assurera que PHP est installé au moins en version 5.4, et enfin autoconf=2.69.*
fera en sorte qu'autoconf ne soit installé que dans une sous-version de la 2.69.
Les chiffres du trimestre
En termes de paquets, pkgsrc-2015Q1 c’est (entre parenthèses la différence avec pkgsrc-2014Q4 lorsque le chiffre était indiqué) :
- 15246 paquets possibles (-264) ;
- 14896 paquets binaires compilés avec clang pour NetBSD-current/x86_64 (-153) ;
- 13092 paquets binaires compilés avec gcc pour SmartOS/x86_64 (+120) ;
- 13028 paquets binaires compilés avec gcc pour SmartOS/i386 ;
- 12802 paquets binaires compilés avec clang pour FreeBSD 10.1/x86_64 ;
- 11224 paquets binaires compilés avec gcc pour Darwin 8.11.0/powerpc (Mac OS X 10.4.11) ;
- 10019 paquets binaires compilés avec gcc pour Darwin 10.8.0/i386 (Mac OS X 10.6.8).
Ce trimestre, en termes de modifications, il y a eu :
- 216 paquets ajoutés ;
- 46 paquets retirés, dont 11 avec un successeur ;
- 2007 paquets mis à jour ;
- 2 paquets ont été renommés.
Les changements
Parmi les ajouts ou mises à jour notables, on peut remarquer :
- l'arrivée de fail2ban ;
- postgresql 9.4 ;
- lua 5.3 ;
- openjdk8 ;
- ruby 2.2 ;
- tigervnc ;
- sslsplit ;
- xen 4.5 (noyau et outils).
La campagne de nettoyage qui a lieu chaque trimestre permet de supprimer ce qui obsolète, ou non utilisé. Cette fois-ci, c'est au tour de PHP 5.3, bind 9.6 et 9.8, navi2ch et openmotif de partir, non sans avoir été très utiles par le passé.
Sans plus de précisions, l'annonce indique que des progrès ont été effectués dans l'intégration des cwrappers (qui permettent d'améliorer les performances des compilations massives de paquets), et que cela devrait être fini pour le prochain trimestre.
Autre avancée majeure, celle de la signature cryptographique des paquets et des vulnérabilités est elle aussi en cours d'intégration.
L'une des difficultés ces derniers temps était d'empaqueter des logiciels dont les sources se trouvent sur Github. Ce n'est plus le cas, grâce à l'ajout de la gestion de Github dans la variable MASTER_SITES. À noter aussi, des améliorations pour empaqueter les logiciels en Go ou en Haskell, le mail d'annonce remerciant Ryosuke Moro pour ce dernier.
pkgsrc-lts ?
La société Joyent, dans le cadre du développement de son système SmartOS, utilise pkgsrc pour publier des paquets binaires à destination de cette plateforme. Le passage d'une branche à l'autre chaque trimestre étant jugé trop rapide, Jonathan Perkin a lancé une sorte de pkgsrc-lts, qui vise à allonger les durées de mises à jour pour certaines branches de pkgsrc.
Dans le détail, l'entreprise compte maintenir chaque dernière branche de l'année (celles se terminant en Q4) durant trois ans, et porter sur ces branches les correctifs qui s'y rapportent, c'est-à-dire ceux concernant la sécurité, mais aussi la construction des paquets, tant qu'ils ne cassent pas la compatibilité au niveau ABI ou API.
Cette version de pkgsrc est bien entendu publique, et est accessible depuis le compte Github de Joyent. L'utilisation de cette version est encouragée, de même que la remontée de problèmes (et de leurs solutions ;) ). Rien n'est précisé concernant la publication de paquets binaires, mais on peut raisonnablement supposer que seul SmartOS sera pris en compte.
Joyent profite de l'occasion pour non seulement activer les cwrappers lors de la construction de ses paquets, mais aussi la signature cryptographique de ses paquets binaires !
Aller plus loin
- pkgsrc (65 clics)
- NetBSD (36 clics)
- NetBSDfr (62 clics)
- Annonce de pkgsrc-2015Q1 sur la liste pkgsrc-users (26 clics)
- DLFP : pkgsrc 2014Q4 est disponible (30 clics)
- pkgsrc sur Wikipédia (26 clics)
- pkgsrc.se (19 clics)
- pkgsrc-wip sur Sourceforge (17 clics)
- DLFP : NetBSD 6.1.5 et 6.0.6 (21 clics)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.