One other desirable condition for this to work (imho) is to support Deltas (i.e. patches) rather than full debs.
For example, a ten line code-change in one of the core libraries can snowball into updates of 50 packages, and a 200 MB download of .deb files, even though the actual end result could be established with rsync in a few MB.
This is expensive and time-consuming for mirrors and users alike.
Suggestion: user has currently got version example-2.5.3 installed, and the latest release is example-2.5.4.
Current process: download example-2.5.4.deb.
Better suggestion:
- User keeps the previous 2.5.3.deb (disk space is cheap).
- Mirror has example-2.5.4.deb AND example-2.5.3_2.5.4.patch
- User then downloads the much smaller .patch file, and re-generates the latest .deb locally.