| |
@@ -35,7 +35,18 @@
|
| |
# with RPM .spec file.
|
| |
def self.requirement_versions_to_rpm(requirement)
|
| |
self.expand_requirement(requirement.requirements).map do |op, version|
|
| |
- version == Gem::Version.new(0) ? "" : " #{op} #{version}"
|
| |
+ if version == Gem::Version.new(0)
|
| |
+ ""
|
| |
+ else
|
| |
+ # If there is some prelease version files, such as rc1 (i.e. non-numeric
|
| |
+ # field), prepend this field by tilde instead of dot.
|
| |
+ if version.prerelease?
|
| |
+ prerelease = version.version.sub /^#{version.release}\./, ''
|
| |
+ " #{op} #{version.release}~#{prerelease}"
|
| |
+ else
|
| |
+ " #{op} #{version}"
|
| |
+ end
|
| |
+ end
|
| |
end
|
| |
end
|
| |
|
| |
rubygems.req already support tilde for prerelease. Use the same mechanism
also on rubygems.prov to make requirement consistent.
rubygems.req already use tilde since https://src.fedoraproject.org/rpms/ruby/c/0c8cdc456bea3d321c73c450eadb6ca8116db281 . Let rubygems.prov also use this.