rgem2rpm 1.4.12 → 1.4.14
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/Rakefile +4 -4
- data/bin/rgem2rpm +21 -21
- data/lib/rgem2rpm/argumentparse.rb +81 -81
- data/lib/rgem2rpm/converter.rb +27 -27
- data/lib/rgem2rpm/gem.rb +163 -154
- data/lib/rgem2rpm/rpm.rb +195 -195
- data/lib/rgem2rpm/version.rb +4 -4
- data/lib/rgem2rpm.rb +11 -11
- data/rgem2rpm.gemspec +19 -19
- metadata +14 -14
data/Rakefile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'rake'
|
2
|
-
require 'rake/rdoctask'
|
3
|
-
|
4
|
-
FileList['lib/*.rb'].each { |file| load(file) }
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/rdoctask'
|
3
|
+
|
4
|
+
FileList['lib/*.rb'].each { |file| load(file) }
|
data/bin/rgem2rpm
CHANGED
@@ -1,21 +1,21 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
# set rgem2rpm path
|
5
|
-
rgem2rpm_path = File.expand_path('../../lib', __FILE__)
|
6
|
-
$:.unshift(rgem2rpm_path)
|
7
|
-
require 'rgem2rpm'
|
8
|
-
|
9
|
-
begin
|
10
|
-
# parse arguments
|
11
|
-
options = RGem2Rpm::ArgumentParse.parse(ARGV)
|
12
|
-
# check arguments
|
13
|
-
raise "Missing argument: gemfilename" unless ARGV.size == 1
|
14
|
-
# get filename
|
15
|
-
filename = ARGV[0]
|
16
|
-
# convert gem to rpm
|
17
|
-
RGem2Rpm::Converter.process(options, filename)
|
18
|
-
rescue => e
|
19
|
-
puts e.message
|
20
|
-
exit
|
21
|
-
end
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
# set rgem2rpm path
|
5
|
+
rgem2rpm_path = File.expand_path('../../lib', __FILE__)
|
6
|
+
$:.unshift(rgem2rpm_path)
|
7
|
+
require 'rgem2rpm'
|
8
|
+
|
9
|
+
begin
|
10
|
+
# parse arguments
|
11
|
+
options = RGem2Rpm::ArgumentParse.parse(ARGV)
|
12
|
+
# check arguments
|
13
|
+
raise "Missing argument: gemfilename" unless ARGV.size == 1
|
14
|
+
# get filename
|
15
|
+
filename = ARGV[0]
|
16
|
+
# convert gem to rpm
|
17
|
+
RGem2Rpm::Converter.process(options, filename)
|
18
|
+
rescue => e
|
19
|
+
puts e.message
|
20
|
+
exit
|
21
|
+
end
|
@@ -1,81 +1,81 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'optparse'
|
3
|
-
|
4
|
-
class RGem2Rpm::ArgumentParse
|
5
|
-
#
|
6
|
-
# Return a structure describing the options.
|
7
|
-
#
|
8
|
-
def self.parse(args)
|
9
|
-
# The options specified on the command line will be collected in *options*.
|
10
|
-
# We set default values here.
|
11
|
-
options = {}
|
12
|
-
|
13
|
-
opts = OptionParser.new do |opt|
|
14
|
-
opt.banner = "Usage: rgem2rpm [options] [gemfilename]"
|
15
|
-
opt.separator "options:"
|
16
|
-
|
17
|
-
# Template argument
|
18
|
-
opt.on("--template TEMPLATE", "RPM spec template.") do |template|
|
19
|
-
options[:template] = template
|
20
|
-
end
|
21
|
-
|
22
|
-
# Release name
|
23
|
-
opt.on("--release RELEASE", "RPM spec release.") do |release|
|
24
|
-
options[:release] = release
|
25
|
-
end
|
26
|
-
|
27
|
-
# rpm group
|
28
|
-
opt.on("--group GROUP", "RPM spec group.") do |group|
|
29
|
-
options[:group] = group
|
30
|
-
end
|
31
|
-
|
32
|
-
# operating system install user
|
33
|
-
opt.on("--osuser OSUSER", "OS install user.") do |osuser|
|
34
|
-
options[:osuser] = osuser
|
35
|
-
end
|
36
|
-
|
37
|
-
# operating system install group
|
38
|
-
opt.on("--osgroup OSGROUP", "OS install group.") do |osgroup|
|
39
|
-
options[:osgroup] = osgroup
|
40
|
-
end
|
41
|
-
|
42
|
-
# operating system install dir
|
43
|
-
opt.on("--installdir INSTALLDIR", "OS install directory.") do |installdir|
|
44
|
-
options[:installdir] = installdir
|
45
|
-
end
|
46
|
-
|
47
|
-
# jruby gem
|
48
|
-
opt.on("--jruby", "Build RPM to jruby platform (only when gem has executables).") do
|
49
|
-
options[:platform] = 'jruby'
|
50
|
-
end
|
51
|
-
#custom rpm name
|
52
|
-
opt.on("--rpmname RPMNAME", "Custom package name (in case you don't want it to be rubygem-gemname") do |rpmname|
|
53
|
-
options[:rpmname] = rpmname
|
54
|
-
end
|
55
|
-
|
56
|
-
|
57
|
-
# No argument, shows at tail. This will print an options summary.
|
58
|
-
# Try it and see!
|
59
|
-
opt.on_tail("--help", "Show this message.") do
|
60
|
-
puts opt
|
61
|
-
exit
|
62
|
-
end
|
63
|
-
|
64
|
-
# Another typical switch to print the version.
|
65
|
-
opt.on_tail("--version", "Show version.") do
|
66
|
-
puts RGem2Rpm::VERSION
|
67
|
-
exit
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
begin
|
72
|
-
# parse options
|
73
|
-
opts.parse!(args)
|
74
|
-
# return options
|
75
|
-
options
|
76
|
-
rescue => e
|
77
|
-
puts e.message
|
78
|
-
exit
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'optparse'
|
3
|
+
|
4
|
+
class RGem2Rpm::ArgumentParse
|
5
|
+
#
|
6
|
+
# Return a structure describing the options.
|
7
|
+
#
|
8
|
+
def self.parse(args)
|
9
|
+
# The options specified on the command line will be collected in *options*.
|
10
|
+
# We set default values here.
|
11
|
+
options = {}
|
12
|
+
|
13
|
+
opts = OptionParser.new do |opt|
|
14
|
+
opt.banner = "Usage: rgem2rpm [options] [gemfilename]"
|
15
|
+
opt.separator "options:"
|
16
|
+
|
17
|
+
# Template argument
|
18
|
+
opt.on("--template TEMPLATE", "RPM spec template.") do |template|
|
19
|
+
options[:template] = template
|
20
|
+
end
|
21
|
+
|
22
|
+
# Release name
|
23
|
+
opt.on("--release RELEASE", "RPM spec release.") do |release|
|
24
|
+
options[:release] = release
|
25
|
+
end
|
26
|
+
|
27
|
+
# rpm group
|
28
|
+
opt.on("--group GROUP", "RPM spec group.") do |group|
|
29
|
+
options[:group] = group
|
30
|
+
end
|
31
|
+
|
32
|
+
# operating system install user
|
33
|
+
opt.on("--osuser OSUSER", "OS install user.") do |osuser|
|
34
|
+
options[:osuser] = osuser
|
35
|
+
end
|
36
|
+
|
37
|
+
# operating system install group
|
38
|
+
opt.on("--osgroup OSGROUP", "OS install group.") do |osgroup|
|
39
|
+
options[:osgroup] = osgroup
|
40
|
+
end
|
41
|
+
|
42
|
+
# operating system install dir
|
43
|
+
opt.on("--installdir INSTALLDIR", "OS install directory.") do |installdir|
|
44
|
+
options[:installdir] = installdir
|
45
|
+
end
|
46
|
+
|
47
|
+
# jruby gem
|
48
|
+
opt.on("--jruby", "Build RPM to jruby platform (only when gem has executables).") do
|
49
|
+
options[:platform] = 'jruby'
|
50
|
+
end
|
51
|
+
#custom rpm name
|
52
|
+
opt.on("--rpmname RPMNAME", "Custom package name (in case you don't want it to be rubygem-gemname") do |rpmname|
|
53
|
+
options[:rpmname] = rpmname
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
# No argument, shows at tail. This will print an options summary.
|
58
|
+
# Try it and see!
|
59
|
+
opt.on_tail("--help", "Show this message.") do
|
60
|
+
puts opt
|
61
|
+
exit
|
62
|
+
end
|
63
|
+
|
64
|
+
# Another typical switch to print the version.
|
65
|
+
opt.on_tail("--version", "Show version.") do
|
66
|
+
puts RGem2Rpm::VERSION
|
67
|
+
exit
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
begin
|
72
|
+
# parse options
|
73
|
+
opts.parse!(args)
|
74
|
+
# return options
|
75
|
+
options
|
76
|
+
rescue => e
|
77
|
+
puts e.message
|
78
|
+
exit
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
data/lib/rgem2rpm/converter.rb
CHANGED
@@ -1,27 +1,27 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
class RGem2Rpm::Converter
|
3
|
-
class << self
|
4
|
-
def process(options, filename)
|
5
|
-
objects = []
|
6
|
-
# execute gemfile installation
|
7
|
-
gem = RGem2Rpm::Gem.new :filename => filename, :platform => options[:platform], :rpmname => options[:rpmname]
|
8
|
-
objects << gem
|
9
|
-
gem.install
|
10
|
-
# build args to rpm
|
11
|
-
args = gem.spec
|
12
|
-
[:template, :release, :group, :osuser, :osgroup, :installdir, :rpmname].each {|key|
|
13
|
-
args[key] = options[key] if options[key]
|
14
|
-
}
|
15
|
-
# build rpm
|
16
|
-
rpm = RGem2Rpm::Rpm.new args
|
17
|
-
objects << rpm
|
18
|
-
rpm.create
|
19
|
-
rescue => e
|
20
|
-
# clean temporary files
|
21
|
-
objects.each { |obj| obj.clean }
|
22
|
-
# write error message
|
23
|
-
puts e.message
|
24
|
-
exit
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class RGem2Rpm::Converter
|
3
|
+
class << self
|
4
|
+
def process(options, filename)
|
5
|
+
objects = []
|
6
|
+
# execute gemfile installation
|
7
|
+
gem = RGem2Rpm::Gem.new :filename => filename, :platform => options[:platform], :rpmname => options[:rpmname]
|
8
|
+
objects << gem
|
9
|
+
gem.install
|
10
|
+
# build args to rpm
|
11
|
+
args = gem.spec
|
12
|
+
[:template, :release, :group, :osuser, :osgroup, :installdir, :rpmname].each {|key|
|
13
|
+
args[key] = options[key] if options[key]
|
14
|
+
}
|
15
|
+
# build rpm
|
16
|
+
rpm = RGem2Rpm::Rpm.new args
|
17
|
+
objects << rpm
|
18
|
+
rpm.create
|
19
|
+
rescue => e
|
20
|
+
# clean temporary files
|
21
|
+
objects.each { |obj| obj.clean }
|
22
|
+
# write error message
|
23
|
+
puts e.message
|
24
|
+
exit
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/rgem2rpm/gem.rb
CHANGED
@@ -1,154 +1,163 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'pathname'
|
3
|
-
require 'rubygems'
|
4
|
-
require 'rubygems/installer'
|
5
|
-
require 'rubygems/remote_fetcher'
|
6
|
-
|
7
|
-
class RGem2Rpm::Gem
|
8
|
-
# define accessors
|
9
|
-
attr_accessor :spec
|
10
|
-
|
11
|
-
def initialize(args)
|
12
|
-
# initialize paramters
|
13
|
-
@filename = args[:filename]
|
14
|
-
@platform = args[:platform] || 'ruby'
|
15
|
-
@installname = args[:rpmname]
|
16
|
-
end
|
17
|
-
|
18
|
-
# install gem to pwd
|
19
|
-
def install
|
20
|
-
# get spec information
|
21
|
-
@spec = compute_spec
|
22
|
-
# define name and platform
|
23
|
-
if @installname
|
24
|
-
@spec[:installname] = @installname
|
25
|
-
else
|
26
|
-
@spec[:installname] = name_and_platform(@spec[:name])
|
27
|
-
end
|
28
|
-
# set install dir
|
29
|
-
@installdir = "#{@spec[:installname]}-#{@spec[:version]}"
|
30
|
-
# install gem
|
31
|
-
Gem::Installer.new(@filename, :env_shebang => true, :ignore_dependencies => true, :install_dir => @installdir, :bin_dir => "#{@installdir}/bin", :wrappers => true).install
|
32
|
-
# install build files
|
33
|
-
install_build_files
|
34
|
-
# get file list
|
35
|
-
files
|
36
|
-
# build tar.gz
|
37
|
-
build_source
|
38
|
-
end
|
39
|
-
|
40
|
-
# clean temporary files
|
41
|
-
def clean
|
42
|
-
return if @installdir.nil?
|
43
|
-
FileUtils.rm_rf @installdir
|
44
|
-
FileUtils.rm_rf "#{@installdir}.tar.gz"
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
# get information from specification
|
49
|
-
def compute_spec
|
50
|
-
specinfo = {}
|
51
|
-
metadata = nil
|
52
|
-
|
53
|
-
if Gem::VERSION.to_i >= 2
|
54
|
-
metadata = Gem::Package.new(@filename).spec
|
55
|
-
else
|
56
|
-
Gem::Package.open(File.open(@filename)) { |gem| metadata = gem.metadata }
|
57
|
-
end
|
58
|
-
|
59
|
-
# name
|
60
|
-
specinfo[:name] = metadata.name
|
61
|
-
# version
|
62
|
-
specinfo[:version] = metadata.version
|
63
|
-
# summary
|
64
|
-
specinfo[:summary] = metadata.summary
|
65
|
-
# homepage
|
66
|
-
specinfo[:homepage] = metadata.homepage
|
67
|
-
# platform
|
68
|
-
specinfo[:platform] = metadata.platform
|
69
|
-
# description
|
70
|
-
specinfo[:description] = metadata.description
|
71
|
-
# if the gemspec has extensions defined, then this should be a 'native' arch.
|
72
|
-
specinfo[:architecture] = metadata.extensions.empty? ? 'all' : 'native'
|
73
|
-
# rubygem required version
|
74
|
-
specinfo[:rubygem] = metadata.required_rubygems_version
|
75
|
-
# dependencies
|
76
|
-
specinfo[:dependencies] = metadata.runtime_dependencies
|
77
|
-
# extensions
|
78
|
-
specinfo[:extensions] = metadata.extensions
|
79
|
-
# executables
|
80
|
-
specinfo[:executables] = metadata.executables
|
81
|
-
#Return value
|
82
|
-
specinfo
|
83
|
-
end
|
84
|
-
|
85
|
-
# define name and platform
|
86
|
-
def name_and_platform(gemname)
|
87
|
-
name = gemname
|
88
|
-
if gemname =~ /jruby|jar|java/ or @spec[:platform].to_s == 'java'
|
89
|
-
@platform = 'jruby'
|
90
|
-
name = "jruby-#{gemname}" unless gemname =~ /jruby/
|
91
|
-
elsif @platform == 'jruby' and !@spec[:executables].nil? and !@spec[:executables].empty?
|
92
|
-
name = "jruby-#{gemname}"
|
93
|
-
end
|
94
|
-
"rubygem-#{name}"
|
95
|
-
end
|
96
|
-
|
97
|
-
# return hash with list of files and directories
|
98
|
-
def files
|
99
|
-
@spec[:files] = {:directories => [], :files => [], :executables => []}
|
100
|
-
Dir.chdir(@installdir) do
|
101
|
-
# create gem directory structure
|
102
|
-
@spec[:files][:directories] << 'gems'
|
103
|
-
@spec[:files][:directories] << 'specifications'
|
104
|
-
@spec[:files][:directories] << 'bin'
|
105
|
-
# get files and directories
|
106
|
-
Dir.glob("gems/**/*") do |file|
|
107
|
-
key = File.directory?(file) ? :directories : (File.executable?(file) || file.end_with?('.sh') ? :executables : :files)
|
108
|
-
@spec[:files][key] << file
|
109
|
-
end
|
110
|
-
# get gem path
|
111
|
-
Dir.glob("gems/*") do |file|
|
112
|
-
@spec[:files][:gempath] = file
|
113
|
-
end
|
114
|
-
# get specification filename
|
115
|
-
Dir.glob("specifications/*") do |file|
|
116
|
-
@spec[:files][:specification] = file
|
117
|
-
end
|
118
|
-
# get executable files
|
119
|
-
Dir.glob("bin/*") do |file|
|
120
|
-
@spec[:files][:executables] << file
|
121
|
-
shebang(file)
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
def shebang(filename)
|
127
|
-
# alter first line of all executables
|
128
|
-
file_arr = File.readlines(filename)
|
129
|
-
file_arr[0] = "#!/usr/bin/env #{@platform}\n"
|
130
|
-
File.open(filename, 'w') { |f| f.write(file_arr.join) }
|
131
|
-
end
|
132
|
-
|
133
|
-
def build_source
|
134
|
-
# create tar.gz
|
135
|
-
res = system "tar czf #{@installdir}.tar.gz #{@installdir}"
|
136
|
-
# check errors
|
137
|
-
raise "Error creating archive #{@installdir}.tar.gz" unless res
|
138
|
-
# clean temporary files
|
139
|
-
FileUtils.rm_rf @installdir
|
140
|
-
end
|
141
|
-
|
142
|
-
def install_build_files
|
143
|
-
# get current directory
|
144
|
-
pwd = FileUtils.pwd
|
145
|
-
# clean build if gem has extensions
|
146
|
-
@spec[:extensions].each { |extension|
|
147
|
-
path = File.dirname("#{pwd}/#{@installdir}/gems/#{@filename[0, @filename.size-4]}/#{extension}")
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'pathname'
|
3
|
+
require 'rubygems'
|
4
|
+
require 'rubygems/installer'
|
5
|
+
require 'rubygems/remote_fetcher'
|
6
|
+
|
7
|
+
class RGem2Rpm::Gem
|
8
|
+
# define accessors
|
9
|
+
attr_accessor :spec
|
10
|
+
|
11
|
+
def initialize(args)
|
12
|
+
# initialize paramters
|
13
|
+
@filename = args[:filename]
|
14
|
+
@platform = args[:platform] || 'ruby'
|
15
|
+
@installname = args[:rpmname]
|
16
|
+
end
|
17
|
+
|
18
|
+
# install gem to pwd
|
19
|
+
def install
|
20
|
+
# get spec information
|
21
|
+
@spec = compute_spec
|
22
|
+
# define name and platform
|
23
|
+
if @installname
|
24
|
+
@spec[:installname] = @installname
|
25
|
+
else
|
26
|
+
@spec[:installname] = name_and_platform(@spec[:name])
|
27
|
+
end
|
28
|
+
# set install dir
|
29
|
+
@installdir = "#{@spec[:installname]}-#{@spec[:version]}"
|
30
|
+
# install gem
|
31
|
+
Gem::Installer.new(@filename, :env_shebang => true, :ignore_dependencies => true, :install_dir => @installdir, :bin_dir => "#{@installdir}/bin", :wrappers => true).install
|
32
|
+
# install build files
|
33
|
+
install_build_files
|
34
|
+
# get file list
|
35
|
+
files
|
36
|
+
# build tar.gz
|
37
|
+
build_source
|
38
|
+
end
|
39
|
+
|
40
|
+
# clean temporary files
|
41
|
+
def clean
|
42
|
+
return if @installdir.nil?
|
43
|
+
FileUtils.rm_rf @installdir
|
44
|
+
FileUtils.rm_rf "#{@installdir}.tar.gz"
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
# get information from specification
|
49
|
+
def compute_spec
|
50
|
+
specinfo = {}
|
51
|
+
metadata = nil
|
52
|
+
|
53
|
+
if Gem::VERSION.to_i >= 2
|
54
|
+
metadata = Gem::Package.new(@filename).spec
|
55
|
+
else
|
56
|
+
Gem::Package.open(File.open(@filename)) { |gem| metadata = gem.metadata }
|
57
|
+
end
|
58
|
+
|
59
|
+
# name
|
60
|
+
specinfo[:name] = metadata.name
|
61
|
+
# version
|
62
|
+
specinfo[:version] = metadata.version
|
63
|
+
# summary
|
64
|
+
specinfo[:summary] = metadata.summary
|
65
|
+
# homepage
|
66
|
+
specinfo[:homepage] = metadata.homepage
|
67
|
+
# platform
|
68
|
+
specinfo[:platform] = metadata.platform
|
69
|
+
# description
|
70
|
+
specinfo[:description] = metadata.description
|
71
|
+
# if the gemspec has extensions defined, then this should be a 'native' arch.
|
72
|
+
specinfo[:architecture] = metadata.extensions.empty? ? 'all' : 'native'
|
73
|
+
# rubygem required version
|
74
|
+
specinfo[:rubygem] = metadata.required_rubygems_version
|
75
|
+
# dependencies
|
76
|
+
specinfo[:dependencies] = metadata.runtime_dependencies
|
77
|
+
# extensions
|
78
|
+
specinfo[:extensions] = metadata.extensions
|
79
|
+
# executables
|
80
|
+
specinfo[:executables] = metadata.executables
|
81
|
+
#Return value
|
82
|
+
specinfo
|
83
|
+
end
|
84
|
+
|
85
|
+
# define name and platform
|
86
|
+
def name_and_platform(gemname)
|
87
|
+
name = gemname
|
88
|
+
if gemname =~ /jruby|jar|java/ or @spec[:platform].to_s == 'java'
|
89
|
+
@platform = 'jruby'
|
90
|
+
name = "jruby-#{gemname}" unless gemname =~ /jruby/
|
91
|
+
elsif @platform == 'jruby' and !@spec[:executables].nil? and !@spec[:executables].empty?
|
92
|
+
name = "jruby-#{gemname}"
|
93
|
+
end
|
94
|
+
"rubygem-#{name}"
|
95
|
+
end
|
96
|
+
|
97
|
+
# return hash with list of files and directories
|
98
|
+
def files
|
99
|
+
@spec[:files] = {:directories => [], :files => [], :executables => []}
|
100
|
+
Dir.chdir(@installdir) do
|
101
|
+
# create gem directory structure
|
102
|
+
@spec[:files][:directories] << 'gems'
|
103
|
+
@spec[:files][:directories] << 'specifications'
|
104
|
+
@spec[:files][:directories] << 'bin'
|
105
|
+
# get files and directories
|
106
|
+
Dir.glob("gems/**/*") do |file|
|
107
|
+
key = File.directory?(file) ? :directories : (File.executable?(file) || file.end_with?('.sh') ? :executables : :files)
|
108
|
+
@spec[:files][key] << file
|
109
|
+
end
|
110
|
+
# get gem path
|
111
|
+
Dir.glob("gems/*") do |file|
|
112
|
+
@spec[:files][:gempath] = file
|
113
|
+
end
|
114
|
+
# get specification filename
|
115
|
+
Dir.glob("specifications/*") do |file|
|
116
|
+
@spec[:files][:specification] = file
|
117
|
+
end
|
118
|
+
# get executable files
|
119
|
+
Dir.glob("bin/*") do |file|
|
120
|
+
@spec[:files][:executables] << file
|
121
|
+
shebang(file)
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
def shebang(filename)
|
127
|
+
# alter first line of all executables
|
128
|
+
file_arr = File.readlines(filename)
|
129
|
+
file_arr[0] = "#!/usr/bin/env #{@platform}\n"
|
130
|
+
File.open(filename, 'w') { |f| f.write(file_arr.join) }
|
131
|
+
end
|
132
|
+
|
133
|
+
def build_source
|
134
|
+
# create tar.gz
|
135
|
+
res = system "tar czf #{@installdir}.tar.gz #{@installdir}"
|
136
|
+
# check errors
|
137
|
+
raise "Error creating archive #{@installdir}.tar.gz" unless res
|
138
|
+
# clean temporary files
|
139
|
+
FileUtils.rm_rf @installdir
|
140
|
+
end
|
141
|
+
|
142
|
+
def install_build_files
|
143
|
+
# get current directory
|
144
|
+
pwd = FileUtils.pwd
|
145
|
+
# clean build if gem has extensions
|
146
|
+
@spec[:extensions].each { |extension|
|
147
|
+
path = File.dirname("#{pwd}/#{@installdir}/gems/#{@filename[0, @filename.size-4]}/#{extension}")
|
148
|
+
case RUBY_VERSION
|
149
|
+
when /^1.8/
|
150
|
+
FileUtils.rm_rf Dir.glob("#{path}/*.o")
|
151
|
+
FileUtils.rm_rf "#{path}/Makefile"
|
152
|
+
when /^1.9/
|
153
|
+
FileUtils.cp_r "#{path}/#{@installdir}", "#{pwd}/"
|
154
|
+
FileUtils.rm_rf "#{path}/#{@installdir}"
|
155
|
+
FileUtils.rm_rf Dir.glob("#{path}/*.o")
|
156
|
+
FileUtils.rm_rf Dir.glob("#{path}/*.so")
|
157
|
+
FileUtils.rm_rf "#{path}/Makefile"
|
158
|
+
end
|
159
|
+
}
|
160
|
+
# delete directories
|
161
|
+
Dir["#{@installdir}/*"].each {|name| FileUtils.rm_rf(name) unless name =~ /bin|gems|specifications/ }
|
162
|
+
end
|
163
|
+
end
|
data/lib/rgem2rpm/rpm.rb
CHANGED
@@ -1,195 +1,195 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'erb'
|
3
|
-
|
4
|
-
class RGem2Rpm::Rpm
|
5
|
-
attr_accessor :name, :version, :release, :license, :summary, :group, :packager, :description, :installdir
|
6
|
-
|
7
|
-
def initialize(args)
|
8
|
-
@template = args[:template] || File.dirname(__FILE__) + '/../../conf/template.spec'
|
9
|
-
@name = args[:installname]
|
10
|
-
@rpmname = args[:rpmname] || args[:installname]
|
11
|
-
@gemname = args[:name]
|
12
|
-
@version = args[:version]
|
13
|
-
@release = args[:release] || '1'
|
14
|
-
@license = "See #{args[:homepage]}"
|
15
|
-
@summary = args[:summary]
|
16
|
-
@packager = args[:packager] || 'rgem2rpm'
|
17
|
-
@group = args[:group] || 'System Environment/Libraries'
|
18
|
-
@osuser = args[:osuser] || 'root'
|
19
|
-
@osgroup = args[:osgroup] || 'root'
|
20
|
-
@description = process_description(args[:description])
|
21
|
-
@installdir = args[:installdir] || '/usr/share/gems'
|
22
|
-
@arch = args[:architecture]
|
23
|
-
@files = args[:files]
|
24
|
-
@rubygem = args[:rubygem]
|
25
|
-
@dependencies = args[:dependencies]
|
26
|
-
end
|
27
|
-
|
28
|
-
def create
|
29
|
-
# create spec
|
30
|
-
spec
|
31
|
-
# build rpm
|
32
|
-
build
|
33
|
-
end
|
34
|
-
|
35
|
-
def installlist
|
36
|
-
install_str = StringIO.new
|
37
|
-
install_str << "rm -rf %{buildroot}\n"
|
38
|
-
# get directories
|
39
|
-
@files[:directories].each { |directory|
|
40
|
-
escaped_str = directory.gsub(/%/, '%%')
|
41
|
-
install_str << "install -d \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
42
|
-
}
|
43
|
-
# get files
|
44
|
-
@files[:files].each { |file|
|
45
|
-
escaped_str = file.gsub(/%/, '%%')
|
46
|
-
install_str << "install -m 644 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
47
|
-
}
|
48
|
-
# get specification
|
49
|
-
escaped_str = @files[:specification].gsub(/%/, '%%')
|
50
|
-
install_str << "install -m 644 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
51
|
-
# get executables
|
52
|
-
@files[:executables].each { |executable|
|
53
|
-
escaped_str = executable.gsub(/%/, '%%')
|
54
|
-
install_str << "install -m 0755 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
55
|
-
}
|
56
|
-
# return install string
|
57
|
-
install_str.string
|
58
|
-
end
|
59
|
-
|
60
|
-
def filelist
|
61
|
-
files_str = StringIO.new
|
62
|
-
files_str << "%defattr(0644,#{@osuser},#{@osgroup},0755)\n"
|
63
|
-
|
64
|
-
files_str << "%dir %{prefix}\n"
|
65
|
-
@files[:directories].each { |file|
|
66
|
-
escaped_str = file.gsub(/%/, '?')
|
67
|
-
files_str << "%dir \"%{prefix}/#{escaped_str}\"\n"
|
68
|
-
}
|
69
|
-
|
70
|
-
files_str << "%{prefix}/#{@files[:specification]}\n"
|
71
|
-
@files[:files].each { |file|
|
72
|
-
escaped_str = file.gsub(/%/, '?')
|
73
|
-
files_str << "\"%{prefix}/#{escaped_str}\"\n"
|
74
|
-
}
|
75
|
-
|
76
|
-
# get executables
|
77
|
-
@files[:executables].each { |executable|
|
78
|
-
files_str << "%attr(0755,#{@osuser},#{@osgroup}) %{prefix}/#{executable}\n"
|
79
|
-
}
|
80
|
-
# return file string
|
81
|
-
files_str.string
|
82
|
-
end
|
83
|
-
|
84
|
-
def buildarch
|
85
|
-
@arch == 'all' ? 'noarch' : nil
|
86
|
-
end
|
87
|
-
|
88
|
-
def requires
|
89
|
-
req_str = StringIO.new
|
90
|
-
# set rubygems dependency
|
91
|
-
unless @rubygem.nil?
|
92
|
-
req_str << "rubygems"
|
93
|
-
req_str << " #{@rubygem}" unless @rubygem == '>= 0'
|
94
|
-
end
|
95
|
-
# set runtime dependencies
|
96
|
-
@dependencies.each { |d|
|
97
|
-
d.requirement.requirements.each { |v|
|
98
|
-
req_str << ', ' unless req_str.size == 0
|
99
|
-
req_str << "rubygem(#{d.name})"
|
100
|
-
req_str << " #{v[0].gsub('~>','>=')} #{v[1].to_s}" unless v[0] =~ /!=/
|
101
|
-
if v[0] =~ /~>/
|
102
|
-
version = v[1].to_s.strip.split('.')
|
103
|
-
version[version.size - 1] = "0"
|
104
|
-
version[version.size - 2] = (version[version.size - 2].to_i + 1).to_s
|
105
|
-
req_str << ", rubygem(#{d.name}) < #{version.join('.')}"
|
106
|
-
end
|
107
|
-
}
|
108
|
-
}
|
109
|
-
# return string with dependencies
|
110
|
-
req_str.string
|
111
|
-
end
|
112
|
-
|
113
|
-
def conflicts
|
114
|
-
conflict_str = StringIO.new
|
115
|
-
# set conflicts
|
116
|
-
@dependencies.each { |d|
|
117
|
-
d.requirement.requirements.each { |v|
|
118
|
-
conflict_str << ', ' unless conflict_str.size == 0
|
119
|
-
conflict_str << "rubygem(#{d.name}) #{v[0].gsub('!=','=')} #{v[1].to_s}" if v[0] =~ /!=/
|
120
|
-
}
|
121
|
-
}
|
122
|
-
# returns string with conflicts
|
123
|
-
conflict_str.string
|
124
|
-
end
|
125
|
-
|
126
|
-
# return gem provides clause
|
127
|
-
def provides
|
128
|
-
prv_str = StringIO.new
|
129
|
-
prv_str << "rubygem(#{@gemname}) = #{@version}"
|
130
|
-
prv_str.string
|
131
|
-
end
|
132
|
-
|
133
|
-
# return changelog information
|
134
|
-
def changelog
|
135
|
-
change_str = StringIO.new
|
136
|
-
change_str << "* #{Time.now.strftime('%a %b %d %Y')} rgem2rpm <https://github.com/jppeixoto/rgem2rpm> #{@version}-#{@release}\n"
|
137
|
-
change_str << "- Create rpm package\n"
|
138
|
-
change_str.string
|
139
|
-
end
|
140
|
-
|
141
|
-
# clean temporary files
|
142
|
-
def clean
|
143
|
-
FileUtils.rm_rf "#{@name}-#{@version}.spec"
|
144
|
-
FileUtils.rm_rf "./rpmtemp"
|
145
|
-
end
|
146
|
-
|
147
|
-
private
|
148
|
-
def spec
|
149
|
-
template = ERB.new(File.read(@template))
|
150
|
-
# write rpm spec file file
|
151
|
-
File.open("#{@name}-#{@version}.spec", 'w') { |f|
|
152
|
-
f.write(template.result(binding))
|
153
|
-
}
|
154
|
-
end
|
155
|
-
|
156
|
-
def process_description(description)
|
157
|
-
res = []
|
158
|
-
str = description
|
159
|
-
while str != nil
|
160
|
-
res << "#{str[0,80]}"
|
161
|
-
str = str[80,str.size]
|
162
|
-
end
|
163
|
-
res.join "\n"
|
164
|
-
end
|
165
|
-
|
166
|
-
def build
|
167
|
-
create_rpm_env
|
168
|
-
# move to rpmbuild path
|
169
|
-
FileUtils.mv "#{@name}-#{@version}.spec", "rpmtemp/rpmbuild/SPECS"
|
170
|
-
# move sources to rpmbuild
|
171
|
-
FileUtils.mv "#{@name}-#{@version}.tar.gz", "rpmtemp/rpmbuild/SOURCES"
|
172
|
-
# define rpm build args
|
173
|
-
options = "-bb --rmspec --rmsource"
|
174
|
-
define = "--define \"_topdir #{Dir.pwd}/rpmtemp/rpmbuild\" --define \"_tmppath #{Dir.pwd}/rpmtemp/rpmbuild/tmp\""
|
175
|
-
specfile = "#{Dir.pwd}/rpmtemp/rpmbuild/SPECS/#{@name}-#{@version}.spec"
|
176
|
-
# create rpm
|
177
|
-
res = system "rpmbuild #{options} #{define} #{specfile}"
|
178
|
-
# check errors
|
179
|
-
raise "Error creating rpm" unless res
|
180
|
-
# clean temporary files
|
181
|
-
Dir.glob("rpmtemp/rpmbuild/RPMS/**/*.rpm") do |file|
|
182
|
-
FileUtils.mv file, "./"
|
183
|
-
end
|
184
|
-
clean
|
185
|
-
end
|
186
|
-
|
187
|
-
def create_rpm_env
|
188
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/SPECS"
|
189
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/BUILD"
|
190
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/RPMS"
|
191
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/SRPMS"
|
192
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/SOURCES"
|
193
|
-
FileUtils.mkdir_p "rpmtemp/rpmbuild/tmp"
|
194
|
-
end
|
195
|
-
end
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'erb'
|
3
|
+
|
4
|
+
class RGem2Rpm::Rpm
|
5
|
+
attr_accessor :name, :version, :release, :license, :summary, :group, :packager, :description, :installdir
|
6
|
+
|
7
|
+
def initialize(args)
|
8
|
+
@template = args[:template] || File.dirname(__FILE__) + '/../../conf/template.spec'
|
9
|
+
@name = args[:installname]
|
10
|
+
@rpmname = args[:rpmname] || args[:installname]
|
11
|
+
@gemname = args[:name]
|
12
|
+
@version = args[:version]
|
13
|
+
@release = args[:release] || '1'
|
14
|
+
@license = "See #{args[:homepage]}"
|
15
|
+
@summary = args[:summary]
|
16
|
+
@packager = args[:packager] || 'rgem2rpm'
|
17
|
+
@group = args[:group] || 'System Environment/Libraries'
|
18
|
+
@osuser = args[:osuser] || 'root'
|
19
|
+
@osgroup = args[:osgroup] || 'root'
|
20
|
+
@description = process_description(args[:description])
|
21
|
+
@installdir = args[:installdir] || '/usr/share/gems'
|
22
|
+
@arch = args[:architecture]
|
23
|
+
@files = args[:files]
|
24
|
+
@rubygem = args[:rubygem]
|
25
|
+
@dependencies = args[:dependencies]
|
26
|
+
end
|
27
|
+
|
28
|
+
def create
|
29
|
+
# create spec
|
30
|
+
spec
|
31
|
+
# build rpm
|
32
|
+
build
|
33
|
+
end
|
34
|
+
|
35
|
+
def installlist
|
36
|
+
install_str = StringIO.new
|
37
|
+
install_str << "rm -rf %{buildroot}\n"
|
38
|
+
# get directories
|
39
|
+
@files[:directories].each { |directory|
|
40
|
+
escaped_str = directory.gsub(/%/, '%%')
|
41
|
+
install_str << "install -d \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
42
|
+
}
|
43
|
+
# get files
|
44
|
+
@files[:files].each { |file|
|
45
|
+
escaped_str = file.gsub(/%/, '%%')
|
46
|
+
install_str << "install -m 644 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
47
|
+
}
|
48
|
+
# get specification
|
49
|
+
escaped_str = @files[:specification].gsub(/%/, '%%')
|
50
|
+
install_str << "install -m 644 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
51
|
+
# get executables
|
52
|
+
@files[:executables].each { |executable|
|
53
|
+
escaped_str = executable.gsub(/%/, '%%')
|
54
|
+
install_str << "install -m 0755 \"#{escaped_str}\" %{buildroot}%{prefix}/\"#{escaped_str}\"\n"
|
55
|
+
}
|
56
|
+
# return install string
|
57
|
+
install_str.string
|
58
|
+
end
|
59
|
+
|
60
|
+
def filelist
|
61
|
+
files_str = StringIO.new
|
62
|
+
files_str << "%defattr(0644,#{@osuser},#{@osgroup},0755)\n"
|
63
|
+
|
64
|
+
files_str << "%dir %{prefix}\n"
|
65
|
+
@files[:directories].each { |file|
|
66
|
+
escaped_str = file.gsub(/%/, '?')
|
67
|
+
files_str << "%dir \"%{prefix}/#{escaped_str}\"\n"
|
68
|
+
}
|
69
|
+
|
70
|
+
files_str << "%{prefix}/#{@files[:specification]}\n"
|
71
|
+
@files[:files].each { |file|
|
72
|
+
escaped_str = file.gsub(/%/, '?')
|
73
|
+
files_str << "\"%{prefix}/#{escaped_str}\"\n"
|
74
|
+
}
|
75
|
+
|
76
|
+
# get executables
|
77
|
+
@files[:executables].each { |executable|
|
78
|
+
files_str << "%attr(0755,#{@osuser},#{@osgroup}) %{prefix}/#{executable}\n"
|
79
|
+
}
|
80
|
+
# return file string
|
81
|
+
files_str.string
|
82
|
+
end
|
83
|
+
|
84
|
+
def buildarch
|
85
|
+
@arch == 'all' ? 'noarch' : nil
|
86
|
+
end
|
87
|
+
|
88
|
+
def requires
|
89
|
+
req_str = StringIO.new
|
90
|
+
# set rubygems dependency
|
91
|
+
unless @rubygem.nil?
|
92
|
+
req_str << "rubygems"
|
93
|
+
req_str << " #{@rubygem}" unless @rubygem == '>= 0'
|
94
|
+
end
|
95
|
+
# set runtime dependencies
|
96
|
+
@dependencies.each { |d|
|
97
|
+
d.requirement.requirements.each { |v|
|
98
|
+
req_str << ', ' unless req_str.size == 0
|
99
|
+
req_str << "rubygem(#{d.name})"
|
100
|
+
req_str << " #{v[0].gsub('~>','>=')} #{v[1].to_s}" unless v[0] =~ /!=/
|
101
|
+
if v[0] =~ /~>/
|
102
|
+
version = v[1].to_s.strip.split('.')
|
103
|
+
version[version.size - 1] = "0"
|
104
|
+
version[version.size - 2] = (version[version.size - 2].to_i + 1).to_s
|
105
|
+
req_str << ", rubygem(#{d.name}) < #{version.join('.')}"
|
106
|
+
end
|
107
|
+
}
|
108
|
+
}
|
109
|
+
# return string with dependencies
|
110
|
+
req_str.string
|
111
|
+
end
|
112
|
+
|
113
|
+
def conflicts
|
114
|
+
conflict_str = StringIO.new
|
115
|
+
# set conflicts
|
116
|
+
@dependencies.each { |d|
|
117
|
+
d.requirement.requirements.each { |v|
|
118
|
+
conflict_str << ', ' unless conflict_str.size == 0
|
119
|
+
conflict_str << "rubygem(#{d.name}) #{v[0].gsub('!=','=')} #{v[1].to_s}" if v[0] =~ /!=/
|
120
|
+
}
|
121
|
+
}
|
122
|
+
# returns string with conflicts
|
123
|
+
conflict_str.string
|
124
|
+
end
|
125
|
+
|
126
|
+
# return gem provides clause
|
127
|
+
def provides
|
128
|
+
prv_str = StringIO.new
|
129
|
+
prv_str << "rubygem(#{@gemname}) = #{@version}"
|
130
|
+
prv_str.string
|
131
|
+
end
|
132
|
+
|
133
|
+
# return changelog information
|
134
|
+
def changelog
|
135
|
+
change_str = StringIO.new
|
136
|
+
change_str << "* #{Time.now.strftime('%a %b %d %Y')} rgem2rpm <https://github.com/jppeixoto/rgem2rpm> #{@version}-#{@release}\n"
|
137
|
+
change_str << "- Create rpm package\n"
|
138
|
+
change_str.string
|
139
|
+
end
|
140
|
+
|
141
|
+
# clean temporary files
|
142
|
+
def clean
|
143
|
+
FileUtils.rm_rf "#{@name}-#{@version}.spec"
|
144
|
+
FileUtils.rm_rf "./rpmtemp"
|
145
|
+
end
|
146
|
+
|
147
|
+
private
|
148
|
+
def spec
|
149
|
+
template = ERB.new(File.read(@template))
|
150
|
+
# write rpm spec file file
|
151
|
+
File.open("#{@name}-#{@version}.spec", 'w') { |f|
|
152
|
+
f.write(template.result(binding))
|
153
|
+
}
|
154
|
+
end
|
155
|
+
|
156
|
+
def process_description(description)
|
157
|
+
res = []
|
158
|
+
str = description
|
159
|
+
while str != nil
|
160
|
+
res << "#{str[0,80]}"
|
161
|
+
str = str[80,str.size]
|
162
|
+
end
|
163
|
+
res.join "\n"
|
164
|
+
end
|
165
|
+
|
166
|
+
def build
|
167
|
+
create_rpm_env
|
168
|
+
# move to rpmbuild path
|
169
|
+
FileUtils.mv "#{@name}-#{@version}.spec", "rpmtemp/rpmbuild/SPECS"
|
170
|
+
# move sources to rpmbuild
|
171
|
+
FileUtils.mv "#{@name}-#{@version}.tar.gz", "rpmtemp/rpmbuild/SOURCES"
|
172
|
+
# define rpm build args
|
173
|
+
options = "-bb --rmspec --rmsource"
|
174
|
+
define = "--define \"_topdir #{Dir.pwd}/rpmtemp/rpmbuild\" --define \"_tmppath #{Dir.pwd}/rpmtemp/rpmbuild/tmp\""
|
175
|
+
specfile = "#{Dir.pwd}/rpmtemp/rpmbuild/SPECS/#{@name}-#{@version}.spec"
|
176
|
+
# create rpm
|
177
|
+
res = system "rpmbuild #{options} #{define} #{specfile}"
|
178
|
+
# check errors
|
179
|
+
raise "Error creating rpm" unless res
|
180
|
+
# clean temporary files
|
181
|
+
Dir.glob("rpmtemp/rpmbuild/RPMS/**/*.rpm") do |file|
|
182
|
+
FileUtils.mv file, "./"
|
183
|
+
end
|
184
|
+
clean
|
185
|
+
end
|
186
|
+
|
187
|
+
def create_rpm_env
|
188
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/SPECS"
|
189
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/BUILD"
|
190
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/RPMS"
|
191
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/SRPMS"
|
192
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/SOURCES"
|
193
|
+
FileUtils.mkdir_p "rpmtemp/rpmbuild/tmp"
|
194
|
+
end
|
195
|
+
end
|
data/lib/rgem2rpm/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
module RGem2Rpm
|
3
|
-
VERSION = '1.4.
|
4
|
-
end
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module RGem2Rpm
|
3
|
+
VERSION = '1.4.14'
|
4
|
+
end
|
data/lib/rgem2rpm.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
# initialize module RGem2Rpm
|
3
|
-
# added ruby 1.9 combatibility for gem build
|
4
|
-
#
|
5
|
-
lib = File.dirname(__FILE__)
|
6
|
-
|
7
|
-
require lib + '/rgem2rpm/version'
|
8
|
-
require lib + '/rgem2rpm/argumentparse'
|
9
|
-
require lib + '/rgem2rpm/converter'
|
10
|
-
require lib + '/rgem2rpm/gem'
|
11
|
-
require lib + '/rgem2rpm/rpm'
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
# initialize module RGem2Rpm
|
3
|
+
# added ruby 1.9 combatibility for gem build
|
4
|
+
#
|
5
|
+
lib = File.dirname(__FILE__)
|
6
|
+
|
7
|
+
require lib + '/rgem2rpm/version'
|
8
|
+
require lib + '/rgem2rpm/argumentparse'
|
9
|
+
require lib + '/rgem2rpm/converter'
|
10
|
+
require lib + '/rgem2rpm/gem'
|
11
|
+
require lib + '/rgem2rpm/rpm'
|
data/rgem2rpm.gemspec
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require File.dirname(__FILE__) + '/lib/rgem2rpm/version'
|
3
|
-
|
4
|
-
Gem::Specification.new do |s|
|
5
|
-
s.name = %q{rgem2rpm}
|
6
|
-
s.version = RGem2Rpm::VERSION
|
7
|
-
s.required_ruby_version = Gem::Requirement.new(">= 1.8.6")
|
8
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 1.4.2") if s.respond_to?(:required_rubygems_version=)
|
9
|
-
s.date = Time.now.strftime("%Y-%m-%d")
|
10
|
-
s.authors = ["Joao Peixoto"]
|
11
|
-
s.email = %q{peixoto.joao@gmail.com}
|
12
|
-
s.summary = %q{Convert ruby gems into rpm}
|
13
|
-
s.homepage = %q{https://github.com/
|
14
|
-
s.description = %q{Application that enables conversion of rubygems to rpms.}
|
15
|
-
s.bindir = 'bin'
|
16
|
-
s.require_path = "lib"
|
17
|
-
s.executables = 'rgem2rpm'
|
18
|
-
s.files = Dir.glob("{lib}/**/*") + Dir.glob("{bin}/*") + Dir.glob("{conf}/*") + [__FILE__, 'Rakefile']
|
19
|
-
end
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require File.dirname(__FILE__) + '/lib/rgem2rpm/version'
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = %q{rgem2rpm}
|
6
|
+
s.version = RGem2Rpm::VERSION
|
7
|
+
s.required_ruby_version = Gem::Requirement.new(">= 1.8.6")
|
8
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.4.2") if s.respond_to?(:required_rubygems_version=)
|
9
|
+
s.date = Time.now.strftime("%Y-%m-%d")
|
10
|
+
s.authors = ["Joao Peixoto"]
|
11
|
+
s.email = %q{peixoto.joao@gmail.com}
|
12
|
+
s.summary = %q{Convert ruby gems into rpm}
|
13
|
+
s.homepage = %q{https://github.com/ptinovacao/rgem2rpm}
|
14
|
+
s.description = %q{Application that enables conversion of rubygems to rpms.}
|
15
|
+
s.bindir = 'bin'
|
16
|
+
s.require_path = "lib"
|
17
|
+
s.executables = 'rgem2rpm'
|
18
|
+
s.files = Dir.glob("{lib}/**/*") + Dir.glob("{bin}/*") + Dir.glob("{conf}/*") + [__FILE__, 'Rakefile']
|
19
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rgem2rpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.14
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Joao Peixoto
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-10-11 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Application that enables conversion of rubygems to rpms.
|
15
15
|
email: peixoto.joao@gmail.com
|
@@ -18,38 +18,38 @@ executables:
|
|
18
18
|
extensions: []
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
-
- lib/rgem2rpm.rb
|
22
|
-
- lib/rgem2rpm/argumentparse.rb
|
23
21
|
- lib/rgem2rpm/converter.rb
|
24
22
|
- lib/rgem2rpm/gem.rb
|
25
|
-
- lib/rgem2rpm/
|
23
|
+
- lib/rgem2rpm/argumentparse.rb
|
26
24
|
- lib/rgem2rpm/version.rb
|
25
|
+
- lib/rgem2rpm/rpm.rb
|
26
|
+
- lib/rgem2rpm.rb
|
27
27
|
- bin/rgem2rpm
|
28
28
|
- conf/template.spec
|
29
29
|
- rgem2rpm.gemspec
|
30
30
|
- Rakefile
|
31
|
-
homepage: https://github.com/
|
31
|
+
homepage: https://github.com/ptinovacao/rgem2rpm
|
32
32
|
licenses: []
|
33
|
-
post_install_message:
|
33
|
+
post_install_message:
|
34
34
|
rdoc_options: []
|
35
35
|
require_paths:
|
36
36
|
- lib
|
37
37
|
required_ruby_version: !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
38
39
|
requirements:
|
39
40
|
- - ! '>='
|
40
41
|
- !ruby/object:Gem::Version
|
41
42
|
version: 1.8.6
|
42
|
-
none: false
|
43
43
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
44
45
|
requirements:
|
45
46
|
- - ! '>='
|
46
47
|
- !ruby/object:Gem::Version
|
47
48
|
version: 1.4.2
|
48
|
-
none: false
|
49
49
|
requirements: []
|
50
|
-
rubyforge_project:
|
51
|
-
rubygems_version: 1.8.
|
52
|
-
signing_key:
|
50
|
+
rubyforge_project:
|
51
|
+
rubygems_version: 1.8.23
|
52
|
+
signing_key:
|
53
53
|
specification_version: 3
|
54
54
|
summary: Convert ruby gems into rpm
|
55
55
|
test_files: []
|