reap 4.3.3 → 4.3.4
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +400 -8
- data/ProjectInfo +26 -26
- data/ProjectInfo.rb +88 -0
- data/bin/reap +1 -1
- data/bin/rubytest +1 -1
- data/data/reap/scaffold/standard/COPYING +403 -0
- data/data/reap/scaffold/{ChangeLog → standard/ChangeLog} +0 -0
- data/data/reap/scaffold/standard/INSTALL +14 -0
- data/data/reap/scaffold/{ProjectInfo → standard/ProjectInfo} +12 -12
- data/data/reap/scaffold/standard/README +3 -0
- data/data/reap/scaffold/standard/Rakefile +10 -0
- data/data/reap/scaffold/{INSTALL → standard/TODO} +0 -0
- data/data/reap/scaffold/subversion/trunk/COPYING +403 -0
- data/data/reap/scaffold/{README → subversion/trunk/ChangeLog} +0 -0
- data/data/reap/scaffold/subversion/trunk/INSTALL +14 -0
- data/data/reap/scaffold/subversion/trunk/ProjectInfo +78 -0
- data/data/reap/scaffold/subversion/trunk/README +3 -0
- data/data/reap/scaffold/subversion/trunk/Rakefile +10 -0
- data/data/reap/scaffold/{Todo → subversion/trunk/TODO} +0 -0
- data/data/reap/{setup-3.4.1/setup.rb → setup.rb} +181 -202
- data/{ChangeLog → doc/ChangeLog} +0 -0
- data/doc/doap.xml +27 -0
- data/doc/note/Rakefile.htm +69 -0
- data/{note/Rakefile → doc/note/aRakefile} +0 -0
- data/{note → doc/note}/composite_task.rb +0 -0
- data/{note → doc/note}/compositepublisher.rb +0 -0
- data/{note → doc/note}/ftptools.rb +0 -0
- data/{note → doc/note}/interface/interface.rb +0 -0
- data/{note → doc/note}/interface/rubyforge.rb +0 -0
- data/{note → doc/note}/license-each.rb +0 -0
- data/{note → doc/note}/package.rb.0 +0 -0
- data/{note → doc/note}/publisher.rb +0 -0
- data/{note → doc/note}/rubyforgepublisher.rb +0 -0
- data/{lib/reap/task → doc/note}/scaffold.rb +4 -3
- data/{lib/reap → doc/note}/setup.rb +7 -6
- data/{note → doc/note}/sshpublisher.rb +0 -0
- data/{note → doc/note}/suby-cvs.rb +0 -0
- data/{note → doc/note}/template.rb +0 -0
- data/lib/reap/bin/reap.rb +75 -51
- data/lib/reap/bin/{lint.rb → rubylint.rb} +0 -0
- data/lib/reap/projectinfo.rb +107 -50
- data/lib/reap/reap.rb +60 -0
- data/lib/reap/task.rb +46 -60
- data/lib/reap/task/doap.rb +67 -0
- data/lib/reap/task/info.rb +2 -2
- data/lib/reap/task/install.rb +29 -18
- data/lib/reap/task/package.rb +56 -56
- data/lib/reap/task/release.rb +34 -13
- data/package.rb +627 -0
- data/setup.rb +287 -272
- data/test/tc_reap.rb +1 -1
- metadata +64 -61
- data/ANN +0 -8
- data/data/reap/scaffold/COPYING +0 -11
- data/data/reap/scaffold/Rakefile +0 -146
- data/data/reap/scaffold/setup.rb +0 -1551
- data/data/reap/setup-3.4.1/COPYING +0 -515
- data/data/reap/setup-3.4.1/ChangeLog +0 -732
- data/data/reap/setup-3.4.1/Makefile +0 -56
- data/data/reap/setup-3.4.1/NEWS.en +0 -155
- data/data/reap/setup-3.4.1/NEWS.ja +0 -152
- data/data/reap/setup-3.4.1/README.en +0 -30
- data/data/reap/setup-3.4.1/README.ja +0 -34
- data/data/reap/setup-3.4.1/TODO +0 -14
- data/data/reap/setup-3.4.1/Template.README.en +0 -41
- data/data/reap/setup-3.4.1/Template.README.ja +0 -46
- data/data/reap/setup-3.4.1/Usage_en.txt +0 -231
- data/data/reap/setup-3.4.1/Usage_ja.txt +0 -250
- data/data/reap/setup-3.4.1/doc.en/hookapi.html +0 -91
- data/data/reap/setup-3.4.1/doc.en/index.html +0 -28
- data/data/reap/setup-3.4.1/doc.en/metaconfapi.html +0 -79
- data/data/reap/setup-3.4.1/doc.en/news.html +0 -189
- data/data/reap/setup-3.4.1/doc.en/usage.html +0 -297
- data/data/reap/setup-3.4.1/doc.ja/hookapi.html +0 -84
- data/data/reap/setup-3.4.1/doc.ja/index.html +0 -28
- data/data/reap/setup-3.4.1/doc.ja/metaconfapi.html +0 -80
- data/data/reap/setup-3.4.1/doc.ja/news.html +0 -186
- data/data/reap/setup-3.4.1/doc.ja/usage.html +0 -319
- data/data/reap/setup-3.4.1/sample/add-task.rb +0 -15
- data/data/reap/setup-3.4.1/test/test_installer.rb +0 -136
data/lib/reap/reap.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
|
2
|
+
# Reap support
|
3
|
+
require 'reap/projectinfo'
|
4
|
+
require 'reap/task'
|
5
|
+
|
6
|
+
# Reap tasks
|
7
|
+
require 'reap/task/fileperm'
|
8
|
+
require 'reap/task/test'
|
9
|
+
require 'reap/task/testext'
|
10
|
+
require 'reap/task/rdoc'
|
11
|
+
require 'reap/task/announce'
|
12
|
+
require 'reap/task/package'
|
13
|
+
require 'reap/task/publish'
|
14
|
+
require 'reap/task/info'
|
15
|
+
require 'reap/task/install'
|
16
|
+
require 'reap/task/release'
|
17
|
+
require 'reap/task/doap'
|
18
|
+
#require 'reap/task/noop'
|
19
|
+
|
20
|
+
|
21
|
+
module Reap
|
22
|
+
|
23
|
+
Version = "4.3.4"
|
24
|
+
|
25
|
+
# Hash of all possible tasks
|
26
|
+
# { task name => task class }
|
27
|
+
|
28
|
+
def self.registry
|
29
|
+
Task.task_list
|
30
|
+
end
|
31
|
+
|
32
|
+
# Hash of tasks available to this project
|
33
|
+
|
34
|
+
def self.tasks
|
35
|
+
unless @tasks
|
36
|
+
@tasks = {}
|
37
|
+
registry.each do |name, klass|
|
38
|
+
@tasks[name] = klass if klass.verify?
|
39
|
+
end
|
40
|
+
end
|
41
|
+
@tasks
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.register( alternative_project_file=nil )
|
45
|
+
$PROJECT_INFO = ProjectInfo.new( alternative_project_file )
|
46
|
+
$PROJECT_INFO.exists?
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.projectfile?
|
50
|
+
$PROJECT_INFO.exists?
|
51
|
+
end
|
52
|
+
|
53
|
+
# def self.initialize
|
54
|
+
# @tasks ||= {}
|
55
|
+
# registry.each do |name, klass|
|
56
|
+
# @tasks[name] = klass.new
|
57
|
+
# end
|
58
|
+
# end
|
59
|
+
|
60
|
+
end
|
data/lib/reap/task.rb
CHANGED
@@ -18,73 +18,35 @@ require 'facet/openobject'
|
|
18
18
|
|
19
19
|
# Base class for reap tasks.
|
20
20
|
#
|
21
|
-
# Here's
|
21
|
+
# Here's a simple example:
|
22
22
|
#
|
23
23
|
# class MyTask < Reap::Task
|
24
24
|
#
|
25
|
-
#
|
25
|
+
# task_desc 'this is a custom reap task'
|
26
26
|
#
|
27
|
-
#
|
28
|
-
#
|
29
|
-
# attr_accessor :message
|
27
|
+
# task_attr :mytask
|
30
28
|
#
|
31
29
|
# def init
|
32
|
-
#
|
30
|
+
# mytask.message ||= 'None Found!'
|
33
31
|
# end
|
34
32
|
#
|
35
33
|
# def run
|
36
|
-
# puts
|
34
|
+
# puts mytask.message #=> Hello!
|
35
|
+
# puts master.default #=> Yo!
|
36
|
+
# puts mytask.default #=> Yo! (inherited from master)
|
37
37
|
# end
|
38
38
|
# end
|
39
39
|
#
|
40
|
-
#
|
40
|
+
# With the corresponding settings in the ProjectInfo file as:
|
41
41
|
#
|
42
|
-
# default:
|
42
|
+
# default: Yo!
|
43
43
|
#
|
44
|
-
#
|
45
|
-
#
|
46
|
-
# message: Message text, if any.
|
44
|
+
# mytask:
|
45
|
+
# message: Hello!
|
47
46
|
#
|
48
47
|
|
49
48
|
module Reap
|
50
49
|
|
51
|
-
@registry ||= {}
|
52
|
-
|
53
|
-
# Hash of all task classes
|
54
|
-
def self.registry ; @registry ; end
|
55
|
-
|
56
|
-
# Hash of tasks available to this project
|
57
|
-
def self.tasks
|
58
|
-
unless @tasks
|
59
|
-
@tasks = {}
|
60
|
-
@registry.each { |name, klass|
|
61
|
-
@tasks[name] = klass if klass.verify?
|
62
|
-
}
|
63
|
-
end
|
64
|
-
@tasks
|
65
|
-
end
|
66
|
-
|
67
|
-
def self.register
|
68
|
-
$PROJECT_INFO = ProjectInfo.new( $PROJECT_FILE )
|
69
|
-
|
70
|
-
#@registry ||= {}
|
71
|
-
#ObjectSpace.each_object(Class) { |klass|
|
72
|
-
# if klass < ::Reap::Task
|
73
|
-
# if klass.verify
|
74
|
-
# @registry[klass.basename.downcase] = klass
|
75
|
-
# end
|
76
|
-
# end
|
77
|
-
#}
|
78
|
-
end
|
79
|
-
|
80
|
-
# def self.initialize
|
81
|
-
# @tasks ||= {}
|
82
|
-
# registry.each do |name, klass|
|
83
|
-
# @tasks[name] = klass.new
|
84
|
-
# end
|
85
|
-
# end
|
86
|
-
|
87
|
-
|
88
50
|
class Task
|
89
51
|
|
90
52
|
include ::Config
|
@@ -94,11 +56,19 @@ module Reap
|
|
94
56
|
|
95
57
|
class << self
|
96
58
|
|
59
|
+
# When this class is inherited the new task is registered.
|
60
|
+
|
97
61
|
def inherited( base )
|
98
|
-
|
62
|
+
task_list[base.task_name] = base
|
99
63
|
end
|
100
64
|
|
101
|
-
def
|
65
|
+
def task_list
|
66
|
+
@task_list ||= {}
|
67
|
+
end
|
68
|
+
|
69
|
+
def task_name
|
70
|
+
basename.downcase
|
71
|
+
end
|
102
72
|
|
103
73
|
def task_desc( text=nil, &block )
|
104
74
|
return @task_desc = proc { text } if text
|
@@ -127,6 +97,10 @@ module Reap
|
|
127
97
|
true
|
128
98
|
end
|
129
99
|
|
100
|
+
def master
|
101
|
+
@master ||= CascadingOpenObject.new( $PROJECT_INFO )
|
102
|
+
end
|
103
|
+
|
130
104
|
# def master_attributes ; @master_attributes ||= [] ; end
|
131
105
|
#
|
132
106
|
# # Use this DSL method to define master task attributes.
|
@@ -139,11 +113,11 @@ module Reap
|
|
139
113
|
# properties not to be looked up in master
|
140
114
|
# if they are not in regular task section
|
141
115
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
116
|
+
# def task_only_properties ; @task_only_properties ||= [] ; end
|
117
|
+
# def task_only_property( *names )
|
118
|
+
# @task_only_properties ||= []
|
119
|
+
# @task_only_properties |= names.collect { |n| n.to_s }
|
120
|
+
# end
|
147
121
|
|
148
122
|
end #<< class
|
149
123
|
|
@@ -156,13 +130,13 @@ module Reap
|
|
156
130
|
def section_required? ; self.class.section_required? ; end
|
157
131
|
|
158
132
|
#def master ; ::ProjectInfo.info ; end
|
159
|
-
def master ;
|
133
|
+
def master ; self.class.master ; end
|
160
134
|
def section ; @section ; end
|
161
135
|
def task ; @task ; end
|
162
136
|
|
163
137
|
def initialize( *args )
|
164
|
-
|
165
|
-
section =
|
138
|
+
#@master = CascadingOpenObject.new( $PROJECT_INFO )
|
139
|
+
section = master[task_name]
|
166
140
|
case section
|
167
141
|
when Array
|
168
142
|
section.each do |s|
|
@@ -181,7 +155,7 @@ module Reap
|
|
181
155
|
task_properties = {}
|
182
156
|
#self.class.task_only_properties.each { |t| section[t] ||= nil }
|
183
157
|
task_properties = CascadingOpenObject.new( section )
|
184
|
-
task_properties.__parent__ =
|
158
|
+
task_properties.__parent__ = master
|
185
159
|
@task = task_properties
|
186
160
|
|
187
161
|
init #task
|
@@ -226,6 +200,18 @@ module Reap
|
|
226
200
|
system arg unless $PRETEND
|
227
201
|
end
|
228
202
|
|
203
|
+
def provide_setup_rb
|
204
|
+
return true if File.exists?( 'setup.rb')
|
205
|
+
# copy from data dir to current directory
|
206
|
+
f = File.join( Config::CONFIG['datadir'], 'reap', 'setup_rb', 'setup.rb' )
|
207
|
+
if File.exists?(f)
|
208
|
+
File.cp( f, '.' )
|
209
|
+
true
|
210
|
+
else
|
211
|
+
nil
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
229
215
|
end #class Task
|
230
216
|
|
231
217
|
end #module Reap
|
@@ -0,0 +1,67 @@
|
|
1
|
+
|
2
|
+
module Reap
|
3
|
+
|
4
|
+
class Doap < Task
|
5
|
+
|
6
|
+
task_desc %{Generate DOAP project file.}
|
7
|
+
|
8
|
+
task_help %{
|
9
|
+
|
10
|
+
reap doap
|
11
|
+
|
12
|
+
DOAP is an XML/RTF format for describing a project. It contains
|
13
|
+
much of the same information as Reap's ProjectInfo file, but is
|
14
|
+
more suitable to RESTful interapplication communications, like
|
15
|
+
RSS/Atom feeds.
|
16
|
+
|
17
|
+
}
|
18
|
+
|
19
|
+
task_attr :prj
|
20
|
+
|
21
|
+
# Setup doap data
|
22
|
+
|
23
|
+
def init
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
# Generate doap file
|
28
|
+
|
29
|
+
def run
|
30
|
+
puts "Generating doap.xml file..."
|
31
|
+
|
32
|
+
x = ''
|
33
|
+
x << %{
|
34
|
+
|<Project xmlns="http://usefulinc.com/ns/doap#"\n
|
35
|
+
| xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n
|
36
|
+
| xmlns:foaf="http://xmlns.com/foaf/0.1/">
|
37
|
+
| <name>#{prj.title}</name>
|
38
|
+
| <shortname>#{prj.name}</shortname>
|
39
|
+
| <homepage rdf:resource="#{prj.homepage}" />
|
40
|
+
| <wiki rdf:resource="#{prj.wiki}" />
|
41
|
+
| <created>#{prj.created}</created>
|
42
|
+
| <shortdesc xml:lang="en">
|
43
|
+
}.margin
|
44
|
+
x << "\n" << prj.summary.word_wrap(50).indent(6)
|
45
|
+
x << %{
|
46
|
+
| </shortdesc>
|
47
|
+
| <description xml:lang="en">
|
48
|
+
}.margin
|
49
|
+
x << "\n" << prj.description.word_wrap(50).indent(6)
|
50
|
+
x << %{
|
51
|
+
| </description>
|
52
|
+
| <maintainer>
|
53
|
+
| <foaf:Person>
|
54
|
+
| <foaf:name>#{prj.maintainer}</foaf:name>
|
55
|
+
| <foaf:email>#{prj.email}</foaf:name>
|
56
|
+
| <foaf:homepage rdf:resource="#{prj.homepage}" />
|
57
|
+
| </foaf:Person>
|
58
|
+
| </maintainer>
|
59
|
+
| </Project>
|
60
|
+
}.margin
|
61
|
+
|
62
|
+
File.open( "doap.xml", 'w' ) { |f| f << x }
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
data/lib/reap/task/info.rb
CHANGED
data/lib/reap/task/install.rb
CHANGED
@@ -23,26 +23,37 @@ class Reap::Install < Reap::Task
|
|
23
23
|
#exe = %w{ setup.rb install.rb }.find{ |f| File.exists?(f) }
|
24
24
|
#raise "setup.rb or install.rb not found" if exe == nil
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
ARGV.delete('install')
|
31
|
-
ARGV << '-q' unless $VERBOSE
|
32
|
-
ARGV.concat(task.options)
|
33
|
-
|
34
|
-
$setup_pwd = $PROJECT_INFO.info_dir #Dir.pwd
|
26
|
+
unless provide_setup_rb
|
27
|
+
puts "Setup.rb is missing. Forced to skip debian package creation."
|
28
|
+
return nil
|
29
|
+
end
|
35
30
|
|
36
|
-
|
31
|
+
puts "Reap is shelling out work to setup.rb..."
|
37
32
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
33
|
+
# # prepare for using internalized setup.rb
|
34
|
+
#
|
35
|
+
# ARGV.delete('install')
|
36
|
+
# ARGV << '-q' unless $VERBOSE
|
37
|
+
# ARGV.concat(task.options)
|
38
|
+
#
|
39
|
+
# $setup_pwd = $PROJECT_INFO.info_dir #Dir.pwd
|
40
|
+
#
|
41
|
+
# # invoke setup.rb
|
42
|
+
#
|
43
|
+
# begin
|
44
|
+
# ToplevelInstaller.invoke
|
45
|
+
# rescue SetupError
|
46
|
+
# raise if $DEBUG
|
47
|
+
# $stderr.puts $!.message
|
48
|
+
# $stderr.puts "Try 'reap --help' for detailed usage."
|
49
|
+
# exit 1
|
50
|
+
# end
|
51
|
+
|
52
|
+
exe = %{ruby setup.rb}
|
53
|
+
exe << ' -q ' unless $VERBOSE
|
54
|
+
exe << task.options.join(' ')
|
55
|
+
exe << ' all'
|
56
|
+
sh exe
|
46
57
|
|
47
58
|
puts "Setup complete!"
|
48
59
|
end
|
data/lib/reap/task/package.rb
CHANGED
@@ -16,7 +16,7 @@ end
|
|
16
16
|
# = Package Task
|
17
17
|
#
|
18
18
|
# This task creates standard .zip, .tgz, or .tbz
|
19
|
-
# packages, plus .gem distributions.
|
19
|
+
# packages, plus .gem or .deb distributions.
|
20
20
|
|
21
21
|
|
22
22
|
class Reap::Package < Reap::Task
|
@@ -27,7 +27,11 @@ class Reap::Package < Reap::Task
|
|
27
27
|
# Task line description
|
28
28
|
|
29
29
|
task_desc do
|
30
|
-
|
30
|
+
if master.package
|
31
|
+
disttypes = master.package.distribute || master.distribute || [ 'gem', 'tar.bz2', 'zip' ]
|
32
|
+
else
|
33
|
+
disttypes = master.distribute || [ 'gem', 'tar.bz2', 'zip' ]
|
34
|
+
end
|
31
35
|
"Build distribution packages (#{disttypes.join(', ')})."
|
32
36
|
end
|
33
37
|
|
@@ -64,7 +68,7 @@ class Reap::Package < Reap::Task
|
|
64
68
|
|
65
69
|
The package task also has subsection for each type of distribution.
|
66
70
|
These can be used to override settings in the package information
|
67
|
-
if
|
71
|
+
if they in some way differ. Possible subsections are:
|
68
72
|
|
69
73
|
gems
|
70
74
|
pacman
|
@@ -147,27 +151,21 @@ class Reap::Package < Reap::Task
|
|
147
151
|
|
148
152
|
def run
|
149
153
|
|
150
|
-
puts "Creating #{pkg.distribute.join(',')} packages..."
|
151
|
-
|
152
|
-
# create package image
|
153
154
|
group_dir_path = File.join( pkg.dir, pkg.package_name )
|
154
155
|
package_dir_path = File.join( pkg.dir, pkg.package_name, pkg.package_name )
|
155
156
|
|
156
157
|
if FileTest.directory?(group_dir_path)
|
157
|
-
|
158
|
-
until inp = $stdin.gets[0,1] ; sleep 1 ; end
|
159
|
-
inp = inp.to_s.downcase
|
160
|
-
case inp
|
161
|
-
when 'y'
|
162
|
-
# continue...
|
163
|
-
when 'r'
|
158
|
+
if $FORCE
|
164
159
|
puts "Removing old directory '#{File.expand_path(group_dir_path)}'..."
|
165
160
|
FileUtils.rm_r(group_dir_path)
|
166
161
|
else
|
167
|
-
puts "
|
162
|
+
puts "Package directory '#{pkg.package_name}' already exists. Use -f option to overwrite."
|
168
163
|
return nil
|
169
164
|
end
|
170
165
|
end
|
166
|
+
|
167
|
+
puts "Creating #{pkg.distribute.join(',')} packages..."
|
168
|
+
|
171
169
|
package_files = FileList.new
|
172
170
|
package_files.include(*pkg.include)
|
173
171
|
package_files.exclude(*pkg.exclude) if pkg.exclude and not pkg.exclude.empty?
|
@@ -252,8 +250,7 @@ private
|
|
252
250
|
|
253
251
|
def run_gem
|
254
252
|
|
255
|
-
use_subsection :
|
256
|
-
#pkg = sub ? sub : pkg
|
253
|
+
use_subsection :gems
|
257
254
|
|
258
255
|
spec = Gem::Specification.new { |s|
|
259
256
|
s.name = pkg.name
|
@@ -309,11 +306,11 @@ private
|
|
309
306
|
|
310
307
|
def run_deb
|
311
308
|
|
312
|
-
use_subsection :
|
309
|
+
use_subsection :debian
|
313
310
|
|
314
311
|
# build the debian control file
|
315
312
|
|
316
|
-
|
313
|
+
dep = pkg.dependencies.collect{ |d, v|
|
317
314
|
if v
|
318
315
|
"#{d} (#{v})"
|
319
316
|
else
|
@@ -327,42 +324,55 @@ private
|
|
327
324
|
# Pre-Depends: perl, ...
|
328
325
|
# Suggests: docbook
|
329
326
|
|
327
|
+
arch = pkg.architecture.downcase
|
328
|
+
arch = (arch == 'any' ? 'all' : arch)
|
329
|
+
|
330
330
|
ctrl = %{
|
331
331
|
Package: #{pkg.name}
|
332
332
|
Version: #{pkg.version}
|
333
333
|
Priority: optional
|
334
|
-
Architecture: #{
|
334
|
+
Architecture: #{arch}
|
335
335
|
Essential: no
|
336
336
|
}.tabto(0)
|
337
|
-
ctrl << "Section: #{pkg.category}" if pkg.category
|
338
|
-
ctrl << "Depends: #{
|
339
|
-
ctrl << "Recommends: #{pkg.recommends.join(' | ')}" unless pkg.recommends.empty?
|
340
|
-
ctrl << "Conflicts: #{pkg.conflicts.join(', ')}" unless pkg.conflicts.empty?
|
341
|
-
ctrl <<
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
if pkg.architecture == 'any'
|
350
|
-
debname = "ruby_#{pkg.name}_#{pkg.version}.deb"
|
337
|
+
ctrl << "Section: #{pkg.category}\n" if pkg.category
|
338
|
+
ctrl << "Depends: #{dep}\n" unless dep.empty?
|
339
|
+
ctrl << "Recommends: #{pkg.recommends.join(' | ')}\n" unless pkg.recommends.empty?
|
340
|
+
ctrl << "Conflicts: #{pkg.conflicts.join(', ')}\n" unless pkg.conflicts.empty?
|
341
|
+
ctrl << "Maintainer: #{pkg.maintainer} <#{pkg.email}>\n"
|
342
|
+
ctrl << "Provides: #{pkg.name}\n"
|
343
|
+
ctrl << "Description: #{pkg.summary}\n"
|
344
|
+
ctrl << " #{pkg.description}\n"
|
345
|
+
|
346
|
+
if arch == 'all'
|
347
|
+
debname = "#{pkg.name}-ruby_#{pkg.version}.deb"
|
351
348
|
else
|
352
|
-
debname = "
|
349
|
+
debname = "#{pkg.name}-ruby_#{pkg.version}_#{pkg.architecture}.deb"
|
350
|
+
end
|
351
|
+
pkgdir = File.join( pkg.dir, pkg.package_name )
|
352
|
+
debdir = File.join( pkgdir, 'debian' )
|
353
|
+
|
354
|
+
#debdebdir = File.join( debdir, 'DEBIAN' )
|
355
|
+
debfile = File.join( pkgdir, debname )
|
356
|
+
|
357
|
+
unless provide_setup_rb
|
358
|
+
puts "Setup.rb is missing. Forced to skip debian package creation."
|
359
|
+
return nil
|
353
360
|
end
|
354
|
-
debdir = File.join( pkg.dir, pkg.package_name, 'debian' )
|
355
|
-
debdebdir = File.join( debdir, 'DEBIAN' )
|
356
|
-
debfile = File.join( debdir, debname )
|
357
361
|
|
358
362
|
puts "Reap is shelling out work to the deb-pkg..."
|
363
|
+
|
364
|
+
cmd = %{ruby setup.rb }
|
365
|
+
cmd << '-q ' unless $VERBOSE
|
366
|
+
cmd << %{all --installdirs=std --root=#{debdir}}
|
367
|
+
|
359
368
|
FileUtils.mkdir_p(debdir)
|
360
|
-
sh
|
361
|
-
FileUtils.mkdir_p(debdebdir)
|
362
|
-
File.open( File.join(debdebdir, 'control'), 'w') { |f| f << ctrl }
|
363
|
-
#sh %{dpkg-deb -b #{debdir} #{debfile}}
|
364
|
-
end
|
369
|
+
sh cmd
|
365
370
|
|
371
|
+
FileUtils.mkdir_p( File.join(debdir, 'DEBIAN') )
|
372
|
+
File.open( File.join(debdir, 'DEBIAN', 'control'), 'w') { |f| f << ctrl }
|
373
|
+
|
374
|
+
sh %{dpkg-deb -b #{debdir} #{debfile}}
|
375
|
+
end
|
366
376
|
|
367
377
|
# This builds a pacman (archlinux) PKGBUILD script.
|
368
378
|
|
@@ -375,19 +385,9 @@ private
|
|
375
385
|
return nil
|
376
386
|
end
|
377
387
|
|
378
|
-
#
|
379
|
-
|
380
|
-
|
381
|
-
# _con = pkg.pac.conflicts || pkg.conflicts
|
382
|
-
# else
|
383
|
-
_dep = pkg.dependencies
|
384
|
-
_rep = pkg.replaces
|
385
|
-
_con = pkg.conflicts
|
386
|
-
# end
|
387
|
-
|
388
|
-
_dep = _dep.collect{ |d| "'#{d}'" }.join(' ')
|
389
|
-
_rep = _rep.collect{ |d| "'#{d}'" }.join(' ')
|
390
|
-
_con = _rep.collect{ |d| "'#{d}'" }.join(' ')
|
388
|
+
_dep = pkg.dependencies.collect{ |d| "'#{d}'" }.join(' ')
|
389
|
+
_rep = pkg.replaces.collect{ |d| "'#{d}'" }.join(' ')
|
390
|
+
_con = pkg.conflicts.collect{ |d| "'#{d}'" }.join(' ')
|
391
391
|
|
392
392
|
proto = %{
|
393
393
|
pkgname=#{pkg.name}
|
@@ -435,7 +435,7 @@ private
|
|
435
435
|
#sh %{ruby setup.rb all --prefix=#{debdir}}
|
436
436
|
#FileUtils.mkdir_p(pacpacdir)
|
437
437
|
File.open( pacfile, 'w') { |f| f << proto }
|
438
|
-
#sh %{
|
438
|
+
#sh %{}
|
439
439
|
|
440
440
|
end
|
441
441
|
|