This file is indexed.

/usr/bin/multiruby_setup is in ruby-zentest 4.9.1-1.

This file is owned by root:root, with mode 0o755.

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
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/env ruby

require 'multiruby'

ENV.delete 'RUBYOPT'

ARGV << "help" if ARGV.empty?

Dir.chdir Multiruby.root_dir
Multiruby.setup_dirs(false)

ARGV.each do |spec|
  case spec
  when "-h", "--help", "help" then
    Multiruby.help
    exit 0
  when "the_usual" then # TODO: update #help
    ARGV.push(*Multiruby::TAGS.map { |v| "mri:tar:#{v.gsub(/_/, '.')}" })
    ARGV << "build" << "update:rubygems"
    system "multigem install --no-ri --no-rdoc rake minitest ZenTest gemcutter rubyforge hoe"
  when "build" then
    Multiruby.build_and_install
  when "clean" then
    Multiruby.clean
  when "list" then
    Multiruby.list
  when /rm:(.*)/ then
    Multiruby.rm $1
  when "rubygems:merge" then
    Multiruby.merge_rubygems
  when "rubygems:update", "update:rubygems" then
    Multiruby.update_rubygems
    ARGV << "build"
  when "update" then
    Multiruby.update
  when "tags" then
    p Multiruby.tags
  when "mri:svn:current" then
    ARGV << "mri:svn:releases" << "mri:svn:branches" << "build"
  when "mri:svn:releases" then
    Multiruby::TAGS.each do |v|
      latest = Multiruby.mri_latest_tag v
      abort "Can't find tag #{v}" unless latest
      ARGV << "mri:svn:tag:#{latest}:mri_rel_#{v}"
    end
    ARGV << "build"
  when /mri:svn:branch:(.*)/ then
    ver = "branches/ruby_#{$1}" unless ver == "trunk"
    Multiruby.svn_co "#{Multiruby::MRI_SVN}/#{$1}", "mri_#{$1}"
    ARGV << "build"
  when "mri:svn:branches" then
    Multiruby::BRANCHES.each do |v|
      ARGV << "mri:svn:branch:#{v}"
    end
    ARGV << "build"
  when /mri:svn:tag:(.*):(.*)/ then
    Multiruby.svn_co "#{Multiruby::MRI_SVN}/tags/#{$1}", $2
    ARGV << "build"
  when /mri:svn:tag:(.*)/ then
    ARGV << "mri:svn:tag:#{$1}:#{$1}" << "build"
  when /mri:list:(.*)/ then
    v   = $1
    ver = v[/\d+\.\d+/]
    url = "#{Multiruby::RUBY_URL}/#{ver}/"

    puts Multiruby.matching_versions(url, v).join("\n")
  when /mri:tar:(.*)/ then
    Multiruby.fetch_tar $1
    ARGV << "build"
  else
    warn "unknown spec #{spec}"
  end
end