pkgr 0.3.4 → 1.0.1.pre

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.
Files changed (43) hide show
  1. data/README.md +68 -463
  2. data/bin/pkgr +4 -52
  3. data/lib/pkgr.rb +13 -29
  4. data/lib/pkgr/app.rb +19 -4
  5. data/lib/pkgr/builder.rb +207 -0
  6. data/lib/pkgr/buildpack.rb +80 -0
  7. data/lib/pkgr/cli.rb +34 -158
  8. data/lib/pkgr/config.rb +65 -0
  9. data/lib/pkgr/data/distributions/debian/build_dependencies.yml +14 -0
  10. data/lib/pkgr/data/{debian → distributions/debian}/cron.d +0 -0
  11. data/lib/pkgr/data/distributions/debian/default.erb +12 -0
  12. data/lib/pkgr/data/distributions/debian/dependencies.yml +17 -0
  13. data/lib/pkgr/data/distributions/debian/hooks/postinstall.sh +27 -0
  14. data/lib/pkgr/data/distributions/debian/hooks/preinstall.sh +9 -0
  15. data/lib/pkgr/data/{debian → distributions/debian}/logrotate.erb +0 -0
  16. data/lib/pkgr/data/distributions/debian/runner.erb +122 -0
  17. data/lib/pkgr/data/distributions/debian/upstart/master.conf.erb +7 -0
  18. data/lib/pkgr/data/distributions/debian/upstart/process.conf.erb +7 -0
  19. data/lib/pkgr/data/distributions/debian/upstart/process_master.conf.erb +2 -0
  20. data/lib/pkgr/dispatcher.rb +51 -0
  21. data/lib/pkgr/distributions.rb +18 -0
  22. data/lib/pkgr/distributions/debian.rb +157 -0
  23. data/lib/pkgr/git.rb +24 -0
  24. data/lib/pkgr/process.rb +18 -0
  25. data/lib/pkgr/templates/dir_template.rb +14 -0
  26. data/lib/pkgr/templates/file_template.rb +38 -0
  27. data/lib/pkgr/version.rb +1 -1
  28. metadata +93 -26
  29. data/lib/pkgr/data/debian/changelog +0 -0
  30. data/lib/pkgr/data/debian/compat.erb +0 -1
  31. data/lib/pkgr/data/debian/control.erb +0 -12
  32. data/lib/pkgr/data/debian/copyright.erb +0 -17
  33. data/lib/pkgr/data/debian/default.erb +0 -11
  34. data/lib/pkgr/data/debian/dirs.erb +0 -2
  35. data/lib/pkgr/data/debian/docs.erb +0 -0
  36. data/lib/pkgr/data/debian/init.d.erb +0 -155
  37. data/lib/pkgr/data/debian/install.erb +0 -16
  38. data/lib/pkgr/data/debian/links.erb +0 -5
  39. data/lib/pkgr/data/debian/postinst.erb +0 -59
  40. data/lib/pkgr/data/debian/prerm.erb +0 -57
  41. data/lib/pkgr/data/debian/rules.erb +0 -7
  42. data/lib/pkgr/pkgr.rake +0 -50
  43. 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,5 +0,0 @@
1
- <% config_files.each do |file| %>
2
- etc/<%= name %>/<%= file %> <%= pkg_prefix %>/<%= name %>/config/<%= file %>
3
- <% end %>
4
- var/log/<%= name %> <%= pkg_prefix %>/<%= name %>/log
5
- var/db/<%= name %> <%= pkg_prefix %>/<%= name %>/db
@@ -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
-
@@ -1,7 +0,0 @@
1
- #!/usr/bin/make -f
2
-
3
- export DH_VERBOSE=1
4
-
5
-
6
- %:
7
- dh $@
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
data/lib/pkgr/railtie.rb DELETED
@@ -1,7 +0,0 @@
1
- module Pkgr
2
- class Railtie < Rails::Railtie
3
- rake_tasks do
4
- load File.expand_path("../pkgr.rake", __FILE__)
5
- end
6
- end
7
- end