Les résultats de six mois de travail du projet Repology, qui analyse les informations sur les versions de packages

Six mois se sont écoulés et le projet Repologie, qui collecte et compare des informations sur les versions de packages provenant de nombreux référentiels, publie un autre rapport. L'objectif du projet est d'améliorer l'interaction des responsables de packages de diverses distributions entre eux et avec les auteurs de logiciels - en particulier, le projet permet de détecter rapidement les versions de nouvelles versions de logiciels, de surveiller la pertinence des packages, d'unifier les schémas de nommage et de version. , maintenez les métainformations à jour, partagez des correctifs et des solutions aux problèmes et améliorez la portabilité des logiciels.

  • Le nombre de référentiels pris en charge a dépassé 250. Ajout de la prise en charge de Cygwin, distri, Homebrew Casks, just-install, KISS Linux, Kwort, LuaRocks, Npackd, OS4Depot, RPM Sphere. Le référentiel Antergos, dont le développement a cessé, a été supprimé. La prise en charge de GNU Guix a été supprimée (en raison de modifications sur le site Web de Guix qui rendaient l'analyse impossible) et a ensuite été rétablie (grâce à Guix implémentant des vidages réguliers de métadonnées au format JSON), et en même temps améliorée.
  • Une exigence a été introduite pour que les référentiels, en plus du nom et de la version du package, fournissent une URL (pages d'accueil ou un lien vers la distribution) - ces informations vous permettent de résoudre de manière fiable de nombreux conflits de noms rencontrés par le projet. Dépôts, actuellement ne fournissant pas ces informations devraient être supprimées.
  • Le référentiel principal du code source du projet est divisé en deux (un démon de mise à jour des données du référentiel et une application web qui assure le fonctionnement du site), l'implémentation des annotations de type dans le code est terminée (tout le code du projet exécute désormais mypy -strict) et alignement avec PEP8.
  • Ajout de la prise en charge des branches de versions héritées. Par exemple, Repology peut désormais signaler que PostgreSQL 11.2 est obsolète (puisque la dernière version de la 11ème branche est 11.5) même s'il existe une version plus récente 12.0 dans le référentiel (auparavant, toutes les versions inférieures à la dernière dans le référentiel étaient marquées comme héritées). et ne pouvait pas avoir un statut obsolète). À cet égard, la plupart des projets auparavant divisés en versions majeures (par exemple, wxwidgets28/wxwidgets30) ont été fusionnés.
  • Ajout de la possibilité de traiter correctement les projets avec des schémas de version parallèles incompatibles. Par exemple, FreeCAD dans lequel 0.18.4 et 0.18.16146 correspondent à une seule version.
  • Retravaillé liste и pages individuelles responsables - désormais les statistiques des responsables sont collectées séparément par référentiel. La pratique a montré que des statistiques globales représentatives sont impossibles en raison du fait que les packages, tout en stockant le responsable dans des métadonnées, peuvent migrer vers d'autres référentiels à son insu et le priver de son support (alors qu'il n'est pas possible de le suivre automatiquement) . Plus tard, ils peuvent devenir obsolètes, et il serait incorrect d'associer ce fait au responsable d'origine - cette situation a provoqué mécontentement Mainteneurs Gentoo en raison de la présence de Funtoo - essentiellement un fork de Gentoo non contrôlé par eux, qui stocke des informations sur les responsables. Relier les statistiques aux référentiels a permis de résoudre ce problème ; en même temps, les informations sur les responsables sont devenues plus détaillées et structurées.
  • Ajout expérimental soutenir un nouveau type de badge, qui est une matrice des versions des projets sélectionnés dans tous les référentiels. Cet outil est utile, par exemple, pour avoir une idée générale de l'état (disponibilité du package, version, sa pertinence et respect d'un minimum donné) des dépendances d'un projet (ou simplement d'une liste arbitraire de projets). Cette fonctionnalité a été demandée (et d'occasion) par le projet PostGIS.
  • Prise en charge améliorée des pages de projet 404 - en particulier, si le projet demandé n'existe pas, mais que le nom a déjà été rencontré (par exemple, comme nom d'un package attribué à un projet avec un nom différent), alors l'utilisateur est proposé des options pour des projets qu'il pourrait avoir en tête, à la manière de "pages d'homonymie" Wikipédia. Exemple.
  • Intégration améliorée avec Wikidata — en plus des améliorations dans l'importation de données, mises en œuvre et lancées bot, qui met à jour les informations sur les logiciels dans Wikidata en utilisant les données de Repology. Rappelons que Wikidata devient progressivement la principale source d'informations structurées pour Wikipédia (dans le contexte de l'actualité - informations sur les logiciels, telles que l'historique des versions, la licence, le site Web, le système d'exploitation pris en charge, l'auteur, les packages dans diverses distributions, etc.), ce qui vous permet de maintenir la pertinence des données en un seul endroit, au lieu de dizaines de versions localisées de chaque page de projet. Par exemple, une fiche de projet Nginx Wikipédia diffuse uniquement des informations à partir de Wikidata.
  • Au cours des six derniers mois, plus de 500 demandes (rapports) ont été traitées pour ajouter/modifier des règles afin de traiter plus correctement les projets individuels.

Évaluation du référentiel par nombre total de colis :

  • AUR (49462)
  • rien (48660)
  • Debian et dérivés (32972) (Raspbian mène)
  • GratuitBSD (26921)
  • Fedora (22337)

Classement des référentiels selon le nombre de packages non uniques (c'est-à-dire des packages également présents dans d'autres distributions) :

  • rien (41815)
  • Debian et dérivés (24284) (Raspbian mène)
  • AUR (22176)
  • GratuitBSD (21831)
  • Fedora (19215)

Évaluation du référentiel par nombre de colis frais :

  • rien (23210)
  • Debian et dérivés (16107) (Raspbian mène)
  • GratuitBSD (16095)
  • Fedora (13109)
  • AUR (12417)

Évaluation du référentiel par pourcentage de nouveaux packages (uniquement pour les référentiels contenant 1000 XNUMX packages ou plus et sans compter les collections de modules en amont telles que CPAN, Hackage, PyPi) :

  • Ravenports (99.16%)
  • Arch et dérivés (85.23%)
  • Homebrew (84.57%)
  • rien (84.55%)
  • Scoop (84.02%)

Statistiques générales:

  • 252 référentiels
  • 180 mille projets
  • 2.3 millions de colis individuels
  • 36 mille mainteneurs
  • 153 150 sorties enregistrées au cours des six derniers mois (le dernier examen contenait une erreur ; XNUMX XNUMX sorties ont été enregistrées au cours des six mois précédents)
  • 9.5 % des projets connus ont publié au moins une nouvelle version au cours des six derniers mois

Source: opennet.ru

Ajouter un commentaire