On Sat, Mar 31, 2007 at 11:08:31AM -0400, Christopher Aillon wrote:
Ralf Corsepius wrote:
On Fri, 2007-03-30 at 17:31 -0400, Christopher Aillon wrote:
Ralf Corsepius wrote:
IMO, in such cases the upstream "version-release" should be treated as rpm's "version"
'-' is not a valid character in an rpm version.
man tr
%define tarvers 1.2.3-4.5.6 %define rpmvers %{expand:%(echo %tarver | tr - _)} Version: %rpmvers
At which point you're no longer using the exact upstream version. You're using something close to it. There are lots of ways to do something close to something. If the tarball is x.y-z, we could do x.y_z-1.fc7 (version: x.y_z) or x.y-z.1.fc7 (version x.y release z.1) and they'd all look valid. But none of them follow upstream.
I'd argue that using the latter scheme makes it look closest to upstream,
Yes, but that's already all there is to it. rpm dependencies on minimal/maximal versions get busted or you start polluting the dependencies by parts of the %release tag. It is better to leave the version semantics as far as possible in the %version field. We only deviate from this when the version ordering would get out of place like 1.0rc5 to 1.0 and we don't have a better way to do that in the %version field alone (and epochs != better by definition ;).
For upstream not using proper separators, e.g. using a hyphen, we can and should always embed our own, be it dots or underscores.