/usr/lib/ruby/vendor_ruby/ruby_debian_dev.rb is in ruby-all-dev 1:2.5.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | module RubyDebianDev
RUBY_INTERPRETERS = {}
def self.has_support_for(ruby)
RUBY_INTERPRETERS[ruby] = yield
end
# XXX the default Ruby must come first here
has_support_for 'ruby2.5' do
{
version: '2.5',
binary: '/usr/bin/ruby2.5',
api_version: '2.5.0',
shared_library: 'libruby2.5',
min_ruby_version: '1:2.5~0',
ruby_upper_bound: '1:2.6~',
}
end
def self.min_ruby_dependency_for(shared_library)
RUBY_INTERPRETERS.each do |int,data|
if data[:shared_library] == shared_library
return "ruby (>= %s)" % data[:min_ruby_version]
end
end
return nil
end
def self.ruby_upper_bound
sort = IO.popen('sort -V', 'w+')
RUBY_INTERPRETERS.values.map do |data|
sort.puts(data[:ruby_upper_bound])
end
sort.close_write()
version = sort.read.split.last
"ruby (<< #{version})"
end
#################################################################
# These constants below are kept here for backwards compatibility
#################################################################
SUPPORTED_RUBY_VERSIONS = RUBY_INTERPRETERS.keys.inject({}) do |supported,interpreter|
supported[interpreter] = RUBY_INTERPRETERS[interpreter][:binary]
supported
end
RUBY_CONFIG_VERSION = RUBY_INTERPRETERS.keys.inject({}) do |supported,interpreter|
supported[interpreter] = RUBY_INTERPRETERS[interpreter][:version]
supported
end
RUBY_API_VERSION = RUBY_INTERPRETERS.keys.inject({}) do |supported,interpreter|
supported[interpreter] = RUBY_INTERPRETERS[interpreter][:api_version]
supported
end
SUPPORTED_RUBY_SHARED_LIBRARIES = RUBY_INTERPRETERS.map { |k,v| v[:shared_library] }
end
|