
"Claus Reinke"
You need a way to specify "foo > 1.2 && foo < 2", which is a suggestion that was tossed around here recently.
but what does such a version range say? that i haven't tested any versions outside the range (because they didn't exist when i wrote my package)? or that i have, and know that later versions won't do?
IMO, it says that it works with interface version 1, and needs some stuff from sublevel 2, and as long as the foo developers keep their end of the bargain, it will continue to work with new releases in the 1-series. For foo-2, the interface may change, and all bets are off. The dependency could be expressed more in a more succinct (albeit less flexible) manner with a different syntax (e.g. "foo-1.2").
if that decision is based on version numbers alone, we need to be specific about the meaning of version numbers in dependencies.
Yes.
and if the major/minor scheme is to be interpreted as Simon summarised, the only acceptable form of a dependency is an explicit version range (the range of versions known to work).
I'm happy with "expected to work".
The major/minor scheme has worked nicely for .so for ages.
i'm not so sure about that. it may be better than alternatives, but [..]
Also, it sees a lot of testing, at least in current Linux distributions. The point is that the end-user experience is pretty good. -k -- If I haven't seen further, it is by standing in the footprints of giants