Quelques dépêches précédentes ont parlé des outils de packaging Python, comme ici, là ou encore là. Je vais chercher à faire un tour complet de la question, non seulement du point de vue de l’utilisateur qui cherche à comprendre quelle est « la bonne » solution (← ha ha ha rire moqueur…), mais aussi en expliquant les choix qui ont été faits, les évolutions, la structure de la communauté autour des outils, et les critiques qui leur sont souvent adressées, à tort ou à raison.
L'installation et la distribution de paquets Python (2/4)
Cette dépêche est la deuxième d’une série de quatre sur le packaging en Python :
- L’histoire du packaging Python
- Tour de l’écosystème actuel
- Le casse-tête du code compilé
- La structure de la communauté en question
Je vais donc proposer un aperçu plus ou moins complet des différents outils, et de ce qu’ils font ou ne font pas, en essayant de les comparer. Mais je parlerai aussi des fichiers de configuration, des dépôts où les paquets sont publiés, des manières d’installer Python lui-même, et de l’interaction de tout ceci avec les distributions Linux. En revanche, je laisse de côté pour l’instant les paquets écrits en C, C++ ou Rust et la complexité qu’ils apportent.
Journal L'arbre des ports de FreeBSD a vingt ans
Et voilà, cela fait vingt ans que le premier commit pour les ports de FreeBSD a été fait.
Au départ, il n'y avait que 10 ports. Aujourd'hui, les ports FreeBSD ont dépassé la barre des 24000 ports, des 500 committers pour plus de 360000 commits.
Bon anniversaire :)
Allez zou, la petite vidéo commémorative
Journal Comment distribuer un logiciel pour GNU/Linux ?
Bonjour,
Je souhaite distribuer un de mes projets pour la plateforme GNU/Linux.
Le logiciel compile et s’exécute parfaitement sur Debian testing. La seule dépendance nécessaire est Qt5 en plus de la bibliothèque standard.
Après quelques recherches je suis tombé sur plusieurs options possibles :
- livrer le code source
- générer des paquets de distributions (deb, rpm, etc.)
- créer une application portable (AppImage, Flatpack, etc.)
J’explique ci-dessous les avantages et inconvénients de chacune des solutions pour mon projet.
Livrer le code source.
Journal softs dev en Rust empaqueté pour Ubuntu & cie
Voici quelques softs développés en Rust que j'aime utiliser et que je mets à disposition dans un PPA : https://launchpad.net/~jerem-ferry/+archive/ubuntu/rust/+packages
RipGrep : un remplacement de Grep (avec des perfs halucinantes) : https://github.com/BurntSushi/ripgrep
Exa : un remplacement de la commande ls mais en mieux : https://the.exa.website
Fd : un digne remplaçant de la commande find : https://github.com/sharkdp/fd
Bat : un remplaçant de cat proposant la coloration synthaxique et l'intégration de Git : https://github.com/sharkdp/bat
Hyperfine : un remplaçant de time : https://github.com/mothsART/hyperfine
Journal Envoyer des Python à roues
Bonjour à tous,
Il ne me semble pas avoir vu passer de journal sur la distribution de paquets Python sur LinuxFR, du coup je vous propose un petit tuto sur un mode de distribution que je trouve fort sympathique en plus de devenir la référence.
Tout d’abord le site du projet : https://pythonwheels.com/
Et un petit résumé, traduit, depuis les information du site en question et au sujet de ce que j’ai effectivement pu tester :
- Installation plus rapide des (…)
Journal Un outil fort pratique : apt-cacher-ng
Bonjour,
Vous êtes sûrement l'administrateur de votre réseau local domestique, il y a pas mal de choses sympa à faire qui faciliteront la vie à vos utilisateurs comme à vous même.
Aujourd'hui : la mise en place d'un serveur de cache apt-cacher-ng.
Mais qu'est-ce donc-t-il donc ?
Ce serveur de cache va simplement cacher les paquets apt
qui sont téléchargés, pour les resservir à la demande. Ainsi, si un des ordinateurs du réseau local se met à jour, les paquets (…)
L’initiative OW2 Quick App prête à transformer l’expérience utilisateur mobile
L’initiative OW2 Quick App, ouverte à tous, assure la promotion d’une technologie ouverte permettant de créer rapidement des applications légères, sans installation, simples à utiliser, fiables et efficaces.
Annoncée lors de la conférence annuelle OW2con’21, cette initiative résulte d'un effort collectif pour promouvoir, sur un mode open source, la technologie des Quick App, une mise en œuvre concrète de la norme MiniApp du W3C (World Wide Web Consortium). Cette norme permet de mettre à disposition des services avancés sur des mobiles sans avoir à installer d’application au préalable.
L’annonce de l’initiative OW2 Quick App a été faite en ligne le mercredi 23 juin 2021 à 9h45 dans le cadre de la conférence annuelle OW2con’21, par Xuemin Wang, Vice-President Huawei European Research Institute, Christian Paterson, Senior Open Source Strategy Expert de Huawei et Martin Alvarez, Web Standards Manager de Huawei Technologies.
L’initiative OW2 Quick App a pour objectif le développement d'outils dédiés et de moteurs logiciels d'exécution pour des applications conformes à la norme MiniApp sur toutes les plateformes, à partir de composants d'interface utilisateur avancés et d’API natives prédéfinies, par exemple pour pousser et afficher une notification vers l’utilisateur, établir une connexion Bluetooth ou prendre une photo à l’aide de l’appareil embarqué.
Cette nouvelle initiative OW2 est animée par Huawei, promoteur actif des Quick Apps, membre d’OW2 et du groupe de travail sur la norme MiniApp du W3C.
CUDF, ou la résolution de dépendances universelle
La plupart des distributions se basent sur un ensemble de paquets (contenant logiciels, bibliothèques, et autres) liés entre eux par différents types de dépendances. Les formats de paquets les plus répandus sont les fichiers deb (Debian et dérivées), et rpm (Red Hat et dérivées). Les outils dpkg et rpm permettent de manipuler les paquets en local. La couche du dessus, qui contient des outils comme apt et yum, permet la résolution des dépendances. L'utilisateur peut donc choisir les paquets qu'il souhaite installer, et les dépendances sont résolues afin que les paquets nécessaires soient installés et que les éventuels paquets en conflit soient supprimés. L'outil de résolution des dépendances a pour seul but de répondre aux besoins de l'utilisateur sans enfreindre les règles de dépendances et de conflits définies. Éventuellement, cet outil peut répondre qu'il n'existe aucune solution au problème posé...
Dans les faits, il existe différents solveurs de dépendances différents entre les distributions, et même au sein de chaque distribution. Dans la plupart cas, il n'existe pas de bonne raison à cet état de fait. Seuls certains domaines spécifiques (par exemple, l'embarqué) peuvent nécessiter un algorithme de résolution différent. Lors de sa conférence intitulée « Cross-distro dependency resolution: reusing solvers among distros », Stefano Zacchiroli, développeur Debian, présente le travail réalisé dans le but de créer un format standard de description des problèmes de résolution de dépendances. Ceci a pour but de pouvoir abstraire ces derniers en omettant les spécificités de chaque distribution (par exemple, transformer les différents niveaux de liens entre les paquets dans Debian : Depends/Recommends/Suggests/Conflicts/Replaces/etc. et la notion de paquets virtuels), et donc de pouvoir travailler sur des solveurs performants et éventuellement utilisés largement par les différentes distributions, en évitant la duplication du travail.
Plus de détails dans la suite de la dépêche
NdM : Merci à Adrien Cunin pour son journal à l'origine de la dépêche.
Sortie de CrowdSec 1.1.x : quelles sont les nouveautés ?
L’équipe de CrowdSec annonce la sortie de la version 1.1.x, la dernière version de sa solution de cybersécurité gratuite et open-source (MIT) conçue pour protéger les serveurs, services, conteneurs ou machines virtuelles Linux exposés sur Internet. Quoi de nouveau ? Des nouveaux paquets et dépôts, ainsi que des améliorations de l’agent CrowdSec lui-même.
Journal Salut à Toi dans Debian unstable
Salut aux débianeux (aux autres aussi mais ce journal va moins les intéresser),
Puisque Goffi fait parler de lui en ce moment, j'en profite pour annoncer que mon acolyte RoboTux< et moi-même, qui maintenons Salut à Toi dans Debian, avons envoyé ledit Salut à Toi dans l'archive de sid en début de semaine. Il était jusqu'ici dans experimental, en attendant que quelques problèmes gênants soient corrigés.
Comme dirait Linus, testez, testez et testez encore :
aptitude install sat-xmpp-jp sat-xmpp-primitivus sat-xmpp-wix
Lien Gentoo passe aux binaires
Distro Recipes 2014 : inscrivez-vous pour la deuxième édition
La première édition de Distro Recipes a eu lieu l'an dernier et a rassemblé une soixantaine de personnes. Vous pouvez consulter les supports à disposition en ligne.
La seconde édition aura lieu les 11 et 12 juin 2014, au Carrefour Numérique de La Villette à Paris. Pour cette nouvelle édition, une dizaine de conférences et des lightning talks (conférences éclair). Cette année encore seront représentées OpenSUSE, Fedora, Debian, Mageia, Arch Linux. Deux jours d'interventions sur des sujets variés :
- infrastructure de build ;
- tests automatisés et QA ;
- nouvelles des distributions ;
- retours d'expérience.
Ces 2 jours mettront l'accent sur les échanges entre les intervenants et les participants, qu'ils soient utilisateurs, contributeurs ou développeurs. La convivialité qui fut de mise lors de la première édition restera une priorité lors de ces 2 jours. Les discussions se prolongeront lors du déjeuner et du dîner organisé le 11 juin au soir.
Vous pouvez également participer à cet événement et proposer un lightning talk. Parlez-nous d'un projet qui vous tient à coeur, une expérience en lien avec les distributions Linux.
Les inscriptions sont ouvertes, pensez-y, le nombre de places est limité.
Journal des paquets Snaps dans Ubuntu
Bonjour,
j'interviens rarement ici mais je trouve la nouvelle plutôt intéressante. La prochaine mouture d'Ubuntu permettra l'installation de paquetages embarqués, c'est-à-dire contenant de base toutes les dépendances fonctionnelles.
http://korben.info/ubuntu-snap-snappy-paquet.html
Ce mode de fonctionnement me rappelle furieusement celui des distributions BSD. De là à dire que Ubuntu abandonnerait la base Debian des débuts au profit de BSD et que Canonical serait sur le chemin d'un changement de modèle à la MacOS (utiliser le libre pour y foutre une grosse couche de (…)