Resultados de seis meses de traballo do proxecto Repology, que analiza información sobre versións de paquetes

Pasaron outros seis meses e o proxecto Repoloxía, que recolle e compara información sobre versións de paquetes de moitos repositorios, publica outro informe. O obxectivo do proxecto é mellorar a interacción dos mantedores de paquetes de varias distribucións tanto entre eles como cos autores de software; en particular, o proxecto axuda a detectar rapidamente lanzamentos de novas versións de software, supervisar a relevancia dos paquetes, unificar os nomes e esquemas de versión. , mantén a metainformación actualizada, comparte parches e solucións a problemas e mellora a portabilidade do software.

  • O número de repositorios admitidos superou os 250. Engadido soporte para Cygwin, distri, Homebrew Casks, só instalar, KISS Linux, Kwort, LuaRocks, Npackd, OS4Depot, RPM Sphere. O repositorio de Antergos, que deixou de desenvolverse, foi eliminado. Eliminouse o soporte para GNU Guix (debido a cambios no sitio web de Guix que imposibilitaban a análise) e volveuse posteriormente (grazas a que Guix implementou volcados de metadatos regulares en formato JSON), e ao mesmo tempo mellorouse.
  • Introduciuse un requisito para que os repositorios, ademais do nome e a versión do paquete, proporcionen un URL (páxinas de inicio ou ligazón á distribución): esta información permítelle resolver de forma fiable numerosos conflitos de nomenclatura que atopa o proxecto. Repositorios, actualmente non proporcionar dita información está programada para a súa eliminación.
  • O repositorio principal do código fonte do proxecto está dividido en dous (un daemon para actualizar os datos do repositorio e unha aplicación web que garante o funcionamento do sitio), completouse a implementación de anotacións de tipo no código (todo o código do proxecto agora executa mypy -estricto) e aliñamento con PEP8.
  • Engadido soporte para ramas de versións legadas. Por exemplo, agora Repology pode informar de que PostgreSQL 11.2 está desactualizado (xa que a última versión da rama 11 é a 11.5) aínda que no repositorio haxa unha versión 12.0 máis recente (anteriormente, todas as versións inferiores á máis recente no repositorio estaban marcadas como legadas). e non podería ter un estado obsoleto). Neste sentido, fusionáronse a maioría dos proxectos divididos anteriormente en versións principais (por exemplo, wxwidgets28/wxwidgets30).
  • Engadida a capacidade de procesar correctamente proxectos con esquemas paralelos de versións incompatibles. Por exemplo, FreeCAD no que 0.18.4 e 0.18.16146 corresponden a unha versión.
  • Reelaborado список и páxinas individuais mantedores - agora as estatísticas dos mantedores recóllense por separado polo repositorio. A práctica demostrou que as estatísticas agregadas representativas son imposibles debido ao feito de que os paquetes, mentres almacenan o mantedor en metadatos, poden migrar a outros repositorios sen o seu coñecemento e privándoo de feito do seu apoio (aínda que non é posible rastrexar isto automaticamente). . Máis tarde poden quedar desactualizados, e sería incorrecto asociar este feito co mantedor orixinal - esta situación provocou descontento Mantedores de Gentoo debido á presenza de Funtoo, esencialmente un fork de Gentoo non controlado por eles, que almacena información sobre os mantedores. A vinculación das estatísticas aos repositorios permitiu resolver este problema; ao mesmo tempo, a información sobre os mantedores tornouse máis detallada e estruturada.
  • Engadido experimental apoiar un novo tipo de distintivo, que é unha matriz de versións dos proxectos seleccionados en todos os repositorios. Esta ferramenta é útil, por exemplo, para facerse unha idea xeral do estado (dispoñibilidade do paquete, versión, a súa relevancia e cumprimento dun mínimo determinado) das dependencias dun proxecto (ou só dunha lista arbitraria de proxectos). Esta funcionalidade foi solicitada (e se usa) polo proxecto PostGIS.
  • Compatibilidade mellorada para 404 páxinas do proxecto - en particular, se o proxecto solicitado non existe, pero o nome atopouse anteriormente (por exemplo, como o nome dun paquete que se asignou a un proxecto cun nome diferente), entón o usuario é ofreceu opcións para proxectos que puidese ter en mente, ao xeito de "páxinas de desambiguación» Wikipedia. Exemplo.
  • Mellora da integración con Wikidata — ademais de melloras na importación de datos, implementadas e postas en marcha bot, que actualiza a información do software en Wikidata utilizando datos de Repology. Lembremos que Wikidata estase convertendo aos poucos na principal fonte de información estruturada para a Wikipedia (no contexto das noticias: datos sobre software, como historial de versións, licenza, sitio web, sistema operativo compatible, autor, paquetes en varias distribucións, etc.), o que lle permite manter a relevancia dos datos nun só lugar, en lugar de decenas de versións localizadas de cada páxina do proxecto. Por exemplo, unha tarxeta de proxecto Nginx A Wikipedia transmite información só desde Wikidata.
  • Durante os últimos seis meses, procesáronse máis de 500 solicitudes (informes) para engadir/cambiar regras co fin de procesar máis correctamente proxectos individuais.

Clasificación do repositorio polo número total de paquetes:

  • AUR (49462)
  • nix (48660)
  • Debian e derivados (32972) (Raspbian leads)
  • FreeBSD (26921)
  • Fedora (22337)

Valoración dos repositorios segundo o número de paquetes non únicos (é dicir, paquetes que tamén están presentes noutras distribucións):

  • nix (41815)
  • Debian e derivados (24284) (Raspbian leads)
  • AUR (22176)
  • FreeBSD (21831)
  • Fedora (19215)

Clasificación do repositorio por número de paquetes frescos:

  • nix (23210)
  • Debian e derivados (16107) (Raspbian leads)
  • FreeBSD (16095)
  • Fedora (13109)
  • AUR (12417)

Clasificación do repositorio por porcentaxe de paquetes novos (só para repositorios con 1000 ou máis paquetes e sen contar as coleccións de módulos anteriores como CPAN, Hackage, PyPi):

  • Ravenports (99.16%)
  • Arco e derivados (85.23%)
  • Homebrew (84.57%)
  • nix (84.55%)
  • Scoop (84.02%)

Estatísticas xerais:

  • 252 repositorios
  • 180 mil proxectos
  • 2.3 millóns de paquetes individuais
  • 36 mil mantedores
  • 153 mil lanzamentos rexistrados nos últimos seis meses (a última revisión contiña un erro; rexistráronse 150 mil lanzamentos nos seis meses anteriores)
  • O 9.5% dos proxectos coñecidos lanzaron polo menos unha nova versión nos últimos seis meses

Fonte: opennet.ru

Engadir un comentario