rgem2rpm 1.4.7 → 1.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/rgem2rpm/gem.rb +1 -1
- data/lib/rgem2rpm/rpm.rb +193 -193
- data/lib/rgem2rpm/version.rb +1 -1
- metadata +36 -44
data/lib/rgem2rpm/gem.rb
CHANGED
@@ -76,7 +76,7 @@ class RGem2Rpm::Gem
|
|
76
76
|
# define name and platform
|
77
77
|
def name_and_platform(gemname)
|
78
78
|
name = gemname
|
79
|
-
if gemname =~ /jruby|
|
79
|
+
if gemname =~ /jruby|jar|java/ or @spec[:platform].to_s == 'java'
|
80
80
|
@platform = 'jruby'
|
81
81
|
name = "jruby-#{gemname}" unless gemname =~ /jruby/
|
82
82
|
elsif @platform == 'jruby' and !@spec[:executables].nil? and !@spec[:executables].empty?
|
data/lib/rgem2rpm/rpm.rb
CHANGED
@@ -1,193 +1,193 @@
|
|
1
|
-
require 'erb'
|
2
|
-
|
3
|
-
class RGem2Rpm::Rpm
|
4
|
-
attr_accessor :name, :version, :release, :license, :summary, :group, :packager, :description, :installdir
|
5
|
-
|
6
|
-
def initialize(args)
|
7
|
-
@template = args[:template] || File.dirname(__FILE__) + '/../../conf/template.spec'
|
8
|
-
@name = args[:installname]
|
9
|
-
@gemname = args[:name]
|
10
|
-
@version = args[:version]
|
11
|
-
@release = args[:release] || '1'
|
12
|
-
@license = "See #{args[:homepage]}"
|
13
|
-
@summary = args[:summary]
|
14
|
-
@packager = args[:packager] || '
|
15
|
-
@group = args[:group] || '
|
16
|
-
@osuser = args[:osuser] || 'root'
|
17
|
-
@osgroup = args[:osgroup] || 'root'
|
18
|
-
@description = process_description(args[:description])
|
19
|
-
@installdir = args[:installdir] || '/
|
20
|
-
@arch = args[:architecture]
|
21
|
-
@files = args[:files]
|
22
|
-
@rubygem = args[:rubygem]
|
23
|
-
@dependencies = args[:dependencies]
|
24
|
-
end
|
25
|
-
|
26
|
-
def create
|
27
|
-
# create spec
|
28
|
-
spec
|
29
|
-
# build rpm
|
30
|
-
build
|
31
|
-
end
|
32
|
-
|
33
|
-
def installlist
|
34
|
-
install_str = StringIO.new
|
35
|
-
install_str << "rm -rf %{buildroot}\n"
|
36
|
-
# get directories
|
37
|
-
@files[:directories].each { |directory|
|
38
|
-
escaped_str = directory.gsub(/%/, '%%')
|
39
|
-
install_str << "install -d \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
40
|
-
}
|
41
|
-
# get files
|
42
|
-
@files[:files].each { |file|
|
43
|
-
escaped_str = file.gsub(/%/, '%%')
|
44
|
-
install_str << "install -m 644 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
45
|
-
}
|
46
|
-
# get specification
|
47
|
-
escaped_str = @files[:specification].gsub(/%/, '%%')
|
48
|
-
install_str << "install -m 644 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
49
|
-
# get executables
|
50
|
-
@files[:executables].each { |executable|
|
51
|
-
escaped_str = executable.gsub(/%/, '%%')
|
52
|
-
install_str << "install -m 0755 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
53
|
-
}
|
54
|
-
# return install string
|
55
|
-
install_str.string
|
56
|
-
end
|
57
|
-
|
58
|
-
def filelist
|
59
|
-
files_str = StringIO.new
|
60
|
-
files_str << "%defattr(0644,#{@osuser},#{@osgroup},0755)\n"
|
61
|
-
|
62
|
-
files_str << "%dir %{prefix}\n"
|
63
|
-
@files[:directories].each { |file|
|
64
|
-
escaped_str = file.gsub(/%/, '?')
|
65
|
-
files_str << "%dir \"%{prefix}/#{escaped_str}\"\n"
|
66
|
-
}
|
67
|
-
|
68
|
-
files_str << "%{prefix}/#{@files[:specification]}\n"
|
69
|
-
@files[:files].each { |file|
|
70
|
-
escaped_str = file.gsub(/%/, '?')
|
71
|
-
files_str << "\"%{prefix}/#{escaped_str}\"\n"
|
72
|
-
}
|
73
|
-
|
74
|
-
# get executables
|
75
|
-
@files[:executables].each { |executable|
|
76
|
-
files_str << "%attr(0755,#{@osuser},#{@osgroup}) %{prefix}/#{executable}\n"
|
77
|
-
}
|
78
|
-
# return file string
|
79
|
-
files_str.string
|
80
|
-
end
|
81
|
-
|
82
|
-
def buildarch
|
83
|
-
@arch == 'all' ? 'noarch' : nil
|
84
|
-
end
|
85
|
-
|
86
|
-
def requires
|
87
|
-
req_str = StringIO.new
|
88
|
-
# set rubygems dependency
|
89
|
-
unless @rubygem.nil?
|
90
|
-
req_str << "rubygems"
|
91
|
-
req_str << " #{@rubygem}" unless @rubygem == '>= 0'
|
92
|
-
end
|
93
|
-
# set runtime dependencies
|
94
|
-
@dependencies.each { |d|
|
95
|
-
d.requirement.requirements.each { |v|
|
96
|
-
req_str << ', ' unless req_str.size == 0
|
97
|
-
req_str << "rubygem(#{d.name})"
|
98
|
-
req_str << " #{v[0].gsub('~>','>=')} #{v[1].to_s}" unless v[0] =~ /!=/
|
99
|
-
if v[0] =~ /~>/
|
100
|
-
version = v[1].to_s.strip.split('.')
|
101
|
-
version[version.size - 1] = "0"
|
102
|
-
version[version.size - 2] = (version[version.size - 2].to_i + 1).to_s
|
103
|
-
req_str << ", rubygem(#{d.name}) < #{version.join('.')}"
|
104
|
-
end
|
105
|
-
}
|
106
|
-
}
|
107
|
-
# return string with dependencies
|
108
|
-
req_str.string
|
109
|
-
end
|
110
|
-
|
111
|
-
def conflicts
|
112
|
-
conflict_str = StringIO.new
|
113
|
-
# set conflicts
|
114
|
-
@dependencies.each { |d|
|
115
|
-
d.requirement.requirements.each { |v|
|
116
|
-
conflict_str << ', ' unless conflict_str.size == 0
|
117
|
-
conflict_str << "rubygem(#{d.name}) #{v[0].gsub('!=','=')} #{v[1].to_s}" if v[0] =~ /!=/
|
118
|
-
}
|
119
|
-
}
|
120
|
-
# returns string with conflicts
|
121
|
-
conflict_str.string
|
122
|
-
end
|
123
|
-
|
124
|
-
# return gem provides clause
|
125
|
-
def provides
|
126
|
-
prv_str = StringIO.new
|
127
|
-
prv_str << "rubygem(#{@gemname}) = #{@version}"
|
128
|
-
prv_str.string
|
129
|
-
end
|
130
|
-
|
131
|
-
# return changelog information
|
132
|
-
def changelog
|
133
|
-
change_str = StringIO.new
|
134
|
-
change_str << "* #{Time.now.strftime('%a %b %d %Y')} rgem2rpm <https://github.com/jppeixoto/rgem2rpm> #{@version}-#{@release}\n"
|
135
|
-
change_str << "- Create rpm package\n"
|
136
|
-
change_str.string
|
137
|
-
end
|
138
|
-
|
139
|
-
# clean temporary files
|
140
|
-
def clean
|
141
|
-
FileUtils.rm_rf "#{@name}-#{@version}.spec"
|
142
|
-
FileUtils.rm_rf "./rpmtemp"
|
143
|
-
end
|
144
|
-
|
145
|
-
private
|
146
|
-
def spec
|
147
|
-
template = ERB.new(File.read(@template))
|
148
|
-
# write rpm spec file file
|
149
|
-
File.open("#{@name}-#{@version}.spec", 'w') { |f|
|
150
|
-
f.write(template.result(binding))
|
151
|
-
}
|
152
|
-
end
|
153
|
-
|
154
|
-
def process_description(description)
|
155
|
-
res = []
|
156
|
-
str = description
|
157
|
-
while str != nil
|
158
|
-
res << "#{str[0,80]}"
|
159
|
-
str = str[80,str.size]
|
160
|
-
end
|
161
|
-
res.join "\n"
|
162
|
-
end
|
163
|
-
|
164
|
-
def build
|
165
|
-
create_rpm_env
|
166
|
-
# move to rpmbuild path
|
167
|
-
FileUtils.mv "#{@name}-#{@version}.spec", "rpmtemp/rpmbuild/SPECS"
|
168
|
-
# move sources to rpmbuild
|
169
|
-
FileUtils.mv "#{@name}-#{@version}.tar.gz", "rpmtemp/rpmbuild/SOURCES"
|
170
|
-
# define rpm build args
|
171
|
-
options = "-bb --rmspec --rmsource"
|
172
|
-
define = "--define \"_topdir #{Dir.pwd}/rpmtemp/rpmbuild\" --define \"_tmppath #{Dir.pwd}/rpmtemp/rpmbuild/tmp\""
|
173
|
-
specfile = "#{Dir.pwd}/rpmtemp/rpmbuild/SPECS/#{@name}-#{@version}.spec"
|
174
|
-
# create rpm
|
175
|
-
res = system "rpmbuild #{options} #{define} #{specfile}"
|
176
|
-
# check errors
|
177
|
-
raise "Error creating rpm" unless res
|
178
|
-
# clean temporary files
|
179
|
-
Dir.glob("rpmtemp/rpmbuild/RPMS/**/*.rpm") do |file|
|
180
|
-
FileUtils.mv file, "./"
|
181
|
-
end
|
182
|
-
clean
|
183
|
-
end
|
184
|
-
|
185
|
-
def create_rpm_env
|
186
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/SPECS"
|
187
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/BUILD"
|
188
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/RPMS"
|
189
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/SRPMS"
|
190
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/SOURCES"
|
191
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/tmp"
|
192
|
-
end
|
193
|
-
end
|
1
|
+
require 'erb'
|
2
|
+
|
3
|
+
class RGem2Rpm::Rpm
|
4
|
+
attr_accessor :name, :version, :release, :license, :summary, :group, :packager, :description, :installdir
|
5
|
+
|
6
|
+
def initialize(args)
|
7
|
+
@template = args[:template] || File.dirname(__FILE__) + '/../../conf/template.spec'
|
8
|
+
@name = args[:installname]
|
9
|
+
@gemname = args[:name]
|
10
|
+
@version = args[:version]
|
11
|
+
@release = args[:release] || '1'
|
12
|
+
@license = "See #{args[:homepage]}"
|
13
|
+
@summary = args[:summary]
|
14
|
+
@packager = args[:packager] || 'rgem2rpm'
|
15
|
+
@group = args[:group] || 'System Environment/Libraries'
|
16
|
+
@osuser = args[:osuser] || 'root'
|
17
|
+
@osgroup = args[:osgroup] || 'root'
|
18
|
+
@description = process_description(args[:description])
|
19
|
+
@installdir = args[:installdir] || '/usr/share/gems'
|
20
|
+
@arch = args[:architecture]
|
21
|
+
@files = args[:files]
|
22
|
+
@rubygem = args[:rubygem]
|
23
|
+
@dependencies = args[:dependencies]
|
24
|
+
end
|
25
|
+
|
26
|
+
def create
|
27
|
+
# create spec
|
28
|
+
spec
|
29
|
+
# build rpm
|
30
|
+
build
|
31
|
+
end
|
32
|
+
|
33
|
+
def installlist
|
34
|
+
install_str = StringIO.new
|
35
|
+
install_str << "rm -rf %{buildroot}\n"
|
36
|
+
# get directories
|
37
|
+
@files[:directories].each { |directory|
|
38
|
+
escaped_str = directory.gsub(/%/, '%%')
|
39
|
+
install_str << "install -d \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
40
|
+
}
|
41
|
+
# get files
|
42
|
+
@files[:files].each { |file|
|
43
|
+
escaped_str = file.gsub(/%/, '%%')
|
44
|
+
install_str << "install -m 644 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
45
|
+
}
|
46
|
+
# get specification
|
47
|
+
escaped_str = @files[:specification].gsub(/%/, '%%')
|
48
|
+
install_str << "install -m 644 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
49
|
+
# get executables
|
50
|
+
@files[:executables].each { |executable|
|
51
|
+
escaped_str = executable.gsub(/%/, '%%')
|
52
|
+
install_str << "install -m 0755 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
53
|
+
}
|
54
|
+
# return install string
|
55
|
+
install_str.string
|
56
|
+
end
|
57
|
+
|
58
|
+
def filelist
|
59
|
+
files_str = StringIO.new
|
60
|
+
files_str << "%defattr(0644,#{@osuser},#{@osgroup},0755)\n"
|
61
|
+
|
62
|
+
files_str << "%dir %{prefix}\n"
|
63
|
+
@files[:directories].each { |file|
|
64
|
+
escaped_str = file.gsub(/%/, '?')
|
65
|
+
files_str << "%dir \"%{prefix}/#{escaped_str}\"\n"
|
66
|
+
}
|
67
|
+
|
68
|
+
files_str << "%{prefix}/#{@files[:specification]}\n"
|
69
|
+
@files[:files].each { |file|
|
70
|
+
escaped_str = file.gsub(/%/, '?')
|
71
|
+
files_str << "\"%{prefix}/#{escaped_str}\"\n"
|
72
|
+
}
|
73
|
+
|
74
|
+
# get executables
|
75
|
+
@files[:executables].each { |executable|
|
76
|
+
files_str << "%attr(0755,#{@osuser},#{@osgroup}) %{prefix}/#{executable}\n"
|
77
|
+
}
|
78
|
+
# return file string
|
79
|
+
files_str.string
|
80
|
+
end
|
81
|
+
|
82
|
+
def buildarch
|
83
|
+
@arch == 'all' ? 'noarch' : nil
|
84
|
+
end
|
85
|
+
|
86
|
+
def requires
|
87
|
+
req_str = StringIO.new
|
88
|
+
# set rubygems dependency
|
89
|
+
unless @rubygem.nil?
|
90
|
+
req_str << "rubygems"
|
91
|
+
req_str << " #{@rubygem}" unless @rubygem == '>= 0'
|
92
|
+
end
|
93
|
+
# set runtime dependencies
|
94
|
+
@dependencies.each { |d|
|
95
|
+
d.requirement.requirements.each { |v|
|
96
|
+
req_str << ', ' unless req_str.size == 0
|
97
|
+
req_str << "rubygem(#{d.name})"
|
98
|
+
req_str << " #{v[0].gsub('~>','>=')} #{v[1].to_s}" unless v[0] =~ /!=/
|
99
|
+
if v[0] =~ /~>/
|
100
|
+
version = v[1].to_s.strip.split('.')
|
101
|
+
version[version.size - 1] = "0"
|
102
|
+
version[version.size - 2] = (version[version.size - 2].to_i + 1).to_s
|
103
|
+
req_str << ", rubygem(#{d.name}) < #{version.join('.')}"
|
104
|
+
end
|
105
|
+
}
|
106
|
+
}
|
107
|
+
# return string with dependencies
|
108
|
+
req_str.string
|
109
|
+
end
|
110
|
+
|
111
|
+
def conflicts
|
112
|
+
conflict_str = StringIO.new
|
113
|
+
# set conflicts
|
114
|
+
@dependencies.each { |d|
|
115
|
+
d.requirement.requirements.each { |v|
|
116
|
+
conflict_str << ', ' unless conflict_str.size == 0
|
117
|
+
conflict_str << "rubygem(#{d.name}) #{v[0].gsub('!=','=')} #{v[1].to_s}" if v[0] =~ /!=/
|
118
|
+
}
|
119
|
+
}
|
120
|
+
# returns string with conflicts
|
121
|
+
conflict_str.string
|
122
|
+
end
|
123
|
+
|
124
|
+
# return gem provides clause
|
125
|
+
def provides
|
126
|
+
prv_str = StringIO.new
|
127
|
+
prv_str << "rubygem(#{@gemname}) = #{@version}"
|
128
|
+
prv_str.string
|
129
|
+
end
|
130
|
+
|
131
|
+
# return changelog information
|
132
|
+
def changelog
|
133
|
+
change_str = StringIO.new
|
134
|
+
change_str << "* #{Time.now.strftime('%a %b %d %Y')} rgem2rpm <https://github.com/jppeixoto/rgem2rpm> #{@version}-#{@release}\n"
|
135
|
+
change_str << "- Create rpm package\n"
|
136
|
+
change_str.string
|
137
|
+
end
|
138
|
+
|
139
|
+
# clean temporary files
|
140
|
+
def clean
|
141
|
+
FileUtils.rm_rf "#{@name}-#{@version}.spec"
|
142
|
+
FileUtils.rm_rf "./rpmtemp"
|
143
|
+
end
|
144
|
+
|
145
|
+
private
|
146
|
+
def spec
|
147
|
+
template = ERB.new(File.read(@template))
|
148
|
+
# write rpm spec file file
|
149
|
+
File.open("#{@name}-#{@version}.spec", 'w') { |f|
|
150
|
+
f.write(template.result(binding))
|
151
|
+
}
|
152
|
+
end
|
153
|
+
|
154
|
+
def process_description(description)
|
155
|
+
res = []
|
156
|
+
str = description
|
157
|
+
while str != nil
|
158
|
+
res << "#{str[0,80]}"
|
159
|
+
str = str[80,str.size]
|
160
|
+
end
|
161
|
+
res.join "\n"
|
162
|
+
end
|
163
|
+
|
164
|
+
def build
|
165
|
+
create_rpm_env
|
166
|
+
# move to rpmbuild path
|
167
|
+
FileUtils.mv "#{@name}-#{@version}.spec", "rpmtemp/rpmbuild/SPECS"
|
168
|
+
# move sources to rpmbuild
|
169
|
+
FileUtils.mv "#{@name}-#{@version}.tar.gz", "rpmtemp/rpmbuild/SOURCES"
|
170
|
+
# define rpm build args
|
171
|
+
options = "-bb --rmspec --rmsource"
|
172
|
+
define = "--define \"_topdir #{Dir.pwd}/rpmtemp/rpmbuild\" --define \"_tmppath #{Dir.pwd}/rpmtemp/rpmbuild/tmp\""
|
173
|
+
specfile = "#{Dir.pwd}/rpmtemp/rpmbuild/SPECS/#{@name}-#{@version}.spec"
|
174
|
+
# create rpm
|
175
|
+
res = system "rpmbuild #{options} #{define} #{specfile}"
|
176
|
+
# check errors
|
177
|
+
raise "Error creating rpm" unless res
|
178
|
+
# clean temporary files
|
179
|
+
Dir.glob("rpmtemp/rpmbuild/RPMS/**/*.rpm") do |file|
|
180
|
+
FileUtils.mv file, "./"
|
181
|
+
end
|
182
|
+
clean
|
183
|
+
end
|
184
|
+
|
185
|
+
def create_rpm_env
|
186
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/SPECS"
|
187
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/BUILD"
|
188
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/RPMS"
|
189
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/SRPMS"
|
190
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/SOURCES"
|
191
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/tmp"
|
192
|
+
end
|
193
|
+
end
|
data/lib/rgem2rpm/version.rb
CHANGED
metadata
CHANGED
@@ -1,63 +1,55 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rgem2rpm
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.4.8
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
8
|
-
|
9
|
-
autorequire:
|
7
|
+
authors:
|
8
|
+
- Joao Peixoto
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
date: 2012-11-16 00:00:00 Z
|
12
|
+
date: 2012-12-13 00:00:00.000000000 Z
|
14
13
|
dependencies: []
|
15
|
-
|
16
14
|
description: Application that enables conversion of rubygems to rpms.
|
17
15
|
email: peixoto.joao@gmail.com
|
18
|
-
executables:
|
19
|
-
|
16
|
+
executables:
|
17
|
+
- rgem2rpm
|
20
18
|
extensions: []
|
21
|
-
|
22
19
|
extra_rdoc_files: []
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
- conf/template.spec
|
20
|
+
files:
|
21
|
+
- Rakefile
|
22
|
+
- bin/rgem2rpm
|
23
|
+
- rgem2rpm.gemspec
|
24
|
+
- lib/rgem2rpm.rb
|
25
|
+
- lib/rgem2rpm/argumentparse.rb
|
26
|
+
- lib/rgem2rpm/converter.rb
|
27
|
+
- lib/rgem2rpm/gem.rb
|
28
|
+
- lib/rgem2rpm/rpm.rb
|
29
|
+
- lib/rgem2rpm/version.rb
|
30
|
+
- conf/template.spec
|
35
31
|
homepage: https://github.com/jppeixoto/rgem2rpm
|
36
32
|
licenses: []
|
37
|
-
|
38
|
-
post_install_message:
|
33
|
+
post_install_message:
|
39
34
|
rdoc_options: []
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
35
|
+
require_paths:
|
36
|
+
- lib
|
37
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ! '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 1.8.6
|
44
42
|
none: false
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
43
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.4.2
|
50
48
|
none: false
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 1.4.2
|
55
49
|
requirements: []
|
56
|
-
|
57
|
-
rubyforge_project:
|
50
|
+
rubyforge_project:
|
58
51
|
rubygems_version: 1.8.24
|
59
|
-
signing_key:
|
52
|
+
signing_key:
|
60
53
|
specification_version: 3
|
61
54
|
summary: Convert ruby gems into rpm
|
62
55
|
test_files: []
|
63
|
-
|