Le samedi 31 mars 2007 à 11:08 -0400, Christopher Aillon a écrit :
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.
Please no underscores I dearly hate underscores in versions. Use a dot
it you need to (this is actually the right subversion separator)
I'd argue that using the latter scheme makes it look closest to
upstream, which to me is very important if I want to search for a
package by version number. I'd still be able to do find -name
abc-x.y-z* or a yum search abc-x.y-z and have it work.
There are many way we mangle upstream names & versions, you can't expect
yum search abc-x.y-z to work anyway. Following upstream is well and good
but following distro conventions comes first.
Take ConsoleKit-libs for example. Someone blindly matched upstream. So
it's a one-of-a-kind:
- people don't find it easily since it's lot matching usual packagename
lowercasing (same for the service btw)
- it's a pam package but it's not a pam_foo package like the others
(and it's totally broken on x86_64 right now because it's not putting
its stuff in /lib64 as it should)
Don't let upstream quirks creep in distro naming please.
Regards,
--
Nicolas Mailhot