Maps Linux distribution source packages to their upstream repositories, and through them to each other

bulk: the association table, canonicalisation and comparison master

isomorph bulk debian|arch|opensuse|alpine resolves every source package of a distribution suite into a SQLite table: package, version, OSV ecosystem, purl, binaries, homepage, upstream key and clone URL, the basis of the mapping (metadata, vcs-source, release-url, derived, bug-tracker, homepage) and every piece of evidence behind it. The Arch and openSUSE commands crawl per-package packaging files at a published-limit-respecting pace and read them back from the cache on later runs. bulk canonicalize maps keys that name the same repository onto one: GitHub renames and transfers (and repositories that no longer exist), GitLab numeric project ids, PyPI and crates.io metadata for the package's own registry entry, KDE's project list for keys without a group, and mirror rules. Packages are rescored from their stored evidence, so fields that name one repository under different keys reinforce each other. bulk compare prints, for any two distributions or all pairs, a confusion matrix of their mappings over same-named packages and over identical source tarballs. bulk debian also resolves every package with a DEP-12 Repository again without it and reports agreement per basis. docs/EVALUATION.md reports coverage, agreement with DEP-12 and between distributions, and a labelled error analysis (eval/) with the fixes it led to.


Author Matthew Suozzo Date Commit 675e7b5b Parent 9421a3e3 Change ID npsvlkvp