pkgr 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. data/README.md +16 -2
  2. data/data/build_dependencies/centos.yml +13 -0
  3. data/{lib/pkgr/data/distributions/debian/build_dependencies.yml → data/build_dependencies/debian.yml} +2 -2
  4. data/data/build_dependencies/ubuntu.yml +15 -0
  5. data/data/buildpacks/centos-6 +2 -0
  6. data/data/buildpacks/debian-6 +2 -0
  7. data/{lib/pkgr/data/distributions/debian/buildpacks/debian_wheezy → data/buildpacks/debian-7} +1 -1
  8. data/data/buildpacks/ubuntu-10.04 +2 -0
  9. data/{lib/pkgr/data/distributions/debian/buildpacks/ubuntu_precise → data/buildpacks/ubuntu-12.04} +1 -1
  10. data/{lib/pkgr/data/distributions/debian/runner.erb → data/cli/cli.sh.erb} +105 -57
  11. data/data/dependencies/centos.yml +9 -0
  12. data/{lib/pkgr/data/distributions/debian/dependencies.yml → data/dependencies/debian.yml} +2 -2
  13. data/data/dependencies/ubuntu.yml +21 -0
  14. data/data/environment/default.erb +9 -0
  15. data/{lib/pkgr/data/distributions/debian → data}/hooks/postinstall.sh +7 -4
  16. data/data/hooks/preinstall.sh +13 -0
  17. data/{lib/pkgr/data/distributions/debian/sysv → data/init/sysv/lsb-3.1}/master.erb +0 -0
  18. data/{lib/pkgr/data/distributions/debian/sysv → data/init/sysv/lsb-3.1}/process.erb +84 -11
  19. data/{lib/pkgr/data/distributions/debian/sysv → data/init/sysv/lsb-3.1}/process_master.erb +0 -0
  20. data/{lib/pkgr/data/distributions/debian/upstart → data/init/upstart/1.5}/init.d.sh.erb +0 -0
  21. data/{lib/pkgr/data/distributions/debian/upstart → data/init/upstart/1.5}/master.conf.erb +0 -0
  22. data/{lib/pkgr/data/distributions/debian/upstart → data/init/upstart/1.5}/process.conf.erb +0 -0
  23. data/{lib/pkgr/data/distributions/debian/upstart → data/init/upstart/1.5}/process_master.conf.erb +0 -0
  24. data/{lib/pkgr/data/distributions/debian → data/logrotate}/logrotate.erb +0 -0
  25. data/lib/pkgr.rb +1 -1
  26. data/lib/pkgr/builder.rb +8 -2
  27. data/lib/pkgr/buildpack.rb +1 -0
  28. data/lib/pkgr/cli.rb +12 -6
  29. data/lib/pkgr/config.rb +20 -2
  30. data/lib/pkgr/distributions.rb +9 -7
  31. data/lib/pkgr/distributions/base.rb +159 -0
  32. data/lib/pkgr/distributions/centos.rb +12 -0
  33. data/lib/pkgr/distributions/debian.rb +39 -163
  34. data/lib/pkgr/distributions/redhat.rb +51 -0
  35. data/lib/pkgr/distributions/runner.rb +39 -0
  36. data/lib/pkgr/distributions/ubuntu.rb +17 -0
  37. data/lib/pkgr/version.rb +1 -1
  38. metadata +30 -29
  39. data/lib/pkgr/app.rb +0 -279
  40. data/lib/pkgr/data/bin/executable +0 -36
  41. data/lib/pkgr/data/config/pre_boot.rb +0 -15
  42. data/lib/pkgr/data/distributions/debian/buildpacks/debian_squeeze +0 -2
  43. data/lib/pkgr/data/distributions/debian/buildpacks/ubuntu_lucid +0 -2
  44. data/lib/pkgr/data/distributions/debian/cron.d +0 -4
  45. data/lib/pkgr/data/distributions/debian/default.erb +0 -12
  46. data/lib/pkgr/data/distributions/debian/hooks/preinstall.sh +0 -9
  47. data/lib/pkgr/data/pkgr.yml +0 -32
  48. data/lib/pkgr/distributions/debian_squeeze.rb +0 -11
  49. data/lib/pkgr/distributions/debian_wheezy.rb +0 -11
  50. data/lib/pkgr/distributions/ubuntu_lucid.rb +0 -15
  51. data/lib/pkgr/distributions/ubuntu_precise.rb +0 -15
data/README.md CHANGED
@@ -19,9 +19,10 @@ See <https://pkgr.io/showcase> for examples of apps packaged with `pkgr` (Gitlab
19
19
 
20
20
  ## Installation
21
21
 
22
- Install `pkgr` on a debian based build machine:
22
+ On a debian based build machine:
23
23
 
24
- sudo apt-get install ruby1.9.1-full
24
+ sudo apt-get update
25
+ sudo apt-get install -y build-essential ruby1.9.1-full rubygems1.9.1
25
26
  sudo gem install pkgr
26
27
 
27
28
  ## Usage
@@ -117,6 +118,19 @@ Finally, it's a great way to share your open source software with your users and
117
118
 
118
119
  * Your application must be Heroku compatible, meaning you should be able to set your main app's configuration via environment variables.
119
120
 
121
+ ## Troubleshooting
122
+
123
+ If you're on older versions of Debian, you may need to append `/var/lib/gems/1.9.1/bin` to your PATH to "see" the `pkgr` command:
124
+
125
+ export PATH="$PATH:/var/lib/gems/1.9.1/bin"
126
+
127
+ If you get the following error `ERROR: While executing gem ... (ArgumentError) invalid byte sequence in US-ASCII` while trying to install `pkgr`, try setting a proper locale, and then retry:
128
+
129
+ sudo locale-gen en_US.UTF-8
130
+ export LANG=en_US.UTF-8
131
+ export LC_ALL=en_US.UTF-8
132
+ sudo gem install pkgr
133
+
120
134
  ## Authors
121
135
 
122
136
  * Cyril Rohr <cyril.rohr@gmail.com> - <http://crohr.me>
@@ -0,0 +1,13 @@
1
+ default:
2
+ - curl
3
+ - gcc
4
+ - gcc-c++
5
+ - kernel-devel
6
+ - openssl-devel
7
+ - readline-devel
8
+ - libxml2-devel
9
+ - libxslt-devel
10
+ - libevent-devel
11
+ - postgresql-devel
12
+ - mysql-devel
13
+ - sqlite-devel
@@ -9,7 +9,7 @@ default:
9
9
  - libxslt1-dev
10
10
  - libreadline-dev
11
11
  - build-essential
12
- squeeze:
12
+ debian-6:
13
13
  - libssl0.9.8
14
- wheezy:
14
+ debian-7:
15
15
  - libssl1.0.0
@@ -0,0 +1,15 @@
1
+ default:
2
+ - curl
3
+ - libmysqlclient-dev
4
+ - libpq-dev
5
+ - libsqlite3-0
6
+ - libevent-dev
7
+ - libssl-dev
8
+ - libxml2-dev
9
+ - libxslt1-dev
10
+ - libreadline-dev
11
+ - build-essential
12
+ ubuntu-10.04:
13
+ - libssl0.9.8
14
+ ubuntu-12.04:
15
+ - libssl1.0.0
@@ -0,0 +1,2 @@
1
+ https://github.com/pkgr/heroku-buildpack-ruby.git#487c79e8cc3ab038ac13fef82d1e59a9c6ac39e6,BUILDPACK_VENDOR_URL="https://s3-external-1.amazonaws.com/pkgr-buildpack-ruby/20140408175240-centos-6.4",BUILDPACK_NODE_VERSION="0.6.8",CURL_CONNECT_TIMEOUT=60,CURL_TIMEOUT=300
2
+ https://github.com/heroku/heroku-buildpack-nodejs.git#v58
@@ -0,0 +1,2 @@
1
+ https://github.com/heroku/heroku-buildpack-ruby.git,CURL_CONNECT_TIMEOUT=60,CURL_TIMEOUT=300
2
+ https://github.com/heroku/heroku-buildpack-nodejs.git
@@ -1,2 +1,2 @@
1
- https://github.com/pkgr/heroku-buildpack-ruby.git#487c79e8cc3ab038ac13fef82d1e59a9c6ac39e6,BUILDPACK_VENDOR_URL="https://s3-external-1.amazonaws.com/pkgr-buildpack-ruby/20140408175240-debian-7.4",BUILDPACK_NODE_VERSION="0.6.8"
1
+ https://github.com/pkgr/heroku-buildpack-ruby.git#487c79e8cc3ab038ac13fef82d1e59a9c6ac39e6,BUILDPACK_VENDOR_URL="https://s3-external-1.amazonaws.com/pkgr-buildpack-ruby/20140408175240-debian-7.4",BUILDPACK_NODE_VERSION="0.6.8",CURL_CONNECT_TIMEOUT=60,CURL_TIMEOUT=300
2
2
  https://github.com/heroku/heroku-buildpack-nodejs.git#v58
@@ -0,0 +1,2 @@
1
+ https://github.com/heroku/heroku-buildpack-ruby.git,CURL_CONNECT_TIMEOUT=60,CURL_TIMEOUT=300
2
+ https://github.com/heroku/heroku-buildpack-nodejs.git
@@ -1,2 +1,2 @@
1
- https://github.com/pkgr/heroku-buildpack-ruby.git#487c79e8cc3ab038ac13fef82d1e59a9c6ac39e6,BUILDPACK_VENDOR_URL="https://s3-external-1.amazonaws.com/pkgr-buildpack-ruby/20140408175240-ubuntu-12.04",BUILDPACK_NODE_VERSION="0.6.8"
1
+ https://github.com/pkgr/heroku-buildpack-ruby.git#487c79e8cc3ab038ac13fef82d1e59a9c6ac39e6,BUILDPACK_VENDOR_URL="https://s3-external-1.amazonaws.com/pkgr-buildpack-ruby/20140408175240-ubuntu-12.04",BUILDPACK_NODE_VERSION="0.6.8",CURL_CONNECT_TIMEOUT=60,CURL_TIMEOUT=300
2
2
  https://github.com/heroku/heroku-buildpack-nodejs.git#v58
@@ -2,61 +2,100 @@
2
2
  # Generated by pkgr.
3
3
 
4
4
  set -e
5
+ set -o pipefail
5
6
 
6
- EXECUTABLE=$(basename $0)
7
+ APP_NAME=$(basename $0)
8
+ # useful for testing
9
+ ROOT_PATH=${ROOT_PATH:="/"}
7
10
 
8
- function usage {
11
+ # Helper function that returns the real path, based on the given ROOT_PATH
12
+ _p() {
13
+ echo "${ROOT_PATH%%/}${1}"
14
+ }
15
+
16
+ usage() {
9
17
  echo "Usage:"
10
- echo " $EXECUTABLE run COMMAND [options]"
11
- echo " $EXECUTABLE scale TYPE=NUM"
12
- echo " $EXECUTABLE config:get VAR"
13
- echo " $EXECUTABLE config:set VAR=VALUE"
14
- exit 1
18
+ echo " $APP_NAME run COMMAND [options]"
19
+ echo " $APP_NAME scale TYPE=NUM"
20
+ echo " $APP_NAME logs [--tail|-n NUMBER]"
21
+ echo " $APP_NAME config:get VAR"
22
+ echo " $APP_NAME config:set VAR=VALUE"
23
+ }
24
+
25
+
26
+ # Returns the type of process manager supported by the current distribution.
27
+ runner() {
28
+ if [ -f $(_p /etc/debian_version) ]; then
29
+ case "$(cat $(_p /etc/debian_version))" in
30
+ wheezy*|squeeze*|jessie*)
31
+ echo "upstart"
32
+ ;;
33
+ *)
34
+ echo "sysv"
35
+ ;;
36
+ esac
37
+ elif [ -f $(_p /etc/redhat-release) ]; then
38
+ echo "upstart"
39
+ fi
15
40
  }
16
41
 
17
42
  if [ ! 0 -eq ${EUID} ]; then
18
- echo "You must be executing with root privileges to launch commands. Either log in as root, use sudo, or add sudo privileges for running ${EXECUTABLE} with your user."
43
+ echo "You must be executing with root privileges to launch commands."
44
+ echo "Either log in as root, use sudo, or add sudo privileges for running ${APP_NAME} with your user."
19
45
  exit 1
20
46
  fi
21
47
 
22
- DEFAULT_FILE=/etc/default/<%= name %>
48
+ DEFAULT_FILE=$(_p "/etc/default/${APP_NAME}")
23
49
 
24
50
  # Source all environment variables for the app. This must be done as
25
51
  # privileged user since the config variables are only readable by root.
26
52
  . ${DEFAULT_FILE}
27
53
 
28
- # Returns the type of process manager supported by the current distribution.
29
- function process_manager() {
30
- version=$(cat /etc/debian_version)
31
-
32
- case "$version" in
33
- wheezy*|squeeze*)
34
- init_system="upstart"
35
- ;;
36
- *)
37
- init_system="sysv"
38
- ;;
39
- esac
54
+ for file in $(_p "/etc/${APP_NAME}/conf.d")/*; do
55
+ if [ -f $file ]; then . $file; fi
56
+ done
40
57
 
41
- echo "${init_system}"
42
- }
58
+ for file in $(_p "${APP_HOME}/.profile.d")/*.sh; do
59
+ # .profile.d scripts assume HOME indicates the path to the app directory
60
+ if [ -f $file ]; then HOME=${APP_HOME} . $file; fi
61
+ done
43
62
 
44
63
  # You can force a specific process manager by setting the PROCESS_MANAGER
45
64
  # environment variable.
46
- PROCESS_MANAGER=${PROCESS_MANAGER:=$(process_manager)}
65
+ PROCESS_MANAGER=${PROCESS_MANAGER:=$(runner)}
47
66
 
48
- function current_number_of_processes() {
67
+ # Return all the environment variables accessible to the app.
68
+ show_env() {
69
+ env -i ROOT_PATH=${ROOT_PATH} ${0} run env | sort
70
+ }
71
+
72
+ logs() {
73
+ if [ "$1" = "" ]; then
74
+ for file in $(_p "/var/log/${APP_NAME}")/*.log ; do
75
+ echo "==> ${file} <=="
76
+ cat "${file}"
77
+ done
78
+ else
79
+ tail $(_p "/var/log/${APP_NAME}")/*.log $@
80
+ fi
81
+ }
82
+
83
+ tail_logs() {
84
+ tail -f $(_p "/var/log/${APP_NAME}")/*.log
85
+ }
86
+
87
+ current_number_of_processes() {
49
88
  PROCESS_NAME="$1"
50
89
  if [ "${PROCESS_MANAGER}" = "upstart" ]; then
51
- echo $(ls -rv1 /etc/init/${APP_NAME}-${PROCESS_NAME}-*.conf 2>/dev/null | head -1 | sed -r 's/.*\-([0-9]+)\.conf/\1/g')
90
+ echo $(ls -rv1 $(_p /etc/init/)${APP_NAME}-${PROCESS_NAME}-*.conf 2>/dev/null | head -1 | sed -r 's/.*\-([0-9]+)\.conf/\1/g')
52
91
  else
53
- echo $(ls -rv1 /etc/init.d/${APP_NAME}-${PROCESS_NAME}-* 2>/dev/null | head -1 | sed -r 's/.*\-([0-9]+)/\1/g')
92
+ echo $(ls -rv1 $(_p /etc/init.d/)${APP_NAME}-${PROCESS_NAME}-* 2>/dev/null | head -1 | sed -r 's/.*\-([0-9]+)/\1/g')
54
93
  fi
55
94
 
56
95
  return 0
57
96
  }
58
97
 
59
- function update_port() {
98
+ update_port() {
60
99
  file="$1"
61
100
  process_name="$2"
62
101
  port="$3"
@@ -71,7 +110,7 @@ function update_port() {
71
110
  fi
72
111
  }
73
112
 
74
- function scale_up() {
113
+ scale_up() {
75
114
  PROCESS_NAME="${1}"
76
115
  CURRENT_SCALE=${2}
77
116
  NEW_SCALE=${3}
@@ -80,15 +119,18 @@ function scale_up() {
80
119
  echo "Scaling up..."
81
120
 
82
121
  if [ "${PROCESS_MANAGER}" = "upstart" ]; then
83
- cp "${HOME}/vendor/pkgr/scaling/upstart/${APP_NAME}.conf" /etc/init/
84
- cp "${HOME}/vendor/pkgr/scaling/upstart/${APP_NAME}-${PROCESS_NAME}.conf" /etc/init/
122
+ # copy master
123
+ cp $(_p "${APP_HOME}/vendor/pkgr/scaling/upstart/${APP_NAME}.conf") $(_p "/etc/init/")
124
+ # copy master process
125
+ cp $(_p "${APP_HOME}/vendor/pkgr/scaling/upstart/${APP_NAME}-${PROCESS_NAME}.conf") $(_p "/etc/init/")
126
+
85
127
  for i in $(seq ${SCALE_DELTA}); do
86
128
  index=$((${i} + ${CURRENT_SCALE}))
87
129
  PROCESS_ID="${APP_NAME}-${PROCESS_NAME}-${index}"
88
- cp "${HOME}/vendor/pkgr/scaling/upstart/${APP_NAME}-${PROCESS_NAME}-PROCESS_NUM.conf" "/etc/init/${PROCESS_ID}.conf"
130
+ cp $(_p "${APP_HOME}/vendor/pkgr/scaling/upstart/${APP_NAME}-${PROCESS_NAME}-PROCESS_NUM.conf") $(_p "/etc/init/${PROCESS_ID}.conf")
89
131
  port=$((${PORT} + ${index} - 1))
90
132
 
91
- update_port "/etc/init/${PROCESS_ID}.conf" "${PROCESS_NAME}" $port $index
133
+ update_port $(_p "/etc/init/${PROCESS_ID}.conf") "${PROCESS_NAME}" $port $index
92
134
 
93
135
  service "${PROCESS_ID}" start
94
136
  done
@@ -96,29 +138,29 @@ function scale_up() {
96
138
  service ${APP_NAME}-${PROCESS_NAME} start || true
97
139
  service ${APP_NAME} start || true
98
140
  else
99
- cp "${HOME}/vendor/pkgr/scaling/sysv/${APP_NAME}" /etc/init.d/
100
- chmod a+x /etc/init.d/${APP_NAME}
141
+ cp $(_p "${APP_HOME}/vendor/pkgr/scaling/sysv/${APP_NAME}") $(_p /etc/init.d/)
142
+ chmod a+x $(_p "/etc/init.d/${APP_NAME}")
101
143
  update-rc.d ${APP_NAME} defaults
102
- cp "${HOME}/vendor/pkgr/scaling/sysv/${APP_NAME}-${PROCESS_NAME}" /etc/init.d/
103
- chmod a+x /etc/init.d/${APP_NAME}-${PROCESS_NAME}
144
+ cp $(_p "${APP_HOME}/vendor/pkgr/scaling/sysv/${APP_NAME}-${PROCESS_NAME}") $(_p /etc/init.d/)
145
+ chmod a+x $(_p "/etc/init.d/${APP_NAME}-${PROCESS_NAME}")
104
146
  update-rc.d ${APP_NAME}-${PROCESS_NAME} defaults
105
147
  for i in $(seq ${SCALE_DELTA}); do
106
148
  index=$((${i} + ${CURRENT_SCALE}))
107
149
  PROCESS_ID="${APP_NAME}-${PROCESS_NAME}-${index}"
108
- cp "${HOME}/vendor/pkgr/scaling/sysv/${APP_NAME}-${PROCESS_NAME}-PROCESS_NUM" "/etc/init.d/${PROCESS_ID}"
150
+ cp $(_p "${APP_HOME}/vendor/pkgr/scaling/sysv/${APP_NAME}-${PROCESS_NAME}-PROCESS_NUM") $(_p "/etc/init.d/${PROCESS_ID}")
109
151
  port=$((${PORT} + ${index} - 1))
110
152
 
111
- update_port "/etc/init.d/${PROCESS_ID}" "${PROCESS_NAME}" $port $index
153
+ update_port $(_p "/etc/init.d/${PROCESS_ID}") "${PROCESS_NAME}" $port $index
112
154
 
113
- chmod a+x /etc/init.d/${PROCESS_ID}
155
+ chmod a+x $(_p "/etc/init.d/${PROCESS_ID}")
114
156
  update-rc.d ${PROCESS_ID} defaults
115
- /etc/init.d/${PROCESS_ID} start
157
+ $(_p "/etc/init.d/${PROCESS_ID}") start
116
158
  done
117
159
  fi
118
160
  echo "--> done."
119
161
  }
120
162
 
121
- function scale_down() {
163
+ scale_down() {
122
164
  PROCESS_NAME="${1}"
123
165
  CURRENT_SCALE=${2}
124
166
  NEW_SCALE=${3}
@@ -131,18 +173,18 @@ function scale_down() {
131
173
 
132
174
  if [ "${PROCESS_MANAGER}" = "upstart" ]; then
133
175
  service "${PROCESS_ID}" stop
134
- rm -f "/etc/init/${PROCESS_ID}.conf"
176
+ rm -f $(_p "/etc/init/${PROCESS_ID}.conf")
135
177
  else
136
- /etc/init.d/${PROCESS_ID} stop
178
+ $(_p "/etc/init.d/${PROCESS_ID}") stop
137
179
  update-rc.d -f ${PROCESS_ID} remove
138
- rm -f "/etc/init.d/${PROCESS_ID}"
180
+ rm -f $(_p "/etc/init.d/${PROCESS_ID}")
139
181
  fi
140
182
  done
141
183
  echo "--> done."
142
184
  }
143
185
 
144
186
  # Scale processes
145
- function scale() {
187
+ scale() {
146
188
  PROCESS_NAME="$1"
147
189
  NEW_SCALE="$2"
148
190
 
@@ -159,10 +201,6 @@ function scale() {
159
201
  fi
160
202
  }
161
203
 
162
- # Return all the environment variables accessible to the app.
163
- function show_env() {
164
- env -i ${0} run env | sort
165
- }
166
204
 
167
205
  while : ; do
168
206
  case "$1" in
@@ -171,11 +209,11 @@ while : ; do
171
209
  COMMAND="$2"
172
210
  shift 2
173
211
 
174
- runnable=$(echo -n "cd ${HOME} && exec")
212
+ runnable=$(echo -n "exec")
175
213
 
176
- if [ -f "${HOME}/vendor/pkgr/processes/${COMMAND}" ]; then
214
+ if [ -f $(_p "${APP_HOME}/vendor/pkgr/processes/${COMMAND}") ]; then
177
215
  # Command alias defined in Procfile
178
- runnable="${runnable}$(printf " %q" "vendor/pkgr/processes/${COMMAND}" "$@")"
216
+ runnable="${runnable}$(printf " %q" $(_p "${APP_HOME}/vendor/pkgr/processes/${COMMAND}") "$@")"
179
217
  else
180
218
  # Everything else.
181
219
  #
@@ -188,7 +226,7 @@ while : ; do
188
226
  # Do not use su, to avoid creating a new process. Note: chroot version
189
227
  # is too old on Ubuntu Lucid, so this will fail. It works on Debian
190
228
  # Squeeze though (and later).
191
- exec chroot --userspec ${APP_USER}:${APP_GROUP} / sh -c "$runnable"
229
+ exec chroot --userspec ${APP_USER}:${APP_GROUP} "/" sh -c "cd $(_p ${APP_HOME}) && $runnable"
192
230
 
193
231
  break ;;
194
232
 
@@ -205,6 +243,15 @@ while : ; do
205
243
  done
206
244
  break ;;
207
245
 
246
+ logs)
247
+ shift
248
+ if [ "$1" = "--tail" ]; then
249
+ tail_logs
250
+ else
251
+ logs ${@}
252
+ fi
253
+ break;;
254
+
208
255
  config)
209
256
  show_env
210
257
  break;;
@@ -217,11 +264,12 @@ while : ; do
217
264
  VAR=${CONFIG[0]:?"Invalid variable name"}
218
265
  VALUE=${CONFIG[1]:?"Invalid value"}
219
266
 
220
- DEFAULT_CONF_FILE="/etc/${APP_NAME}/conf.d/other"
267
+ CONFIG_FILE=$(_p "/etc/${APP_NAME}/conf.d/other")
268
+ touch ${CONFIG_FILE}
221
269
 
222
- sed -i -r "s/^.*${VAR}.*$//g" /etc/${APP_NAME}/conf.d/*
270
+ sed -i -r "s/^.*${VAR}.*$//g" $(_p "/etc/${APP_NAME}/conf.d")/*
223
271
 
224
- echo "export ${VAR}=${VALUE}" >> "${DEFAULT_CONF_FILE}"
272
+ echo "export ${VAR}=${VALUE}" >> "${CONFIG_FILE}"
225
273
 
226
274
  break;;
227
275
 
@@ -0,0 +1,9 @@
1
+ default:
2
+ - openssl
3
+ - readline
4
+ - libxml2
5
+ - libxslt
6
+ - libevent
7
+ - postgresql-libs
8
+ - mysql-libs
9
+ - sqlite
@@ -7,13 +7,13 @@ default:
7
7
  - libxslt1.1
8
8
  - libreadline5
9
9
  - libreadline6
10
- squeeze:
10
+ debian-6:
11
11
  - libssl0.9.8
12
12
  - libmysqlclient16
13
13
  - libevent-1.4-2
14
14
  - libevent-core-1.4-2
15
15
  - libevent-extra-1.4-2
16
- wheezy:
16
+ debian-7:
17
17
  - libssl1.0.0
18
18
  - libmysqlclient18
19
19
  - libevent-2.0-5
@@ -0,0 +1,21 @@
1
+ default:
2
+ - mysql-common
3
+ - libpq5
4
+ - libsqlite3-0
5
+ - openssl
6
+ - libxml2
7
+ - libxslt1.1
8
+ - libreadline5
9
+ - libreadline6
10
+ ubuntu-10.04:
11
+ - libssl0.9.8
12
+ - libmysqlclient16
13
+ - libevent-1.4-2
14
+ - libevent-core-1.4-2
15
+ - libevent-extra-1.4-2
16
+ ubuntu-12.04:
17
+ - libssl1.0.0
18
+ - libmysqlclient18
19
+ - libevent-2.0-5
20
+ - libevent-core-2.0-5
21
+ - libevent-extra-2.0-5
@@ -0,0 +1,9 @@
1
+ # Generated by pkgr
2
+ export APP_HOME="<%= home %>"
3
+ export APP_NAME="<%= name %>"
4
+ export APP_GROUP="<%= group %>"
5
+ export APP_USER="<%= user %>"
6
+ export HOME="/home/<%= user %>"
7
+ <% if runner %>
8
+ export PROCESS_MANAGER="<%= runner.split("-").first %>"
9
+ <% end %>
@@ -5,11 +5,11 @@ set -e
5
5
  APP_NAME="<%= name %>"
6
6
  APP_USER="<%= user %>"
7
7
  APP_GROUP="<%= group %>"
8
- HOME="/opt/${APP_NAME}"
9
- HOME_LOGS="${HOME}/log"
8
+ APP_HOME="<%= home %>"
9
+ HOME_LOGS="${APP_HOME}/log"
10
10
  LOGS="/var/log/${APP_NAME}"
11
11
 
12
- chown -R ${APP_USER}.${APP_GROUP} ${HOME}
12
+ chown -R ${APP_USER}.${APP_GROUP} ${APP_HOME}
13
13
 
14
14
  # link app log directory to /var/log/NAME
15
15
  rm -rf ${HOME_LOGS}
@@ -24,4 +24,7 @@ export DATABASE_URL=db_adapter://db_user:db_password@db_host/db_name
24
24
  export PORT=\${PORT:=6000}
25
25
  CONF
26
26
 
27
- chmod -R 0600 /etc/${APP_NAME}/conf.d
27
+ chown -R ${APP_USER}.${APP_GROUP} /etc/${APP_NAME}
28
+
29
+ chmod 0750 /etc/${APP_NAME} /etc/${APP_NAME}/conf.d
30
+ find /etc/${APP_NAME} -type f -exec chmod 0640 {} +