
Toby Corkindale wrote:
So far, repo management software I've seen will purge the older version out when you upload a new one.
echo >>Release NotAutomatic: yes # Workaround #272557. This will prevent all upgrades from that repo unless a human explicitly requests them. e.g. "apt-get dist-upgrade" will skip them. This flag is what debian/experimental uses. See also reprorepo, or http://cyber.com.au/~twb/snarf/apt-ftparchive for a cheapass alternative.
I want the repository to maintain multiple versions of the same package.
Either of the above should handle that fine.
And then on a machine using my repo, be able to say something like:
aptitude install my-package (> 1.10 & < 1.99) while on another machine, say: aptitude install my-package (>= 2.00)
You can't have that. Of the top of my head, you could: apt-get install foo=1.2.0 aptitude hold foo or pinning, ref. apt_preferences(5). Or create a stub package that has something like Conflicts: foo (>= 2~) or Breaks same, then install that on the one you want to keep at the old version. Or finally, if the two hosts are different suites, create foo 1.x and foo 2.x packages for the different suites in the first place. My wrapper script won't handle that, but any heavyweight one (i.e. one that *has* a pool/) should handle it just fine.