pkgr 1.2.0 → 1.3.0

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 (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 {} +