For Hacakge 2, the distro ecosystem hasn't had quite as much tooling put into it as, say, documentation, and it has changed a little bit from Hackage 1. Previously, there was a cron job that, among tasks like updating documentation, also downloaded distro info and ran <
http://code.haskell.org/~ross/hackage-scripts/DistroInfo.hs> on it; the resulting files were read when generating the package page in <
http://code.haskell.org/~ross/hackage-scripts/PackagePage.hs>.
No such job exists now. However, there is something to replace it in Hackage 2. It is not a cron job; it's more push than pull, actually. Distro maintainers can upload distro information directly to Hackage (either manually, using a form, or programmatically using something like curl). It is currently not exposed or documented that well, unfortunately, and it needs a last 10% of work to be fully functional. If you'd like, I think I'd be able to do it this week.
So what does this new API look like? Well, this is the list of distros we know about:
And the set of packages we know about for Fedora:
The status for a given package:
Finally, shown on the package page itself:
There are per-distro ACLs so that the above information can kept up to date by authorized accounts. There are a few issues with this system currently, such as not being able to edit these ACLs over HTTP (!). Once this is fixed, it will be possible to do:
3. Delete the distro status of an individual package: this is a DELETE, perhaps meaning that the package is no longer offered
Unlike the previous system, using this *does* require Hackage credentials, and if this data comes from an automatic task, a bot account could possibly be used. It depends on what will work best with the current flow.
Best,
Matt