pkg-wizard 0.1.17 → 0.1.18
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 +1 -0
- data/lib/pkg-wizard/commands/build_bot.rb +37 -1
- data/lib/pkg-wizard/commands/init_env.rb +1 -1
- data/lib/pkg-wizard.rb +1 -1
- metadata +18 -4
data/Rakefile
CHANGED
|
@@ -29,6 +29,7 @@ Jeweler::Tasks.new do |gem|
|
|
|
29
29
|
gem.add_runtime_dependency 'rufus-scheduler'
|
|
30
30
|
gem.add_runtime_dependency 'term-ansicolor'
|
|
31
31
|
gem.add_runtime_dependency 'mixlib-cli'
|
|
32
|
+
gem.add_runtime_dependency 'daemons'
|
|
32
33
|
# gem.add_development_dependency 'rspec', '> 1.2.3'
|
|
33
34
|
end
|
|
34
35
|
Jeweler::RubygemsDotOrgTasks.new
|
|
@@ -12,6 +12,7 @@ require 'rufus/scheduler'
|
|
|
12
12
|
require 'term/ansicolor'
|
|
13
13
|
require 'pp'
|
|
14
14
|
require 'yaml'
|
|
15
|
+
require 'daemons'
|
|
15
16
|
|
|
16
17
|
class String
|
|
17
18
|
include Term::ANSIColor
|
|
@@ -35,6 +36,15 @@ module PKGWizard
|
|
|
35
36
|
:short => '-m PROF',
|
|
36
37
|
:long => '--mock-profile PROF'
|
|
37
38
|
|
|
39
|
+
option :port,
|
|
40
|
+
:short => '-p PORT',
|
|
41
|
+
:long => '--port PORT',
|
|
42
|
+
:default => 4567
|
|
43
|
+
|
|
44
|
+
option :daemonize,
|
|
45
|
+
:long => '--daemonize',
|
|
46
|
+
:default => false
|
|
47
|
+
|
|
38
48
|
class Webapp < Sinatra::Base
|
|
39
49
|
def find_job_path(name)
|
|
40
50
|
(Dir["failed/job_*"] + Dir["success/job_*"]).find { |j| File.basename(j) == name }
|
|
@@ -189,14 +199,39 @@ module PKGWizard
|
|
|
189
199
|
cli = BuildBot.new
|
|
190
200
|
cli.banner = "\nUsage: rpmwiz build-bot (options)\n\n"
|
|
191
201
|
cli.parse_options
|
|
202
|
+
if cli.config[:daemonize]
|
|
203
|
+
pwd = Dir.pwd
|
|
204
|
+
umask = File.umask
|
|
205
|
+
Daemons.daemonize :app_name => 'build-bot', :dir_mode => :normal, :dir => pwd
|
|
206
|
+
Dir.chdir pwd
|
|
207
|
+
File.umask umask
|
|
208
|
+
log = File.new("build-bot.log", "a")
|
|
209
|
+
$stdout.reopen(log)
|
|
210
|
+
$stderr.reopen(log)
|
|
211
|
+
$stdout.sync = true
|
|
212
|
+
$stderr.sync = true
|
|
213
|
+
end
|
|
214
|
+
|
|
192
215
|
mock_profile = cli.config[:mock_profile]
|
|
193
216
|
if not mock_profile
|
|
194
217
|
$stderr.puts 'Invalid mock profile.'
|
|
195
218
|
$stderr.puts cli.opt_parser.help
|
|
196
|
-
exit
|
|
219
|
+
exit 1
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
if not File.exist? '/usr/bin/rpmbuild'
|
|
223
|
+
$stderr.puts 'rpmbuild command not found. Install it first.'
|
|
224
|
+
exit 1
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
if not File.exist? '/usr/sbin/mock'
|
|
228
|
+
$stderr.puts 'mock command not found. Install it first.'
|
|
229
|
+
exit 1
|
|
197
230
|
end
|
|
231
|
+
|
|
198
232
|
meta = { :mock_profile => mock_profile }
|
|
199
233
|
|
|
234
|
+
|
|
200
235
|
Dir.mkdir 'incoming' if not File.exist?('incoming')
|
|
201
236
|
Dir.mkdir 'output' if not File.exist?('output')
|
|
202
237
|
Dir.mkdir 'workspace' if not File.exist?('workspace')
|
|
@@ -321,6 +356,7 @@ module PKGWizard
|
|
|
321
356
|
end
|
|
322
357
|
end
|
|
323
358
|
end
|
|
359
|
+
Webapp.set :port => cli.config[:port]
|
|
324
360
|
Webapp.run!
|
|
325
361
|
end
|
|
326
362
|
|
|
@@ -30,7 +30,7 @@ module PKGWizard
|
|
|
30
30
|
end
|
|
31
31
|
if File.exist?('/etc/redhat-release')
|
|
32
32
|
print '* Installing RHEL/Fedora requirements... '
|
|
33
|
-
output = `yum install -y git rpmdevtools mock createrepo yum-utils screen`
|
|
33
|
+
output = `yum install -y git rpm-build rpmdevtools mock createrepo yum-utils screen`
|
|
34
34
|
if $? != 0
|
|
35
35
|
$stderr.puts "Failed installing requirementes: \n#{output}"
|
|
36
36
|
exit 1
|
data/lib/pkg-wizard.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pkg-wizard
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 63
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 1
|
|
9
|
-
-
|
|
10
|
-
version: 0.1.
|
|
9
|
+
- 18
|
|
10
|
+
version: 0.1.18
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Sergio Rubio
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2011-04-
|
|
18
|
+
date: 2011-04-04 00:00:00 +02:00
|
|
19
19
|
default_executable: pkgwiz
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
@@ -162,6 +162,20 @@ dependencies:
|
|
|
162
162
|
version: "0"
|
|
163
163
|
requirement: *id010
|
|
164
164
|
prerelease: false
|
|
165
|
+
- !ruby/object:Gem::Dependency
|
|
166
|
+
type: :runtime
|
|
167
|
+
name: daemons
|
|
168
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
|
169
|
+
none: false
|
|
170
|
+
requirements:
|
|
171
|
+
- - ">="
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
hash: 3
|
|
174
|
+
segments:
|
|
175
|
+
- 0
|
|
176
|
+
version: "0"
|
|
177
|
+
requirement: *id011
|
|
178
|
+
prerelease: false
|
|
165
179
|
description: Tools to manage,create and build distribution packages
|
|
166
180
|
email: rubiojr@frameos.org
|
|
167
181
|
executables:
|