The results of six months of work of the Repology project, which analyzes information about package versions

Another six months passed and the project Repology, which collects and compares information about the versions of packages from many repositories, publishes the next report. The goal of the project is to improve the interaction of package keepers from various distributions both with each other and with software authors β€” in particular, the project helps to quickly detect releases of new software versions, monitor the relevance of packages, unify naming and versioning schemes, keep meta-information up to date, share patches and problem solving and improve software portability.

  • The number of supported repositories exceeded 250. Added support for Cygwin, distri, Homebrew Casks, just-install, KISS Linux, Kwort, LuaRocks, Npackd, OS4Depot, RPM Sphere. Removed deprecated Antergos repository. Support for GNU Guix was removed (due to changes on the Guix site that made parsing impossible) and later brought back (due to Guix's implementation of a regular dump of JSON metadata), as well as improvements.
  • A requirement has been introduced for repositories to provide URLs (home pages or a link to the distribution) in addition to the package name and version - this information allows you to reliably resolve the numerous name conflicts that the project encounters. Repositories, for now not providing such information are scheduled for deletion.
  • The main repository of the project's source code has been split into two (a daemon for updating these repositories and a web application that ensures the operation of the site), the implementation of type annotations has been completed in the code (all project code now passes mypy --strict) and PEP8 compliance.
  • Added support for legacy version branches. For example, now Repology can report that PostgreSQL 11.2 is outdated (since the latest version in the 11th branch is 11.5) even if there is a newer version 12.0 in the repository (previously, all versions below the latest were marked as legacy in the repository and could not be obsolete ). In this regard, most of the projects previously broken down by major versions (for example, wxwidgets28/wxwidgets30) have been merged.
  • Added the ability to correctly process projects with parallel incompatible versioning schemes. For example, FreeCAD where 0.18.4 and 0.18.16146 correspond to the same release.
  • reworked list ΠΈ individual pages maintainers - now the statistics of the maintainer is collected separately for the repositories. Practice has shown that representative aggregated statistics are impossible due to the fact that packages, while keeping the maintainer in metadata, can migrate to other repositories without its knowledge and losing its support in fact (it is not possible to track this automatically). Later they may become obsolete, and it would be incorrect to associate this fact with the original maintainer - this situation caused dissatisfaction of Gentoo's maintainers due to the presence of Funtoo, which is essentially a fork of Gentoo that they don't control and keeps information about the maintainers. Binding statistics to repositories solved this problem, at the same time, information about maintainers became more detailed and structured.
  • Added experimental support new type badge, which is a matrix of versions of selected projects in all repositories. This tool is useful, for example, to get a general idea of ​​the status (presence of a package, version, its relevance and compliance with a given minimum) of the dependencies of a project (or just an arbitrary list of projects). This functionality is requested (and used) by the PostGIS project.
  • Support for 404 project pages has been improved - in particular, if the requested project does not exist, but the name has previously been encountered (for example, as the name of a package that was assigned to a project with a different name), then the user is offered options for projects that he could have in mind, in the manner of "disambiguation pagesΒ»Wikipedia. Example.
  • Improved integration with Wikidata β€” in addition to improvements in data import, implemented and launched bot, which updates information about the software in Wikidata with data from Repology. Recall that Wikidata is gradually becoming the main source of structured information for Wikipedia (in the context of news - facts about software, such as version history, license, website, supported operating systems, author, packages in various distributions, etc.), which allows you to maintain the relevance of the data in one place, instead of dozens of localized versions of the page of each project. For example, a project card Nginx Wikipedia only translates information from Wikidata.
  • Over the past six months, more than 500 applications (reports) have been processed for adding / changing the rules in order to more correctly process individual projects.

Repository rating by the total number of packages:

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

Ranking of repositories by the number of non-unique packages (i.e. packages that are also present in other distributions):

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

Repository rating by the number of fresh packages:

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

Repository rating by percentage of fresh packages (only for repositories with 1000 or more packages and not counting upstream collections of modules like CPAN, Hackage, PyPi):

  • Ravenports (99.16%)
  • Arch and derivatives (85.23%)
  • Homebrew (84.57%)
  • nix (84.55%)
  • Scoop (84.02%)

Total stats:

  • 252 repositories
  • 180 thousand projects
  • 2.3 million individual packages
  • 36 thousand maintainers
  • 153 thousand recorded releases over the past six months (the last review contained an error, over the previous six months 150 thousand releases were recorded)
  • 9.5% of well-known projects have released at least one new version in the past six months

Source: opennet.ru

Add a comment