toybox 0.0.0 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/generators/toybox.rb +4 -0
- data/lib/generators/toybox/install_generator.rb +20 -0
- data/lib/generators/toybox/templates/toybox.rb +57 -0
- data/lib/tasks/toybox.rake +213 -0
- data/lib/toybox.rb +119 -0
- data/lib/toybox/configfile.rb +7 -0
- data/lib/toybox/exefile.rb +7 -0
- data/lib/toybox/linkfile.rb +18 -0
- data/lib/toybox/txtfile.rb +26 -0
- data/toybox.gemspec +12 -3
- metadata +33 -25
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.1.0
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
|
3
|
+
module Toybox
|
4
|
+
module Generators
|
5
|
+
class InstallGenerator < Rails::Generators::Base
|
6
|
+
|
7
|
+
desc 'Create initial config files for toybox'
|
8
|
+
# see https://github.com/rspec/rspec-rails/blob/master/lib/generators/rspec.rb
|
9
|
+
# for alternatives
|
10
|
+
def self.source_root
|
11
|
+
@source_root ||= File.expand_path("../templates", __FILE__)
|
12
|
+
end
|
13
|
+
|
14
|
+
# all public methods in here will be run in order
|
15
|
+
def add_initializer_config
|
16
|
+
template "toybox.rb", "config/initializers/toybox.rb"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
Toybox.configure do
|
2
|
+
{
|
3
|
+
# app_root: the path to the final resting place of your
|
4
|
+
# package's data. Do not include the initial slash ('/')
|
5
|
+
:app_root => 'path/to/app/root',
|
6
|
+
|
7
|
+
# publish_host: the ssh-able host to publish the file to
|
8
|
+
:publish_host => 'somewhere.yourdomain.com',
|
9
|
+
|
10
|
+
# username: The user the app is to be owned by
|
11
|
+
:username => 'some_user',
|
12
|
+
|
13
|
+
# group_name: The group the app is to be owned by
|
14
|
+
:group_name => 'some_group',
|
15
|
+
|
16
|
+
# files: description to be added (TODO)
|
17
|
+
:files => [
|
18
|
+
'debian/package.dirs',
|
19
|
+
'rules1.mk'
|
20
|
+
],
|
21
|
+
|
22
|
+
# other_files: description to be added (TODO)
|
23
|
+
:other_files => [
|
24
|
+
'build-stamp',
|
25
|
+
'install-stamp'
|
26
|
+
],
|
27
|
+
|
28
|
+
# directories: description to be added (TODO)
|
29
|
+
:directories => [
|
30
|
+
'.'
|
31
|
+
],
|
32
|
+
|
33
|
+
# prune_dirs: Directories to be pruned out
|
34
|
+
:prune_dirs => [
|
35
|
+
'.git',
|
36
|
+
'debian',
|
37
|
+
'test'
|
38
|
+
],
|
39
|
+
|
40
|
+
# ignore_dirs: Directories to be included, even if they
|
41
|
+
# match the pattern of a prune dir. This is to assert
|
42
|
+
# that if, for instance, you have listed test in prune_dirs
|
43
|
+
# to remove the tests from the debian package, but an installed
|
44
|
+
# bundle contains the word test (think Rack::Test), it doens't
|
45
|
+
# prune it
|
46
|
+
:ignore_dirs => [
|
47
|
+
'vendor/bundle',
|
48
|
+
'vendor/plugins'
|
49
|
+
],
|
50
|
+
|
51
|
+
|
52
|
+
# use_production_yamls: If enabled (true), then we will only include
|
53
|
+
# yamls that match the config/*_production.yml pattern in the package.
|
54
|
+
# If disabled, then we won't prune yaml files
|
55
|
+
:use_production_yamls => true
|
56
|
+
}
|
57
|
+
end
|
@@ -0,0 +1,213 @@
|
|
1
|
+
namespace :toybox do
|
2
|
+
|
3
|
+
FILES = Toybox.config[:files]
|
4
|
+
OTHER_FILES = Toybox.config[:other_files]
|
5
|
+
|
6
|
+
desc 'Initialize the project for debianization'
|
7
|
+
task :init, [:name, :version] => [:environment] do |t, project|
|
8
|
+
unless (project[:name]&&project[:version])
|
9
|
+
raise Exception.new("Need to provide name and version args!")
|
10
|
+
end
|
11
|
+
devel_debs = %w{build-essential cdbs debhelper sed make
|
12
|
+
devscripts dh-make dpatch dpkg-dev
|
13
|
+
fakeroot lintian}
|
14
|
+
sh "sudo apt-get install #{devel_debs.join(' ')}"
|
15
|
+
sh "dh_make -p #{project[:name]}_#{project[:version]} -b -n"
|
16
|
+
puts "Removing example files from the debian/ folder"
|
17
|
+
sh "find #{Rails.root}/debian -iname '*.ex' -exec rm {} \\;"
|
18
|
+
File.open("#{Rails.root}/debian/rules",'w') do |f|
|
19
|
+
f.puts <<EOF
|
20
|
+
#!/usr/bin/make -f
|
21
|
+
|
22
|
+
# include /usr/share/cdbs/1/rules/debhelper.mk
|
23
|
+
include /usr/share/cdbs/1/rules/buildvars.mk
|
24
|
+
|
25
|
+
PKG=$(DEB_SOURCE_PACKAGE)
|
26
|
+
LN=ln -sf
|
27
|
+
|
28
|
+
clean::
|
29
|
+
@echo "clean me"
|
30
|
+
# dh_testdir
|
31
|
+
# dh_testroot
|
32
|
+
rm -f build-stamp install-stamp
|
33
|
+
-echo $(MAKE) clean
|
34
|
+
dh_clean
|
35
|
+
-rm debian/$(PKG).dirs
|
36
|
+
|
37
|
+
package-name:
|
38
|
+
@echo DEB_SOURCE_PACKAGE=$(DEB_SOURCE_PACKAGE)
|
39
|
+
|
40
|
+
|
41
|
+
build: build-stamp
|
42
|
+
|
43
|
+
build-stamp:
|
44
|
+
dh_testdir
|
45
|
+
echo $(MAKE)
|
46
|
+
touch build-stamp
|
47
|
+
|
48
|
+
install: install-stamp
|
49
|
+
|
50
|
+
install-stamp: build-stamp install-setup install-files install-links
|
51
|
+
touch install-stamp
|
52
|
+
|
53
|
+
FAKEROOT=./debian/$(PKG)
|
54
|
+
|
55
|
+
debian/$(PKG).dirs: debian/package.dirs
|
56
|
+
@cp $< $@
|
57
|
+
|
58
|
+
install-setup: debian/$(PKG).dirs
|
59
|
+
dh_testdir
|
60
|
+
dh_testroot
|
61
|
+
dh_clean -k
|
62
|
+
mkdir $(FAKEROOT)
|
63
|
+
( cd $(FAKEROOT) ; cat ../$(PKG).dirs | tr '\\n' '\\0'| xargs -0 -Ix install -d -m 755 x)
|
64
|
+
#dh_installdirs
|
65
|
+
#touch install-setup
|
66
|
+
|
67
|
+
include rules1.mk
|
68
|
+
|
69
|
+
install-links:
|
70
|
+
@echo 1 >/dev/null
|
71
|
+
|
72
|
+
# Build architecture-independent files here.
|
73
|
+
# We have nothing to do
|
74
|
+
binary-indep: build install
|
75
|
+
@echo nothing >/dev/null
|
76
|
+
|
77
|
+
# Build architecture-dependent files here.
|
78
|
+
binary-arch: build install
|
79
|
+
dh_testdir
|
80
|
+
dh_testroot
|
81
|
+
dh_installdocs
|
82
|
+
dh_installinit -n --name=#{Toybox.config[:username]}
|
83
|
+
dh_installinit -n --name=#{Toybox.config[:username]}-worker
|
84
|
+
# -u"start 2 3 . stop 11 1 ."
|
85
|
+
dh_installcron
|
86
|
+
dh_installman
|
87
|
+
dh_link
|
88
|
+
# dh_installchangelogs ChangeLog
|
89
|
+
dh_installchangelogs
|
90
|
+
#dh_installdebconf
|
91
|
+
# dh_strip
|
92
|
+
# dh_fixperms
|
93
|
+
chown #{Toybox.config[:username]}:#{Toybox.config[:group_name]} -R $(FAKEROOT)/#{Toybox.config[:app_root]}
|
94
|
+
dh_compress
|
95
|
+
dh_installdeb
|
96
|
+
#dh_shlibdeps
|
97
|
+
dh_gencontrol
|
98
|
+
dh_md5sums
|
99
|
+
dh_builddeb
|
100
|
+
|
101
|
+
source diff:
|
102
|
+
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
|
103
|
+
|
104
|
+
binary: binary-indep binary-arch
|
105
|
+
.PHONY: build clean binary-indep binary-arch binary
|
106
|
+
EOF
|
107
|
+
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
# Change the *.rake to be:
|
112
|
+
# File.join(File.dirname(__FILE__), File.basename(__FILE__))
|
113
|
+
file 'rules1.mk' => [File.join(File.dirname(__FILE__), File.basename(__FILE__)),'Rakefile','.'] do |t|
|
114
|
+
puts 'building rules1.mk'
|
115
|
+
s = Toybox::files().map{|f| "\t@" + f.debian_install_cmd }
|
116
|
+
open(t.name,'w') do |io|
|
117
|
+
io.puts "#
|
118
|
+
# auto generated
|
119
|
+
#
|
120
|
+
ifndef SRC
|
121
|
+
SRC=.
|
122
|
+
endif
|
123
|
+
install-files::"
|
124
|
+
io.puts s
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
file "debian/package.dirs" => [File.join(File.dirname(__FILE__), File.basename(__FILE__)),'Rakefile','.'] do |t|
|
129
|
+
puts 'building debian/package.dirs file listing'
|
130
|
+
dirs = Toybox::dpkg_find do |path|
|
131
|
+
if Kernel.test('d', path) and not Kernel.test('l',path) then
|
132
|
+
path
|
133
|
+
end
|
134
|
+
end
|
135
|
+
open(t.name, 'w') do |io|
|
136
|
+
dirs.each { |d1| io.puts "#{Toybox.config[:app_root]}/#{d1}" }
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
task :files => ['debian/package.dirs', 'rules1.mk'] do |t|
|
141
|
+
puts 'built files'
|
142
|
+
end
|
143
|
+
|
144
|
+
task :bundle do |t|
|
145
|
+
Bundler.with_clean_env do
|
146
|
+
puts "******************************************"
|
147
|
+
puts "* Warning: Running bundler *"
|
148
|
+
puts "* Go drink a coffee or something *"
|
149
|
+
puts "******************************************"
|
150
|
+
sh "bundle install --deployment --without test development"
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
desc 'build debian package'
|
155
|
+
task :debianize => [:environment, :user, :bundle, :files].flatten do |t|
|
156
|
+
puts "building ..."
|
157
|
+
sh 'dpkg-buildpackage -rfakeroot -uc -us '
|
158
|
+
end
|
159
|
+
|
160
|
+
desc 'submit last package to somewhere.'
|
161
|
+
task :publish do |t|
|
162
|
+
changelog = parsechangelog
|
163
|
+
fn = "../#{debian_package(changelog)}"
|
164
|
+
if Kernel.test('rf', fn) then
|
165
|
+
host = Toybox.config[:publish_host]
|
166
|
+
sh "scp '#{fn}' '#{host}:' "
|
167
|
+
sh "git commit -s -m'#{package_version} build changelog' debian/changelog"
|
168
|
+
pending_commits = %x[git log --pretty=oneline origin..master | wc -l].chomp.to_i
|
169
|
+
if pending_commits == 1
|
170
|
+
sh "git push"
|
171
|
+
puts "\ndebian/changelog commited and pushed."
|
172
|
+
else
|
173
|
+
puts "\nYou have other pending commits. Please push the debian/changelog commit manually."
|
174
|
+
end
|
175
|
+
else
|
176
|
+
raise "Error, can't find or read file #{fn}"
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
task :user do |t|
|
181
|
+
puts Toybox.config.inspect
|
182
|
+
Etc.getgrnam(Toybox.config[:group_name])
|
183
|
+
Etc.getpwnam(Toybox.config[:username])
|
184
|
+
end
|
185
|
+
|
186
|
+
desc 'clean up'
|
187
|
+
task :clean => [:environment] do
|
188
|
+
sh 'dh_clean'
|
189
|
+
[FILES, OTHER_FILES].flatten.each {|f| rm_f f }
|
190
|
+
rm_f `ls debian/*.dirs`.strip
|
191
|
+
# rm_f 'build-stamp'
|
192
|
+
# rm_f 'install-stamp'
|
193
|
+
end
|
194
|
+
|
195
|
+
desc 'add a changelog entry - use version=0.0.0 to set version'
|
196
|
+
task :changelog do #=> [] do
|
197
|
+
v = find_ver(ENV)
|
198
|
+
opt = "-i"
|
199
|
+
opt = "-v #{v}" unless v.nil?
|
200
|
+
distro = `lsb_release -i`
|
201
|
+
if distro =~ /Ubuntu/ then
|
202
|
+
distributor = "--distributor Debian"
|
203
|
+
else
|
204
|
+
distributor = ""
|
205
|
+
end
|
206
|
+
sh "dch --no-auto-nmu #{distributor} --distribution stable #{opt}"
|
207
|
+
end
|
208
|
+
desc 'list the version of the package from changelog'
|
209
|
+
task :version => [] do
|
210
|
+
puts package_version
|
211
|
+
end
|
212
|
+
|
213
|
+
end #end of namespace
|
data/lib/toybox.rb
CHANGED
@@ -0,0 +1,119 @@
|
|
1
|
+
module Toybox
|
2
|
+
|
3
|
+
require 'etc'
|
4
|
+
require 'find'
|
5
|
+
require 'toybox/txtfile'
|
6
|
+
require 'toybox/configfile'
|
7
|
+
require 'toybox/exefile'
|
8
|
+
require 'toybox/linkfile'
|
9
|
+
|
10
|
+
@@config_data = {}
|
11
|
+
|
12
|
+
class ToyboxTask < Rails::Railtie
|
13
|
+
rake_tasks do
|
14
|
+
Dir[File.join(File.dirname(__FILE__),'tasks/*.rake')].each { |f| load f }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.app_fakeroot
|
19
|
+
"$(FAKEROOT)/#{Toybox.config[:app_root]}"
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.configure(config = nil, &block)
|
23
|
+
# Given that we want things as they relate to the rails app,
|
24
|
+
# the path given as config should be relative to Rails.root
|
25
|
+
if config.is_a?(String) && config =~ /\S+\..yml/i then
|
26
|
+
@@config_data = YAML::load_file(File.join(Rails.root, config)).freeze
|
27
|
+
else
|
28
|
+
@@config_data = (yield).freeze
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.config
|
33
|
+
@@config_data
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.is_non_production_yaml?(path)
|
37
|
+
return false unless path =~ /\/config\/\w+\.yml$/
|
38
|
+
if path =~ /\/config\/\w+_production\.yml$/ then
|
39
|
+
false
|
40
|
+
else
|
41
|
+
true
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.filetype(path)
|
46
|
+
return nil if Kernel.test('d', path) and not Kernel.test('l', path)
|
47
|
+
return nil if Toybox.config[:other_files].member? path
|
48
|
+
return nil if Toybox.config[:files].member? path
|
49
|
+
if Toybox.config[:use_production_yamls] then
|
50
|
+
if is_non_production_yaml?(path) then
|
51
|
+
STDERR.puts "skipping file: #{path}"
|
52
|
+
return nil
|
53
|
+
end
|
54
|
+
end
|
55
|
+
return nil if path =~ /config.database.yml$/
|
56
|
+
return nil if path =~ /config.ldap.yml$/
|
57
|
+
if Kernel.test('l', path) then
|
58
|
+
Linkfile.new(path)
|
59
|
+
elsif Kernel.test('x',path) then
|
60
|
+
Exefile.new(path)
|
61
|
+
elsif path =~ %r{^[\.\/]+config/} then
|
62
|
+
Configfile.new(path)
|
63
|
+
else
|
64
|
+
Txtfile.new(path)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.path_contains(path, arg)
|
69
|
+
arg.each do |s|
|
70
|
+
return true if path =~ Regexp.new(s)
|
71
|
+
end
|
72
|
+
false
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.dpkg_find(&block)
|
76
|
+
Toybox.config[:directories].map { |dir|
|
77
|
+
f = []
|
78
|
+
Find.find(dir) do |path|
|
79
|
+
if Toybox.config[:prune_dirs].member? File.basename(path) and not path_contains(path, Toybox.config[:ignore_dirs]) then
|
80
|
+
Find.prune
|
81
|
+
elsif Toybox.config[:files].member? File.basename(path) then
|
82
|
+
next
|
83
|
+
elsif Toybox.config[:other_files].member? File.basename(path) then
|
84
|
+
next
|
85
|
+
elsif File.basename(path) =~ /^ruby_sess.*/ then
|
86
|
+
next
|
87
|
+
else
|
88
|
+
x = yield(path)
|
89
|
+
f << x
|
90
|
+
end
|
91
|
+
end
|
92
|
+
f.compact
|
93
|
+
}.flatten.compact
|
94
|
+
end
|
95
|
+
|
96
|
+
def self.files()
|
97
|
+
dpkg_find do |path|
|
98
|
+
if path =~ /\.log$/ then
|
99
|
+
nil
|
100
|
+
else
|
101
|
+
filetype(path)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
def self.parsechangelog
|
106
|
+
changelog = %x{dpkg-parsechangelog}
|
107
|
+
package, version = changelog.split("\n")[0,2].map{|x| x.split.last }
|
108
|
+
arch = %x{dpkg-architecture -qDEB_HOST_ARCH}.chomp
|
109
|
+
[ package, version, arch ]
|
110
|
+
end
|
111
|
+
def self.debian_package(clog)
|
112
|
+
"#{clog.join('_')}.deb"
|
113
|
+
end
|
114
|
+
def self.package_version
|
115
|
+
clog = parsechangelog
|
116
|
+
clog[1]
|
117
|
+
end
|
118
|
+
|
119
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Toybox
|
2
|
+
class Linkfile < Txtfile
|
3
|
+
attr_accessor :link_dest
|
4
|
+
def initialize(p)
|
5
|
+
super(p)
|
6
|
+
self.link_dest = File.readlink(p)
|
7
|
+
end
|
8
|
+
def to_s
|
9
|
+
"#{self.class}: +l #{path.to_s}"
|
10
|
+
end
|
11
|
+
def install_cmd
|
12
|
+
"@ln -s "
|
13
|
+
end
|
14
|
+
def install_src
|
15
|
+
link_dest
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Toybox
|
2
|
+
class Txtfile
|
3
|
+
attr_accessor :path
|
4
|
+
def initialize(p)
|
5
|
+
self.path = Pathname.new(p)
|
6
|
+
end
|
7
|
+
def to_s
|
8
|
+
"#{self.class}: #{path.to_s}"
|
9
|
+
end
|
10
|
+
def q(s)
|
11
|
+
'"' + s + '"'
|
12
|
+
end
|
13
|
+
def install_cmd
|
14
|
+
"install -D -m 644"
|
15
|
+
end
|
16
|
+
def install_src
|
17
|
+
"$(SRC)/#{path.to_s}"
|
18
|
+
end
|
19
|
+
def install_dest
|
20
|
+
"#{Toybox::app_fakeroot}/#{path.to_s}"
|
21
|
+
end
|
22
|
+
def debian_install_cmd
|
23
|
+
[install_cmd, q(install_src), q(install_dest)].join(' ')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/toybox.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{toybox}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.1.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kristofer M White"]
|
12
|
-
s.date = %q{2011-05-
|
12
|
+
s.date = %q{2011-05-26}
|
13
13
|
s.description = %q{Debianize your rails app, the Debian way}
|
14
14
|
s.email = %q{me@kmwhite.net}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -24,9 +24,18 @@ Gem::Specification.new do |s|
|
|
24
24
|
"README.rdoc",
|
25
25
|
"Rakefile",
|
26
26
|
"VERSION",
|
27
|
+
"lib/generators/toybox.rb",
|
28
|
+
"lib/generators/toybox/install_generator.rb",
|
29
|
+
"lib/generators/toybox/templates/toybox.rb",
|
30
|
+
"lib/tasks/toybox.rake",
|
27
31
|
"lib/toybox.rb",
|
32
|
+
"lib/toybox/configfile.rb",
|
33
|
+
"lib/toybox/exefile.rb",
|
34
|
+
"lib/toybox/linkfile.rb",
|
35
|
+
"lib/toybox/txtfile.rb",
|
28
36
|
"test/helper.rb",
|
29
|
-
"test/test_toybox.rb"
|
37
|
+
"test/test_toybox.rb",
|
38
|
+
"toybox.gemspec"
|
30
39
|
]
|
31
40
|
s.homepage = %q{http://github.com/kmwhite/toybox}
|
32
41
|
s.licenses = ["BSD"]
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toybox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
+
- 1
|
8
9
|
- 0
|
9
|
-
|
10
|
-
version: 0.0.0
|
10
|
+
version: 0.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kristofer M White
|
@@ -15,12 +15,13 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-26 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
|
23
|
-
|
22
|
+
prerelease: false
|
23
|
+
type: :development
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
25
|
none: false
|
25
26
|
requirements:
|
26
27
|
- - ~>
|
@@ -31,12 +32,12 @@ dependencies:
|
|
31
32
|
- 0
|
32
33
|
- 0
|
33
34
|
version: 1.0.0
|
35
|
+
name: bundler
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
34
38
|
prerelease: false
|
35
39
|
type: :development
|
36
|
-
requirement:
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: jeweler
|
39
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
41
|
none: false
|
41
42
|
requirements:
|
42
43
|
- - ~>
|
@@ -47,12 +48,12 @@ dependencies:
|
|
47
48
|
- 6
|
48
49
|
- 0
|
49
50
|
version: 1.6.0
|
51
|
+
name: jeweler
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
50
54
|
prerelease: false
|
51
55
|
type: :development
|
52
|
-
requirement:
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: rcov
|
55
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
56
57
|
none: false
|
57
58
|
requirements:
|
58
59
|
- - ">="
|
@@ -61,12 +62,12 @@ dependencies:
|
|
61
62
|
segments:
|
62
63
|
- 0
|
63
64
|
version: "0"
|
65
|
+
name: rcov
|
66
|
+
version_requirements: *id003
|
67
|
+
- !ruby/object:Gem::Dependency
|
64
68
|
prerelease: false
|
65
69
|
type: :development
|
66
|
-
requirement:
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: reek
|
69
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
70
71
|
none: false
|
71
72
|
requirements:
|
72
73
|
- - ~>
|
@@ -77,12 +78,12 @@ dependencies:
|
|
77
78
|
- 2
|
78
79
|
- 8
|
79
80
|
version: 1.2.8
|
81
|
+
name: reek
|
82
|
+
version_requirements: *id004
|
83
|
+
- !ruby/object:Gem::Dependency
|
80
84
|
prerelease: false
|
81
85
|
type: :development
|
82
|
-
requirement:
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: roodi
|
85
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
86
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
86
87
|
none: false
|
87
88
|
requirements:
|
88
89
|
- - ~>
|
@@ -93,9 +94,8 @@ dependencies:
|
|
93
94
|
- 1
|
94
95
|
- 0
|
95
96
|
version: 2.1.0
|
96
|
-
|
97
|
-
|
98
|
-
requirement: *id005
|
97
|
+
name: roodi
|
98
|
+
version_requirements: *id005
|
99
99
|
description: Debianize your rails app, the Debian way
|
100
100
|
email: me@kmwhite.net
|
101
101
|
executables: []
|
@@ -113,7 +113,15 @@ files:
|
|
113
113
|
- README.rdoc
|
114
114
|
- Rakefile
|
115
115
|
- VERSION
|
116
|
+
- lib/generators/toybox.rb
|
117
|
+
- lib/generators/toybox/install_generator.rb
|
118
|
+
- lib/generators/toybox/templates/toybox.rb
|
119
|
+
- lib/tasks/toybox.rake
|
116
120
|
- lib/toybox.rb
|
121
|
+
- lib/toybox/configfile.rb
|
122
|
+
- lib/toybox/exefile.rb
|
123
|
+
- lib/toybox/linkfile.rb
|
124
|
+
- lib/toybox/txtfile.rb
|
117
125
|
- test/helper.rb
|
118
126
|
- test/test_toybox.rb
|
119
127
|
- toybox.gemspec
|