reprepro to maintain a Private Package Archive of internal packages. There is no straightforward way to keep multiple version of a package available using
reprepro (see here), but it does have a snapshot facility that sort of works.
But only sort of. I don't see a good way to go back to a snapshot version. There is a command
restore documented, but it doesn't seem to work (reprepro version 4.8.2 on Ubuntu 12.4.1 LTS).
I can access the snapshot via
apt-get as described in the man page, by editing
sources.list to include something like
deb method://as/without/snapshot codename/snapshots/name main
but this means I need to update all the servers with a new sources.list to change their snapshots.
What I'd like to do is maintain a "safe" distribution that I can configure from any snapshot on "stable" and always have servers pull from "safe". Then to do a rollback I just roll back "safe" and have the servers remove and re-install the packages. (I say remove and reinstall because it seems too hard to get them to downgrade just the private packages without touching the public packages.) Or something like that.
The main goal is to have an automated way to get a server farm to revert to an older version of the packages. I'm open to suggestions.
How are people handling this?
Is there a way to get
reprepro snapshots to work the way I'd like?