pkgr 0.3.4 → 1.0.1.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +68 -463
- data/bin/pkgr +4 -52
- data/lib/pkgr.rb +13 -29
- data/lib/pkgr/app.rb +19 -4
- data/lib/pkgr/builder.rb +207 -0
- data/lib/pkgr/buildpack.rb +80 -0
- data/lib/pkgr/cli.rb +34 -158
- data/lib/pkgr/config.rb +65 -0
- data/lib/pkgr/data/distributions/debian/build_dependencies.yml +14 -0
- data/lib/pkgr/data/{debian → distributions/debian}/cron.d +0 -0
- data/lib/pkgr/data/distributions/debian/default.erb +12 -0
- data/lib/pkgr/data/distributions/debian/dependencies.yml +17 -0
- data/lib/pkgr/data/distributions/debian/hooks/postinstall.sh +27 -0
- data/lib/pkgr/data/distributions/debian/hooks/preinstall.sh +9 -0
- data/lib/pkgr/data/{debian → distributions/debian}/logrotate.erb +0 -0
- data/lib/pkgr/data/distributions/debian/runner.erb +122 -0
- data/lib/pkgr/data/distributions/debian/upstart/master.conf.erb +7 -0
- data/lib/pkgr/data/distributions/debian/upstart/process.conf.erb +7 -0
- data/lib/pkgr/data/distributions/debian/upstart/process_master.conf.erb +2 -0
- data/lib/pkgr/dispatcher.rb +51 -0
- data/lib/pkgr/distributions.rb +18 -0
- data/lib/pkgr/distributions/debian.rb +157 -0
- data/lib/pkgr/git.rb +24 -0
- data/lib/pkgr/process.rb +18 -0
- data/lib/pkgr/templates/dir_template.rb +14 -0
- data/lib/pkgr/templates/file_template.rb +38 -0
- data/lib/pkgr/version.rb +1 -1
- metadata +93 -26
- data/lib/pkgr/data/debian/changelog +0 -0
- data/lib/pkgr/data/debian/compat.erb +0 -1
- data/lib/pkgr/data/debian/control.erb +0 -12
- data/lib/pkgr/data/debian/copyright.erb +0 -17
- data/lib/pkgr/data/debian/default.erb +0 -11
- data/lib/pkgr/data/debian/dirs.erb +0 -2
- data/lib/pkgr/data/debian/docs.erb +0 -0
- data/lib/pkgr/data/debian/init.d.erb +0 -155
- data/lib/pkgr/data/debian/install.erb +0 -16
- data/lib/pkgr/data/debian/links.erb +0 -5
- data/lib/pkgr/data/debian/postinst.erb +0 -59
- data/lib/pkgr/data/debian/prerm.erb +0 -57
- data/lib/pkgr/data/debian/rules.erb +0 -7
- data/lib/pkgr/pkgr.rake +0 -50
- data/lib/pkgr/railtie.rb +0 -7
@@ -1,16 +0,0 @@
|
|
1
|
-
<% config_files.each do |file| %>
|
2
|
-
config/<%= file %> etc/<%= name %>
|
3
|
-
<% end %>
|
4
|
-
config <%= pkg_prefix %>/<%= name %>
|
5
|
-
.bundle <%= pkg_prefix %>/<%= name %>
|
6
|
-
Gemfile <%= pkg_prefix %>/<%= name %>
|
7
|
-
Gemfile.lock <%= pkg_prefix %>/<%= name %>
|
8
|
-
config.ru <%= pkg_prefix %>/<%= name %>
|
9
|
-
Rakefile <%= pkg_prefix %>/<%= name %>
|
10
|
-
app <%= pkg_prefix %>/<%= name %>
|
11
|
-
bin <%= pkg_prefix %>/<%= name %>
|
12
|
-
db/* var/db/<%= name %>
|
13
|
-
lib <%= pkg_prefix %>/<%= name %>
|
14
|
-
public <%= pkg_prefix %>/<%= name %>
|
15
|
-
script <%= pkg_prefix %>/<%= name %>
|
16
|
-
vendor <%= pkg_prefix %>/<%= name %>
|
@@ -1,59 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
# postinst script for $NAME
|
3
|
-
#
|
4
|
-
# see: dh_installdeb(1)
|
5
|
-
|
6
|
-
set -e
|
7
|
-
|
8
|
-
# summary of how this script can be called:
|
9
|
-
# * <postinst> `configure' <most-recently-configured-version>
|
10
|
-
# * <old-postinst> `abort-upgrade' <new version>
|
11
|
-
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
12
|
-
# <new-version>
|
13
|
-
# * <postinst> `abort-remove'
|
14
|
-
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
15
|
-
# <failed-install-package> <version> `removing'
|
16
|
-
# <conflicting-package> <version>
|
17
|
-
# for details, see http://www.debian.org/doc/debian-policy/ or
|
18
|
-
# the debian-policy package
|
19
|
-
|
20
|
-
NAME="<%= name %>"
|
21
|
-
PREFIX="<%= prefix %>"
|
22
|
-
USER="<%= user %>"
|
23
|
-
GROUP="<%= group %>"
|
24
|
-
|
25
|
-
case "$1" in
|
26
|
-
configure)
|
27
|
-
|
28
|
-
if [ ! -f $PREFIX/$NAME/bin/$NAME.rb ]; then
|
29
|
-
mv $PREFIX/$NAME/bin/$NAME $PREFIX/$NAME/bin/$NAME.rb
|
30
|
-
fi
|
31
|
-
echo "#!/usr/bin/ruby1.9.1
|
32
|
-
require '$PREFIX/$NAME/bin/$NAME'
|
33
|
-
" > /usr/bin/$NAME && chmod a+x /usr/bin/$NAME
|
34
|
-
# Creating the user if it does not exist
|
35
|
-
if ! getent passwd $USER > /dev/null; then
|
36
|
-
adduser --no-create-home --system --group $GROUP
|
37
|
-
fi
|
38
|
-
chown -R $USER.$GROUP /etc/$NAME/
|
39
|
-
chown -R $USER.$GROUP /var/db/$NAME/
|
40
|
-
chown -R $USER.$GROUP /var/log/$NAME/
|
41
|
-
;;
|
42
|
-
|
43
|
-
abort-upgrade|abort-remove|abort-deconfigure)
|
44
|
-
;;
|
45
|
-
|
46
|
-
*)
|
47
|
-
echo "postinst called with unknown argument \`$1'" >&2
|
48
|
-
exit 1
|
49
|
-
;;
|
50
|
-
esac
|
51
|
-
|
52
|
-
# dh_installdeb will replace this with shell code automatically
|
53
|
-
# generated by other debhelper scripts.
|
54
|
-
|
55
|
-
#DEBHELPER#
|
56
|
-
|
57
|
-
exit 0
|
58
|
-
|
59
|
-
|
@@ -1,57 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
# prerm script for $NAME
|
3
|
-
#
|
4
|
-
# see: dh_installdeb(1)
|
5
|
-
|
6
|
-
set -e
|
7
|
-
|
8
|
-
# summary of how this script can be called:
|
9
|
-
# * <prerm> `remove'
|
10
|
-
# * <old-prerm> `upgrade' <new-version>
|
11
|
-
# * <new-prerm> `failed-upgrade' <old-version>
|
12
|
-
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
|
13
|
-
# * <deconfigured's-prerm> `deconfigure' `in-favour'
|
14
|
-
# <package-being-installed> <version> `removing'
|
15
|
-
# <conflicting-package> <version>
|
16
|
-
# for details, see http://www.debian.org/doc/debian-policy/ or
|
17
|
-
# the debian-policy package
|
18
|
-
|
19
|
-
NAME="<%= name %>"
|
20
|
-
PREFIX="<%= prefix %>"
|
21
|
-
USER="<%= user %>"
|
22
|
-
GROUP="<%= group %>"
|
23
|
-
|
24
|
-
cleanup()
|
25
|
-
{
|
26
|
-
/etc/init.d/$NAME stop || true
|
27
|
-
rm /usr/bin/$NAME
|
28
|
-
mv $PREFIX/$NAME/bin/$NAME.rb $PREFIX/$NAME/bin/$NAME
|
29
|
-
return 0;
|
30
|
-
}
|
31
|
-
|
32
|
-
case "$1" in
|
33
|
-
remove)
|
34
|
-
cleanup
|
35
|
-
deluser $USER || true
|
36
|
-
;;
|
37
|
-
upgrade|deconfigure)
|
38
|
-
cleanup
|
39
|
-
;;
|
40
|
-
|
41
|
-
failed-upgrade)
|
42
|
-
;;
|
43
|
-
|
44
|
-
*)
|
45
|
-
echo "prerm called with unknown argument \`$1'" >&2
|
46
|
-
exit 1
|
47
|
-
;;
|
48
|
-
esac
|
49
|
-
|
50
|
-
# dh_installdeb will replace this with shell code automatically
|
51
|
-
# generated by other debhelper scripts.
|
52
|
-
|
53
|
-
#DEBHELPER#
|
54
|
-
|
55
|
-
exit 0
|
56
|
-
|
57
|
-
|
data/lib/pkgr/pkgr.rake
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
# ROOT=. rake -I lib -f lib/pkgr/pkgr.rake pkgr:setup
|
2
|
-
|
3
|
-
require 'pkgr'
|
4
|
-
require 'fileutils'
|
5
|
-
|
6
|
-
ROOT = ENV.fetch('ROOT') { Rails.root }
|
7
|
-
CONFIG = ENV.fetch('CONFIG') { File.join(ROOT, "config/pkgr.yml") }
|
8
|
-
if File.exist?(CONFIG)
|
9
|
-
APP = Pkgr::App.new ROOT, CONFIG
|
10
|
-
APP.valid? || fail("There is an issue with the app you're trying to package: #{APP.errors.join(", ")}")
|
11
|
-
end
|
12
|
-
|
13
|
-
namespace :pkgr do
|
14
|
-
|
15
|
-
desc "Setup the required files for pkgr"
|
16
|
-
task :setup do
|
17
|
-
Pkgr.setup(ROOT)
|
18
|
-
end
|
19
|
-
|
20
|
-
if defined?(APP)
|
21
|
-
task :generate do
|
22
|
-
APP.generate_required_files
|
23
|
-
end
|
24
|
-
|
25
|
-
namespace :bump do
|
26
|
-
%w{patch minor major custom}.each do |version|
|
27
|
-
desc "Increments the #{version} version. If using :custom, then you can pass a specific VERSION environment variable."
|
28
|
-
task version.to_sym do
|
29
|
-
APP.bump!(version.to_sym, ENV['VERSION'])
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
namespace :build do
|
35
|
-
desc "Builds the debian package"
|
36
|
-
task :deb do
|
37
|
-
build_host = ENV.fetch('HOST') { 'localhost' }
|
38
|
-
APP.build_debian_package(build_host)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
namespace :release do
|
43
|
-
desc "Release the latest package on a custom APT repository"
|
44
|
-
task :deb do
|
45
|
-
apt_host = ENV.fetch('HOST') { 'localhost' }
|
46
|
-
APP.release_debian_package(apt_host)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|