vondruch / rpms / ruby

Forked from rpms/ruby 6 years ago
Clone
724ffdb
#!/usr/bin/ruby
724ffdb
724ffdb
require 'rubygems/package'
724ffdb
724ffdb
module RubyGemsProv
724ffdb
  module Helpers
724ffdb
    # If there is some prelease version files, such as rc1 (i.e. non-numeric
724ffdb
    # field), prepend this field by tilde instead of dot.
724ffdb
    def self.normalize_prerelease(version)
724ffdb
      if version.prerelease?
724ffdb
        prerelease = version.version.sub /^#{version.release}\./, ''
0d5d7e9
        "#{version.release}-0.1.#{prerelease}"
724ffdb
      else
0d5d7e9
        "#{version.release}-1"
724ffdb
      end
724ffdb
    end
724ffdb
  end
724ffdb
724ffdb
  # Reports all functionality gem provides.
724ffdb
  def self.provides
724ffdb
    while filename = gets
724ffdb
      filename.strip!
724ffdb
      begin
724ffdb
        specification = Gem::Specification.load filename
724ffdb
724ffdb
        puts "rubygem(#{specification.name}) = #{Helpers::normalize_prerelease(specification.version)}"
724ffdb
      rescue => e
724ffdb
        # Ignore all errors.
724ffdb
      end
724ffdb
    end
724ffdb
  end
724ffdb
end
724ffdb
724ffdb
if __FILE__ == $0
724ffdb
  RubyGemsProv::provides
724ffdb
end