De resultaten van zes maanden werk van het Repology-project, dat informatie over pakketversies analyseert

Nog eens zes maanden gingen voorbij en het project Repologie, dat informatie over de versies van pakketten uit vele opslagplaatsen verzamelt en vergelijkt, publiceert het volgende rapport. Het doel van het project is om de interactie van pakketbewaarders van verschillende distributies te verbeteren, zowel met elkaar als met software-auteurs — het project helpt met name om snel releases van nieuwe softwareversies te detecteren, de relevantie van pakketten te bewaken, naamgeving en versiebeheer te verenigen schema's, meta-informatie up-to-date houden, patches en probleemoplossing delen en de overdraagbaarheid van software verbeteren.

  • Het aantal ondersteunde repositories overschreed de 250. Ondersteuning toegevoegd voor Cygwin, distri, Homebrew Casks, just-install, KISS Linux, Kwort, LuaRocks, Npackd, OS4Depot, RPM Sphere. Verouderde Antergos-repository verwijderd. Ondersteuning voor GNU Guix is ​​verwijderd (vanwege wijzigingen op de Guix-site waardoor parsing onmogelijk werd) en later teruggebracht (vanwege Guix' implementatie van een regelmatige dump van JSON-metadata), evenals verbeteringen.
  • Naast de pakketnaam en -versie is er voor repositories een vereiste ingevoerd om URL's (startpagina's of een link naar de distributiekit) te verstrekken - met deze informatie kunt u op betrouwbare wijze de talrijke naamconflicten oplossen die het project tegenkomt. Opslagplaatsen, voor nu niet verstrekken dergelijke informatie is gepland voor verwijdering.
  • De belangrijkste broncode-repository van het project is in tweeën gesplitst (een daemon voor het updaten van deze repositories en een webapplicatie die de werking van de site verzekert), de implementatie van type-annotaties is voltooid in de code (alle projectcode passeert nu mypy --strict) en PEP8-naleving.
  • Ondersteuning toegevoegd voor vertakkingen van verouderde versies. Repology kan nu bijvoorbeeld melden dat PostgreSQL 11.2 verouderd is (aangezien de nieuwste versie in de 11e tak 11.5 is), zelfs als er een nieuwere versie 12.0 in de repository staat (voorheen werden alle versies onder de laatste gemarkeerd als verouderd in de repository en kan niet achterhaald zijn). In dit opzicht zijn de meeste projecten die voorheen waren opgesplitst in hoofdversies (bijvoorbeeld wxwidgets28/wxwidgets30) samengevoegd.
  • De mogelijkheid toegevoegd om projecten correct te verwerken met parallelle incompatibele versiebeheerschema's. Bijvoorbeeld, FreeCAD waarbij 0.18.4 en 0.18.16146 overeenkomen met dezelfde release.
  • herdaan lijst и afzonderlijke pagina's beheerders - nu worden de statistieken van de beheerder apart verzameld voor de repositories. De praktijk heeft geleerd dat representatieve geaggregeerde statistieken onmogelijk zijn vanwege het feit dat pakketten, die de onderhouder in metadata houden, zonder zijn medeweten naar andere repositories kunnen migreren en in feite hun ondersteuning verliezen (tegelijkertijd is het niet mogelijk om dit automatisch te volgen ). Later kunnen ze verouderd raken en het zou onjuist zijn om dit feit te associëren met de oorspronkelijke beheerder - deze situatie veroorzaakte ontevredenheid van de beheerders van Gentoo vanwege de aanwezigheid van Funtoo, wat in wezen een vork is van Gentoo die niet door hen wordt gecontroleerd en die informatie over de beheerders bewaart. Het binden van statistieken aan repositories loste dit probleem op, terwijl tegelijkertijd informatie over beheerders meer gedetailleerd en gestructureerd werd.
  • Experimenteel toegevoegd ondersteunen nieuw type badge, een matrix van versies van geselecteerde projecten in alle repositories. Deze tool is bijvoorbeeld handig om een ​​algemeen idee te krijgen van de status (aanwezigheid van een pakket, versie, de relevantie ervan en naleving van een bepaald minimum) van de afhankelijkheden van een project (of gewoon een willekeurige lijst van projecten) . Deze functionaliteit is aangevraagd (en gebruikt) door het PostGIS-project.
  • Ondersteuning voor 404-projectpagina's is verbeterd - met name als het gevraagde project niet bestaat, maar de naam eerder is aangetroffen (bijvoorbeeld als de naam van een pakket dat is toegewezen aan een project met een andere naam), dan de gebruiker krijgt opties aangeboden voor projecten die hij in gedachten zou kunnen hebben, op de manier van "ondubbelzinnige pagina's»Wikipedia. Voorbeeld.
  • Verbeterde integratie met Wikidata — naast verbeteringen in gegevensimport geïmplementeerd en gelanceerd boot, die informatie over de software in Wikidata bijwerkt met gegevens van Repology. Bedenk dat Wikidata stilaan de belangrijkste bron van gestructureerde informatie voor Wikipedia wordt (in de context van nieuws - feiten over software, zoals versiegeschiedenis, licentie, website, ondersteunde besturingssystemen, auteur, pakketten in verschillende distributies, enz.), die stelt u in staat om de relevantie van de gegevens op één plek te behouden, in plaats van tientallen gelokaliseerde versies van de pagina van elk project. Bijvoorbeeld een projectkaart Nginx Wikipedia vertaalt alleen informatie van Wikidata.
  • Het afgelopen half jaar zijn er meer dan 500 aanvragen (meldingen) verwerkt voor het toevoegen/wijzigen van de regels om individuele projecten beter te kunnen afhandelen.

Beoordeling van de opslagplaats door het totale aantal pakketten:

  • GBP (49462)
  • nix (48660)
  • Debian en derivaten (32972) (Raspbian leidt)
  • GratisBSD (26921)
  • Fedora (22337)

Rangschikking van repositories op basis van het aantal niet-unieke pakketten (d.w.z. pakketten die ook aanwezig zijn in andere distributies):

  • nix (41815)
  • Debian en derivaten (24284) (Raspbian leidt)
  • GBP (22176)
  • GratisBSD (21831)
  • Fedora (19215)

Beoordeling van de opslagplaats door het aantal verspakketten:

  • nix (23210)
  • Debian en derivaten (16107) (Raspbian leidt)
  • GratisBSD (16095)
  • Fedora (13109)
  • GBP (12417)

Beoordeling van de opslagplaats per percentage verse pakketten (alleen voor repositories met 1000 of meer pakketten en stroomopwaartse verzamelingen van modules zoals CPAN, Hackage, PyPi niet meegerekend):

  • Ravenpoorten (99.16%)
  • Boog en derivaten (85.23%)
  • Zelfgebrouwen (84.57%)
  • nix (84.55%)
  • Schep (84.02%)

Algemene statistieken:

  • 252 opslagplaatsen
  • 180 duizend projecten
  • 2.3 miljoen individuele pakketten
  • 36 duizend beheerders
  • 153 duizend opgenomen releases in de afgelopen zes maanden (de laatste beoordeling bevatte een fout, 150 duizend releases zijn opgenomen in de afgelopen zes maanden)
  • 9.5% van de bekende projecten heeft in de afgelopen zes maanden ten minste één nieuwe versie uitgebracht

Bron: opennet.ru

Voeg een reactie