ProHoster > Blog > noticias de internet > Resultados de seis meses de traballo do proxecto Repology, que analiza información sobre versións de paquetes
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 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