Los resultados de seis meses de trabajo del proyecto Repology, que analiza información sobre versiones de paquetes

Pasaron otros seis meses y el proyecto Repología, que recopila y compara información sobre las versiones de paquetes de muchos repositorios, publica el siguiente informe. El objetivo del proyecto es mejorar la interacción de los administradores de paquetes de varias distribuciones entre sí y con los autores de software; en particular, el proyecto ayuda a detectar rápidamente lanzamientos de nuevas versiones de software, monitorear la relevancia de los paquetes, unificar nombres y versiones. esquemas, mantener actualizada la metainformación, compartir parches y resolución de problemas y mejorar la portabilidad del software.

  • La cantidad de repositorios compatibles superó los 250. Se agregó soporte para Cygwin, distri, Homebrew Casks, just-install, KISS Linux, Kwort, LuaRocks, Npackd, OS4Depot, RPM Sphere. Se eliminó el repositorio obsoleto de Antergos. Se eliminó el soporte para GNU Guix (debido a cambios en el sitio de Guix que hicieron imposible el análisis) y luego se restableció (debido a la implementación de Guix de un volcado regular de metadatos JSON), así como mejoras.
  • Se introdujo un requisito para que los repositorios proporcionen URL (páginas de inicio o un enlace a la distribución) además del nombre y la versión del paquete; esta información le permite resolver de manera confiable los numerosos conflictos de nombres que encuentra el proyecto. Repositorios, por ahora no proporcionar dicha información está programada para su eliminación.
  • El repositorio principal del código fuente del proyecto se ha dividido en dos (un daemon para actualizar estos repositorios y una aplicación web que asegura el funcionamiento del sitio), se ha completado la implementación de anotaciones de tipo en el código (todo el código del proyecto ahora pasa mypy --strict) y cumplimiento de PEP8.
  • Se agregó soporte para ramas de versiones heredadas. Por ejemplo, ahora Repology puede informar que PostgreSQL 11.2 está desactualizado (dado que la última versión en la rama 11 es 11.5) incluso si hay una versión más nueva 12.0 en el repositorio (anteriormente, todas las versiones por debajo de la última se marcaron como heredadas en el repositorio y no podría estar obsoleto). En este sentido, se han fusionado la mayoría de los proyectos previamente desglosados ​​por versiones principales (por ejemplo, wxwidgets28/wxwidgets30).
  • Se agregó la capacidad de procesar correctamente proyectos con esquemas de versiones paralelas incompatibles. Por ejemplo, FreeCAD donde 0.18.4 y 0.18.16146 corresponden al mismo release.
  • reelaborado lista и páginas individuales mantenedores: ahora las estadísticas del mantenedor se recopilan por separado para los repositorios. La práctica ha demostrado que las estadísticas agregadas representativas son imposibles debido al hecho de que los paquetes, mientras mantienen al mantenedor en los metadatos, pueden migrar a otros repositorios sin su conocimiento y, de hecho, perder su soporte (no es posible rastrear esto automáticamente). Posteriormente pueden volverse obsoletos, y sería incorrecto asociar este hecho con el mantenedor original - esta situación provocó descontento de los mantenedores de Gentoo debido a la presencia de Funtoo, que es esencialmente una bifurcación de Gentoo que no controlan y guarda información sobre los mantenedores. Vincular estadísticas a repositorios resolvió este problema, al mismo tiempo, la información sobre los mantenedores se volvió más detallada y estructurada.
  • Añadido experimental apoyar nuevo tipo de credencial, que es una matriz de versiones de proyectos seleccionados en todos los repositorios. Esta herramienta es útil, por ejemplo, para tener una idea general del estado (presencia de un paquete, versión, su relevancia y cumplimiento de un mínimo dado) de las dependencias de un proyecto (o simplemente una lista arbitraria de proyectos) . Esta funcionalidad es solicitada (y utilizado) por el proyecto PostGIS.
  • Se mejoró la compatibilidad con las páginas de proyectos 404; en particular, si el proyecto solicitado no existe, pero el nombre se encontró anteriormente (por ejemplo, como el nombre de un paquete que se asignó a un proyecto con un nombre diferente), entonces al usuario se le ofrecen opciones de proyectos que podría tener en mente, a modo de "páginas de desambiguación»Wikipedia. ejemplo.
  • Integración mejorada con Wikidata — además de mejoras en la importación de datos, implementadas y lanzadas bot, que actualiza la información sobre el software en Wikidata con datos de Repology. Recuerde que Wikidata se está convirtiendo gradualmente en la principal fuente de información estructurada para Wikipedia (en el contexto de noticias: datos sobre software, como historial de versiones, licencia, sitio web, sistemas operativos compatibles, autor, paquetes en varias distribuciones, etc.), que le permite mantener la relevancia de los datos en un solo lugar, en lugar de decenas de versiones localizadas de la página de cada proyecto. Por ejemplo, una tarjeta de proyecto Nginx Wikipedia solo traduce información de Wikidata.
  • Durante los últimos seis meses, se han procesado más de 500 solicitudes (informes) para agregar/cambiar las reglas a fin de procesar de manera más correcta los proyectos individuales.

Calificación del repositorio por el número total de paquetes:

  • AUR (49462)
  • nada (48660)
  • Debian y derivados (32972) (líderes de Raspbian)
  • FreeBSD (26921)
  • Sombrero de fieltro (22337)

Clasificación de repositorios por el número de paquetes no únicos (es decir, paquetes que también están presentes en otras distribuciones):

  • nada (41815)
  • Debian y derivados (24284) (líderes de Raspbian)
  • AUR (22176)
  • FreeBSD (21831)
  • Sombrero de fieltro (19215)

Calificación del repositorio por el número de paquetes frescos:

  • nada (23210)
  • Debian y derivados (16107) (líderes de Raspbian)
  • FreeBSD (16095)
  • Sombrero de fieltro (13109)
  • AUR (12417)

Calificación del repositorio por porcentaje de paquetes nuevos (solo para repositorios con 1000 o más paquetes y sin contar las colecciones anteriores de módulos como CPAN, Hackage, PyPi):

  • Cuervos (99.16%)
  • Arco y derivados (85.23%)
  • Cerveza casera (84.57%)
  • nada (84.55%)
  • Cucharada (84.02%)

Estadísticas totales:

  • 252 repositorios
  • 180 mil proyectos
  • 2.3 millones de paquetes individuales
  • 36 mil mantenedores
  • 153 mil liberaciones registradas en los últimos seis meses (la última revisión contenía un error, durante los seis meses anteriores se registraron 150 mil liberaciones)
  • El 9.5% de los proyectos conocidos han lanzado al menos una nueva versión en los últimos seis meses.

Fuente: opennet.ru

Añadir un comentario