Resultatene av seks måneders arbeid i Repology-prosjektet, som analyserer informasjon om pakkeversjoner

Ytterligere seks måneder gikk og prosjektet Repologi, som samler inn og sammenligner informasjon om versjonene av pakker fra mange depoter, publiserer neste rapport. Målet med prosjektet er å forbedre interaksjonen mellom pakkeholdere fra ulike distribusjoner både med hverandre og med programvareforfattere – spesielt hjelper prosjektet til raskt å oppdage utgivelser av nye programvareversjoner, overvåke relevansen til pakker, forene navngivning og versjonering. ordninger, holde metainformasjon oppdatert, dele oppdateringer og problemløsning og forbedre programvareportabilitet.

  • Antallet støttede arkiver oversteg 250. Lagt til støtte for Cygwin, distri, Homebrew Casks, just-install, KISS Linux, Kwort, LuaRocks, Npackd, OS4Depot, RPM Sphere. Fjernet utdatert Antergos-depot. Støtte for GNU Guix ble fjernet (på grunn av endringer på Guix-nettstedet som gjorde parsing umulig) og senere brakt tilbake (på grunn av Guix sin implementering av en vanlig dump av JSON-metadata), samt forbedringer.
  • Det er innført et krav om at arkiver skal oppgi URL-er (hjemmesider eller en lenke til distribusjonen) i tillegg til pakkenavn og versjon – denne informasjonen lar deg på en pålitelig måte løse de mange navnekonfliktene som prosjektet møter. Lagre, foreløpig ikke gir slik informasjon er planlagt for sletting.
  • Hovedlageret til prosjektets kildekode er delt i to (en demon for oppdatering av disse depotene og en webapplikasjon som sikrer driften av nettstedet), implementeringen av typekommentarer er fullført i koden (all prosjektkode går nå igjennom mypy --strict) og PEP8-overholdelse.
  • Lagt til støtte for eldre versjonsgrener. For eksempel kan nå Repology rapportere at PostgreSQL 11.2 er utdatert (siden den siste versjonen i den 11. grenen er 11.5) selv om det er en nyere versjon 12.0 i depotet (tidligere ble alle versjoner under den siste merket som eldre i depotet og kan ikke være foreldet). I denne forbindelse har de fleste prosjektene tidligere delt inn etter hovedversjoner (for eksempel wxwidgets28/wxwidgets30) blitt slått sammen.
  • Lagt til muligheten til å behandle prosjekter korrekt med parallelle inkompatible versjonsordninger. For eksempel, FreeCAD hvor 0.18.4 og 0.18.16146 tilsvarer samme utgivelse.
  • omarbeidet список и individuelle sider vedlikeholdere - nå samles statistikken til vedlikeholderen separat for depotene. Praksis har vist at representativ aggregert statistikk er umulig på grunn av det faktum at pakker, mens de holder vedlikeholderen i metadata, kan migrere til andre depoter uten dens viten og faktisk miste støtten (det er ikke mulig å spore dette automatisk). Senere kan de bli foreldet, og det ville være feil å knytte dette faktum til den opprinnelige vedlikeholderen - denne situasjonen forårsaket misnøye av Gentoos vedlikeholdere på grunn av tilstedeværelsen av Funtoo, som i hovedsak er en gaffel av Gentoo som de ikke kontrollerer og holder informasjon om vedlikeholderne. Binding av statistikk til depoter løste dette problemet, samtidig ble informasjon om vedlikeholdere mer detaljert og strukturert.
  • Lagt til eksperimentell støtte new type badge, som er en matrise av versjoner av utvalgte prosjekter i alle repositories. Dette verktøyet er nyttig, for eksempel for å få en generell ide om statusen (tilstedeværelse av en pakke, versjon, dens relevans og overholdelse av et gitt minimum) av avhengighetene til et prosjekt (eller bare en vilkårlig liste over prosjekter) . Denne funksjonaliteten er etterspurt (og brukes) av PostGIS-prosjektet.
  • Støtte for 404-prosjektsider har blitt forbedret - spesielt hvis det forespurte prosjektet ikke eksisterer, men navnet har blitt oppdaget tidligere (for eksempel som navnet på en pakke som ble tilordnet et prosjekt med et annet navn), så brukeren tilbys alternativer for prosjekter som han kunne ha i tankene, i form av "disambigueringssider»Wikipedia. Eksempel.
  • Forbedret integrasjon med WIKIDATA — i tillegg til forbedringer i dataimport, implementert og lansert båt, som oppdaterer informasjon om programvaren i Wikidata med data fra Repology. Husk at Wikidata gradvis er i ferd med å bli hovedkilden til strukturert informasjon for Wikipedia (i sammenheng med nyheter - fakta om programvare, som versjonshistorikk, lisens, nettside, støttede operativsystemer, forfatter, pakker i ulike distribusjoner, etc.), som lar deg opprettholde relevansen til dataene på ett sted, i stedet for dusinvis av lokaliserte versjoner av siden til hvert prosjekt. For eksempel et prosjektkort Nginx Wikipedia oversetter kun informasjon fra Wikidata.
  • I løpet av de siste seks månedene er det behandlet over 500 søknader (rapporter) for å legge til/endre reglene for å kunne behandle enkeltprosjekter mer korrekt.

Depotvurdering etter totalt antall pakker:

  • AUR (49462)
  • nix (48660)
  • Debian and derivatives (32972) (Raspbian leads)
  • FreeBSD (26921)
  • Fedora (22337)

Rangering av repositories etter antall ikke-unike pakker (dvs. pakker som også finnes i andre distribusjoner):

  • nix (41815)
  • Debian and derivatives (24284) (Raspbian leads)
  • AUR (22176)
  • FreeBSD (21831)
  • Fedora (19215)

Depotvurdering etter antall ferske pakker:

  • nix (23210)
  • Debian and derivatives (16107) (Raspbian leads)
  • FreeBSD (16095)
  • Fedora (13109)
  • AUR (12417)

Depotvurdering etter prosentandel av ferske pakker (bare for depoter med 1000 eller flere pakker og ikke medregnet oppstrøms samlinger av moduler som CPAN, Hackage, PyPi):

  • Ravenports (99.16 %)
  • Bue og derivater (85.23 %)
  • Hjemmebrygg (84.57 %)
  • nix (84.55 %)
  • Scoop (84.02 %)

Generell statistikk:

  • 252 depoter
  • 180 tusen prosjekter
  • 2.3 millioner individuelle pakker
  • 36 tusen vedlikeholdere
  • 153 tusen innspilte utgivelser i løpet av de siste seks månedene (den siste anmeldelsen inneholdt en feil, 150 tusen utgivelser ble registrert i løpet av de siste seks månedene)
  • 9.5 % av kjente prosjekter har gitt ut minst én ny versjon de siste seks månedene

Kilde: opennet.ru

Legg til en kommentar