Cross package maker. DEB/RPM generation or conversion. Derived from jordansissel/fpm.

⌈⌋ ⎇ branch:  cross package maker


Check-in [4e43c4333c]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:- Some gem deps look like this ">= A, <= B" so split them and add separate deps for each.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4e43c4333cc60f955d6b2bd94214a26b50956301
User & Date: jls@semicomplete.com 2011-03-29 18:17:30
Context
2011-03-29
18:17
- version bump for some centos and rubygems fixes check-in: 9820c2408f user: jls@semicomplete.com tags: trunk
18:17
- Some gem deps look like this ">= A, <= B" so split them and add separate deps for each. check-in: 4e43c4333c user: jls@semicomplete.com tags: trunk
18:06
- Compensate for some gems or rubygems versions not having 'license' or possibly other fields. Assume "unknown" check-in: 7a6f3fe4bc user: jls@semicomplete.com tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to lib/fpm/source/gem.rb.

67
68
69
70
71
72
73
74

75
76
77
78
79
80



81
82

83
84
85
86
87
88
89
        self[:maintainer] = spec.author
        self[:url] = spec.homepage

        # TODO [Jay]: this will be different for different
        # package managers.  Need to decide how to handle this.
        self[:category] = 'Languages/Development/Ruby'

        self[:dependencies] = spec.runtime_dependencies.map do |dep|

          # rubygems 1.3.5 doesn't have 'Gem::Dependency#requirement'
          if dep.respond_to?(:requirement)
            reqs = dep.requirement.to_s.gsub(/,/, '')
          else
            reqs = dep.version_requirements
          end



          "rubygem#{self[:suffix]}-#{dep.name} #{reqs}"
        end

      end # ::Gem::Package
    end # File.open (the gem)
  end # def get_metadata

  def make_tarball!(tar_path, builddir)
    tmpdir = "#{tar_path}.dir"
    installdir = "#{tmpdir}/#{::Gem::dir}"







|
>






>
>
>
|
|
>







67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
        self[:maintainer] = spec.author
        self[:url] = spec.homepage

        # TODO [Jay]: this will be different for different
        # package managers.  Need to decide how to handle this.
        self[:category] = 'Languages/Development/Ruby'

        self[:dependencies] = []
        spec.runtime_dependencies.map do |dep|
          # rubygems 1.3.5 doesn't have 'Gem::Dependency#requirement'
          if dep.respond_to?(:requirement)
            reqs = dep.requirement.to_s.gsub(/,/, '')
          else
            reqs = dep.version_requirements
          end

          # Some reqs can be ">= a, < b" versions, let's handle that.
          reqs.to_s.split(/, */).each do |req|
            self[:dependencies] << "rubygem#{self[:suffix]}-#{dep.name} #{req}"
          end
        end # runtime_dependencies
      end # ::Gem::Package
    end # File.open (the gem)
  end # def get_metadata

  def make_tarball!(tar_path, builddir)
    tmpdir = "#{tar_path}.dir"
    installdir = "#{tmpdir}/#{::Gem::dir}"