Ticket #302 (new enhancement)
Write zephyr notification hook for apt repo
Reported by: | broder | Owned by: | |
---|---|---|---|
Priority: | low | Milestone: | The Distant Future |
Component: | development | Keywords: | |
Cc: | Fixed in version: | ||
Upstream bug: |
Description
reprepro supports running hooks on uploads. It'd be really cool to use that to generate the zephyr notifications -c debathena that Debathena developers usually just send by hand.
In order for this to actually be useful (and tolerable), you need some mechanisms for coalescing the notifications, so that you don't get 12 different zephyrs for every pair of (release, architecture) when you upload.
There are some docs about how reprepro hooks work at http://tinyurl.com/lno7vg
Note: See
TracTickets for help on using
tickets.
I got a fair bit of the way through writing a thing that could be a apt repo zephyr hook. It's currently at /mit/broder/Public/dagrouper. It's intended to be used as a reprepro logger script, which gets called once for each package that gets uploaded to the apt repository.
It'll group together every apt repository operation that happens within a period of 5 seconds. The next step is applying semantics to those changes (i.e. upgrading a package in production and removing the new version of the package from proposed => moving package from proposed to production)
The way the script works overall should be general enough that we could use it not only for sending zephyr notifications but also taking snapshots for snapshot.debathena.org. It could also potentially be used for things like sending daily notices about changes to the apt repository (by changing the 5 second timeout to something longer)