Die Ergebnisse der sechsmonatigen Arbeit des Repology-Projekts, das Informationen über Paketversionen analysiert

Weitere sechs Monate sind vergangen und das Projekt Repologie, das Informationen über Paketversionen aus vielen Repositories sammelt und vergleicht, veröffentlicht einen weiteren Bericht. Ziel des Projekts ist es, die Interaktion von Paketbetreuern verschiedener Distributionen untereinander und mit Softwareautoren zu verbessern. Insbesondere hilft das Projekt dabei, Veröffentlichungen neuer Softwareversionen schnell zu erkennen, die Relevanz von Paketen zu überwachen und Benennungs- und Versionsschemata zu vereinheitlichen , Metainformationen auf dem neuesten Stand halten, Patches und Lösungen für Probleme austauschen und die Software-Portabilität verbessern.

  • Die Anzahl der unterstützten Repositories hat 250 überschritten. Unterstützung für Cygwin, Distri, Homebrew Casks, Just-Install, KISS Linux, Kwort, LuaRocks, Npackd, OS4Depot und RPM Sphere hinzugefügt. Das Antergos-Repository, dessen Entwicklung eingestellt wurde, wurde entfernt. Die Unterstützung für GNU Guix wurde entfernt (aufgrund von Änderungen auf der Guix-Website, die das Parsen unmöglich machten) und später zurückgegeben (dank der Implementierung regelmäßiger Metadaten-Dumps durch Guix im JSON-Format) und gleichzeitig verbessert.
  • Für Repositorys wurde die Anforderung eingeführt, zusätzlich zum Paketnamen und der Version eine URL (Homepages oder einen Link zur Distribution) anzugeben – diese Informationen ermöglichen es Ihnen, zahlreiche Namenskonflikte, auf die das Projekt stößt, zuverlässig zu lösen. Derzeit Repositorys nicht bereitstellen Die Löschung dieser Informationen ist vorgesehen.
  • Das Haupt-Repository des Quellcodes des Projekts ist in zwei Teile geteilt (einen Daemon zum Aktualisieren der Repository-Daten und eine Webanwendung, die den Betrieb der Site sicherstellt), die Implementierung von Typanmerkungen im Code wurde abgeschlossen (der gesamte Projektcode läuft jetzt auf mypy). -streng) und Ausrichtung an PEP8.
  • Unterstützung für Zweige älterer Versionen hinzugefügt. Beispielsweise kann Repology jetzt melden, dass PostgreSQL 11.2 veraltet ist (da die neueste Version im 11. Zweig 11.5 ist), selbst wenn es eine neuere Version 12.0 im Repository gibt (zuvor wurden alle Versionen unterhalb der neuesten im Repository als veraltet markiert). und darf keinen veralteten Status haben). In diesem Zusammenhang wurden die meisten Projekte, die zuvor in Hauptversionen unterteilt waren (z. B. wxwidgets28/wxwidgets30), zusammengeführt.
  • Es wurde die Möglichkeit hinzugefügt, Projekte mit parallelen inkompatiblen Versionierungsschemata korrekt zu verarbeiten. Zum Beispiel, FreeCAD wobei 0.18.4 und 0.18.16146 einer Version entsprechen.
  • Überarbeitet Liste и einzelne Seiten Betreuer – Betreuerstatistiken werden jetzt separat nach Repository erfasst. Die Praxis hat gezeigt, dass repräsentative aggregierte Statistiken nicht möglich sind, da Pakete, während sie den Betreuer in Metadaten speichern, ohne sein Wissen in andere Repositories migrieren können und ihm dadurch tatsächlich seine Unterstützung entzogen wird (obwohl es nicht möglich ist, dies automatisch zu verfolgen). . Später könnten sie veraltet sein, und es wäre falsch, diese Tatsache mit dem ursprünglichen Betreuer in Verbindung zu bringen, der diese Situation verursacht hat Unzufriedenheit Gentoo-Betreuer aufgrund der Anwesenheit von Funtoo – im Wesentlichen ein Zweig von Gentoo, der nicht von ihnen kontrolliert wird und Informationen über Betreuer speichert. Durch die Verknüpfung von Statistiken mit Repositories konnte dieses Problem gelöst werden; gleichzeitig wurden Informationen über Betreuer detaillierter und strukturierter.
  • Experimentell hinzugefügt unterstützen eine neue Art von Abzeichen, bei dem es sich um eine Matrix von Versionen ausgewählter Projekte in allen Repositories handelt. Dieses Tool ist beispielsweise nützlich, um einen allgemeinen Überblick über den Status (Paketverfügbarkeit, Version, Relevanz und Einhaltung eines bestimmten Minimums) der Abhängigkeiten eines Projekts (oder einfach einer beliebigen Liste von Projekten) zu erhalten. Diese Funktionalität wurde angefordert (und benutzt) vom PostGIS-Projekt.
  • Verbesserte Unterstützung für 404-Projektseiten – insbesondere, wenn das angeforderte Projekt nicht existiert, der Name jedoch zuvor gefunden wurde (z. B. als Name eines Pakets, das einem Projekt mit einem anderen Namen zugewiesen wurde), dann ist der Benutzer dies bot Optionen für Projekte an, die er im Sinn haben könnte, in der Art von „Begriffsklärungsseiten» Wikipedia. Beispiel.
  • Verbesserte Integration mit Wikidata — zusätzlich zu Verbesserungen beim Datenimport, implementiert und eingeführt bot, das Softwareinformationen in Wikidata mithilfe von Daten aus Repology aktualisiert. Erinnern wir uns daran, dass Wikidata nach und nach zur Hauptquelle strukturierter Informationen für Wikipedia wird (im Kontext von Nachrichten – Fakten über Software, wie Versionsverlauf, Lizenz, Website, unterstütztes Betriebssystem, Autor, Pakete in verschiedenen Distributionen usw.), Dadurch können Sie die Relevanz der Daten an einem Ort verwalten, anstatt Dutzende lokalisierter Versionen jeder Projektseite. Zum Beispiel eine Projektkarte Nginx Wikipedia sendet Informationen nur aus Wikidata.
  • In den letzten sechs Monaten wurden mehr als 500 Anfragen (Berichte) zur Ergänzung/Änderung von Regeln bearbeitet, um einzelne Projekte korrekter abzuwickeln.

Repository-Bewertung nach Gesamtzahl der Pakete:

  • AUR (49462)
  • nix (48660)
  • Debian und Derivate (32972) (Raspbian führt)
  • FreeBSD (26921)
  • Fedora (22337)

Bewertung von Repositories nach der Anzahl nicht eindeutiger Pakete (d. h. Pakete, die auch in anderen Distributionen vorhanden sind):

  • nix (41815)
  • Debian und Derivate (24284) (Raspbian führt)
  • AUR (22176)
  • FreeBSD (21831)
  • Fedora (19215)

Repository-Bewertung nach Anzahl frischer Pakete:

  • nix (23210)
  • Debian und Derivate (16107) (Raspbian führt)
  • FreeBSD (16095)
  • Fedora (13109)
  • AUR (12417)

Repository-Bewertung nach Prozentsatz frischer Pakete (nur für Repositories mit 1000 oder mehr Paketen und ohne Upstream-Sammlungen von Modulen wie CPAN, Hackage, PyPi):

  • Ravenports (99.16 %)
  • Arch und Derivate (85.23 %)
  • Selbstgebrautes Bier (84.57 %)
  • nix (84.55 %)
  • Schaufel (84.02 %)

Allgemeine Statistiken:

  • 252 Repositories
  • 180 Projekte
  • 2.3 Millionen Einzelpakete
  • 36 Betreuer
  • 153 aufgezeichnete Veröffentlichungen in den letzten sechs Monaten (die letzte Überprüfung enthielt einen Fehler; 150 Veröffentlichungen wurden in den letzten sechs Monaten aufgezeichnet)
  • 9.5 % der bekannten Projekte haben in den letzten sechs Monaten mindestens eine neue Version veröffentlicht

Source: opennet.ru

Kommentar hinzufügen