pkgr 1.9.0 → 1.9.1
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.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/data/build_dependencies/centos.yml +2 -1
- data/data/build_dependencies/debian.yml +17 -2
- data/data/build_dependencies/sles.yml +6 -1
- data/data/build_dependencies/ubuntu.yml +12 -1
- data/data/buildpacks/amazon-2014 +3 -3
- data/data/buildpacks/amazon-2015 +3 -3
- data/data/buildpacks/centos-10 +4 -0
- data/data/buildpacks/centos-6 +3 -3
- data/data/buildpacks/centos-7 +3 -3
- data/data/buildpacks/centos-8 +3 -3
- data/data/buildpacks/centos-9 +4 -0
- data/data/buildpacks/debian-10 +3 -3
- data/data/buildpacks/debian-11 +3 -3
- data/data/buildpacks/debian-12 +4 -0
- data/data/buildpacks/debian-13 +4 -0
- data/data/buildpacks/debian-6 +2 -2
- data/data/buildpacks/debian-7 +3 -3
- data/data/buildpacks/debian-8 +3 -3
- data/data/buildpacks/debian-9 +3 -3
- data/data/buildpacks/fedora-20 +3 -3
- data/data/buildpacks/sles-11 +3 -3
- data/data/buildpacks/sles-12 +3 -3
- data/data/buildpacks/sles-15 +3 -0
- data/data/buildpacks/sles-16 +3 -0
- data/data/buildpacks/ubuntu-10.04 +3 -3
- data/data/buildpacks/ubuntu-12.04 +3 -3
- data/data/buildpacks/ubuntu-14.04 +3 -3
- data/data/buildpacks/ubuntu-16.04 +3 -3
- data/data/buildpacks/ubuntu-18.04 +3 -3
- data/data/buildpacks/ubuntu-20.04 +3 -3
- data/data/buildpacks/ubuntu-22.04 +3 -3
- data/data/buildpacks/ubuntu-24.04 +4 -0
- data/data/buildpacks/ubuntu-26.04 +4 -0
- data/data/cli/cli.sh.erb +98 -31
- data/data/dependencies/centos.yml +4 -0
- data/data/dependencies/sles.yml +2 -0
- data/data/dependencies/ubuntu.yml +16 -1
- data/data/hooks/postinstall.sh +5 -5
- data/data/hooks/preinstall.sh +1 -1
- data/data/init/systemd/default/process.service.erb +2 -3
- data/data/init/sysv/lsb-3.1/process.erb +4 -2
- data/lib/pkgr/builder.rb +18 -4
- data/lib/pkgr/buildpack.rb +22 -1
- data/lib/pkgr/config.rb +12 -1
- data/lib/pkgr/cron.rb +1 -1
- data/lib/pkgr/distributions/amazon.rb +3 -5
- data/lib/pkgr/distributions/base.rb +16 -5
- data/lib/pkgr/distributions/debian.rb +7 -3
- data/lib/pkgr/distributions/fedora.rb +4 -0
- data/lib/pkgr/distributions/redhat.rb +0 -1
- data/lib/pkgr/distributions/sles.rb +9 -1
- data/lib/pkgr/env.rb +4 -3
- data/lib/pkgr/fpm_command.rb +2 -0
- data/lib/pkgr/version.rb +1 -1
- data/lib/pkgr.rb +1 -0
- metadata +46 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 221a39c168209a15e86c79ac926c8b42d89edc92e5c494682e43a75164d99148
|
|
4
|
+
data.tar.gz: e9da34d11459217574094d010f8c7f1674b4daf1f7d24ef499134ab114ecfbcd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 305ab83a398c4152ed1da1dd5a1346d56f884decc246a02f4fe3f7e46c1c70da7dcb2c0561517d171cdec53b3cc3aee13380bc5f90bd8f80cbefdeebcb3653f2
|
|
7
|
+
data.tar.gz: dee612e060415180d84b5c67685338c61cc5485e76257ad75a7c6c6dfb673063e74843cb33d2c554a847553f503acdb3adf594a77dadcf421723abbb6a180d95
|
data/README.md
CHANGED
|
@@ -29,20 +29,28 @@ They may just work.
|
|
|
29
29
|
|
|
30
30
|
## Supported distributions (64bits only)
|
|
31
31
|
|
|
32
|
+
* Ubuntu 26.04
|
|
33
|
+
* Ubuntu 24.04 ("noble")
|
|
32
34
|
* Ubuntu 22.04 ("jammy")
|
|
33
35
|
* Ubuntu 20.04 ("focal")
|
|
34
36
|
* Ubuntu 18.04 ("bionic")
|
|
35
37
|
* Ubuntu 16.04 ("xenial")
|
|
36
38
|
* Ubuntu 14.04 ("trusty")
|
|
37
39
|
* Ubuntu 12.04 ("precise")
|
|
40
|
+
* Debian 13 ("trixie")
|
|
41
|
+
* Debian 12 ("bookworm")
|
|
38
42
|
* Debian 11 ("bullseye")
|
|
39
43
|
* Debian 10 ("buster")
|
|
40
44
|
* Debian 9 ("stretch")
|
|
41
45
|
* Debian 8 ("jessie")
|
|
42
46
|
* Debian 7 ("wheezy")
|
|
47
|
+
* RHEL/CentOS 10
|
|
48
|
+
* RHEL/CentOS 9
|
|
43
49
|
* RHEL/CentOS 8
|
|
44
50
|
* RHEL/CentOS 7
|
|
45
51
|
* RHEL/CentOS 6
|
|
52
|
+
* Suse Linux Enterprise Server 16
|
|
53
|
+
* Suse Linux Enterprise Server 15
|
|
46
54
|
* Suse Linux Enterprise Server 12
|
|
47
55
|
* Suse Linux Enterprise Server 11
|
|
48
56
|
* Amazon Linux AMI 2015
|
|
@@ -206,7 +214,7 @@ Issue getting nokogiri to compile? Try the following based on this [comment](htt
|
|
|
206
214
|
|
|
207
215
|
## Authors
|
|
208
216
|
|
|
209
|
-
* Cyril Rohr <
|
|
217
|
+
* Cyril Rohr <https://cyrilrohr.com>. Other projects: [RunsOn - 10x cheaper GitHub Actions runners](https://runs-on.com), [PullPreview - Preview environments made simple](https://pullpreview.com).
|
|
210
218
|
|
|
211
219
|
## Copyright
|
|
212
220
|
|
|
@@ -3,7 +3,6 @@ default:
|
|
|
3
3
|
- libpq-dev
|
|
4
4
|
- libsqlite3-0
|
|
5
5
|
- libevent-dev
|
|
6
|
-
- libxml2-dev
|
|
7
6
|
- libxslt1-dev
|
|
8
7
|
- libreadline-dev
|
|
9
8
|
- build-essential
|
|
@@ -11,23 +10,39 @@ debian-6:
|
|
|
11
10
|
- libssl0.9.8
|
|
12
11
|
- libssl-dev
|
|
13
12
|
- libmysqlclient-dev
|
|
13
|
+
- libxml2-dev
|
|
14
14
|
debian-7:
|
|
15
15
|
- libssl1.0.0
|
|
16
16
|
- libssl-dev
|
|
17
17
|
- libmysqlclient-dev
|
|
18
|
+
- libxml2-dev
|
|
18
19
|
debian-8:
|
|
19
20
|
- libssl1.0.0
|
|
20
21
|
- libssl-dev
|
|
21
22
|
- libmysqlclient-dev
|
|
23
|
+
- libxml2-dev
|
|
22
24
|
debian-9:
|
|
23
25
|
- libssl1.0.2
|
|
24
26
|
- libssl1.0-dev
|
|
25
27
|
- default-libmysqlclient-dev
|
|
28
|
+
- libxml2-dev
|
|
26
29
|
debian-10:
|
|
27
30
|
- libssl1.1
|
|
28
31
|
- libssl-dev
|
|
29
32
|
- default-libmysqlclient-dev
|
|
33
|
+
- libxml2-dev
|
|
30
34
|
debian-11:
|
|
31
35
|
- libssl1.1
|
|
32
36
|
- libssl-dev
|
|
33
|
-
- default-libmysqlclient-dev
|
|
37
|
+
- default-libmysqlclient-dev
|
|
38
|
+
- libxml2-dev
|
|
39
|
+
debian-12:
|
|
40
|
+
- libssl3
|
|
41
|
+
- libssl-dev
|
|
42
|
+
- default-libmysqlclient-dev
|
|
43
|
+
- libxml2-dev
|
|
44
|
+
debian-13:
|
|
45
|
+
- libssl3
|
|
46
|
+
- libssl-dev
|
|
47
|
+
- default-libmysqlclient-dev
|
|
48
|
+
- libxml2-dev
|
|
@@ -7,12 +7,17 @@ default:
|
|
|
7
7
|
- libxml2-devel
|
|
8
8
|
- libxslt-devel
|
|
9
9
|
- libevent-devel
|
|
10
|
-
- libmysqlclient-devel
|
|
11
10
|
- sqlite3-devel
|
|
12
11
|
- timezone
|
|
13
12
|
sles-11:
|
|
13
|
+
- libmysqlclient-devel
|
|
14
14
|
- kernel-default-devel
|
|
15
15
|
- postgresql94-devel
|
|
16
16
|
sles-12:
|
|
17
|
+
- libmysqlclient-devel
|
|
17
18
|
- kernel-devel
|
|
18
19
|
- postgresql-devel
|
|
20
|
+
sles-15:
|
|
21
|
+
- postgresql-devel
|
|
22
|
+
sles-16:
|
|
23
|
+
- postgresql-devel
|
|
@@ -5,21 +5,32 @@ default:
|
|
|
5
5
|
- libsqlite3-0
|
|
6
6
|
- libevent-dev
|
|
7
7
|
- libssl-dev
|
|
8
|
-
- libxml2-dev
|
|
9
8
|
- libxslt1-dev
|
|
10
9
|
- libreadline-dev
|
|
11
10
|
- build-essential
|
|
12
11
|
ubuntu-10.04:
|
|
13
12
|
- libssl0.9.8
|
|
13
|
+
- libxml2-dev
|
|
14
14
|
ubuntu-12.04:
|
|
15
15
|
- libssl1.0.0
|
|
16
|
+
- libxml2-dev
|
|
16
17
|
ubuntu-14.04:
|
|
17
18
|
- libssl1.0.0
|
|
19
|
+
- libxml2-dev
|
|
18
20
|
ubuntu-16.04:
|
|
19
21
|
- libssl1.0.0
|
|
22
|
+
- libxml2-dev
|
|
20
23
|
ubuntu-18.04:
|
|
21
24
|
- libssl1.0.0
|
|
25
|
+
- libxml2-dev
|
|
22
26
|
ubuntu-20.04:
|
|
23
27
|
- libssl1.1
|
|
28
|
+
- libxml2-dev
|
|
24
29
|
ubuntu-22.04:
|
|
25
30
|
- libssl3
|
|
31
|
+
- libxml2-dev
|
|
32
|
+
ubuntu-24.04:
|
|
33
|
+
- libssl3
|
|
34
|
+
- libxml2-dev
|
|
35
|
+
ubuntu-26.04:
|
|
36
|
+
- libssl3
|
data/data/buildpacks/amazon-2014
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/amazon-2015
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/centos-6
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/centos-7
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/centos-8
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/debian-10
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/debian-11
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/debian-6
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
3
|
https://github.com/heroku/heroku-buildpack-ruby.git,CURL_CONNECT_TIMEOUT=60,CURL_TIMEOUT=300
|
data/data/buildpacks/debian-7
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/debian-8
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/debian-9
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/buildpacks/fedora-20
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
data/data/buildpacks/sles-11
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
data/data/buildpacks/sles-12
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
https://github.com/pkgr/heroku-buildpack-ruby.git#
|
|
2
|
-
https://github.com/pkgr/heroku-buildpack-python
|
|
3
|
-
https://github.com/heroku/heroku-buildpack-nodejs.git#
|
|
1
|
+
https://github.com/pkgr/heroku-buildpack-ruby.git#v356-1
|
|
2
|
+
https://github.com/pkgr/heroku-buildpack-python#v221-1
|
|
3
|
+
https://github.com/heroku/heroku-buildpack-nodejs.git#v363
|
|
4
4
|
https://github.com/kr/heroku-buildpack-go.git
|
data/data/cli/cli.sh.erb
CHANGED
|
@@ -7,8 +7,9 @@ set -o pipefail
|
|
|
7
7
|
APP_NAME=$(basename $0)
|
|
8
8
|
# useful for testing
|
|
9
9
|
ROOT_PATH=${ROOT_PATH:="/"}
|
|
10
|
-
# store original pwd
|
|
11
|
-
export ORIGINAL_PWD=$(pwd)
|
|
10
|
+
# store original pwd (kept across the privilege drop, see exec_as_app_user)
|
|
11
|
+
export ORIGINAL_PWD=${PKGR_ORIGINAL_PWD:-$(pwd)}
|
|
12
|
+
unset PKGR_ORIGINAL_PWD
|
|
12
13
|
# required for chroot on fedora
|
|
13
14
|
PATH="$PATH:/usr/sbin"
|
|
14
15
|
|
|
@@ -52,15 +53,48 @@ usage() {
|
|
|
52
53
|
|
|
53
54
|
DEFAULT_FILE=$(_p "/etc/default/${APP_NAME}")
|
|
54
55
|
SYSTEMD_DIR=$(_p "/etc/systemd/system")
|
|
56
|
+
# Init templates are copied to system locations as root, so they are read from
|
|
57
|
+
# a root-owned directory rather than from APP_HOME.
|
|
58
|
+
SCALING_DIR=$(_p "/usr/share/${APP_NAME}/scaling")
|
|
55
59
|
|
|
56
60
|
. ${DEFAULT_FILE}
|
|
57
61
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
APP_UID="$(id -u "${APP_USER}" 2>/dev/null || true)"
|
|
63
|
+
|
|
64
|
+
# APP_HOME and /etc/APP_NAME/conf.d are writable by APP_USER. Anything sourced
|
|
65
|
+
# or executed from there must only ever run as APP_USER, otherwise the app
|
|
66
|
+
# user could get root the next time root runs this script (e.g. a service
|
|
67
|
+
# start). The app environment is therefore only loaded as APP_USER, and root
|
|
68
|
+
# re-executes this script as APP_USER whenever it needs that environment.
|
|
69
|
+
is_app_user() {
|
|
70
|
+
[ "$(id -u)" = "${APP_UID}" ]
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
exec_as_app_user() {
|
|
74
|
+
local self="$0"
|
|
75
|
+
if [ "${self#/}" = "$self" ]; then self="${ORIGINAL_PWD}/${self}"; fi
|
|
76
|
+
local additional_groups="$(id -Gn ${APP_USER} | tr ' ' ',')"
|
|
77
|
+
# PORT and HOME were set by the defaults file: pass on the caller's PORT
|
|
78
|
+
# only, so that the app user gets the same values as when calling directly.
|
|
79
|
+
unset HOME PORT
|
|
80
|
+
if [ -n "$BASE_PORT" ]; then export PORT="$BASE_PORT"; fi
|
|
81
|
+
export PKGR_ORIGINAL_PWD="${ORIGINAL_PWD}"
|
|
82
|
+
exec chroot --userspec ${APP_USER}:${APP_GROUP} --groups="${additional_groups}" "/" "$self" "$@"
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if is_app_user ; then
|
|
86
|
+
for file in $(_p "${APP_HOME}/.profile.d")/*.sh; do
|
|
87
|
+
# .profile.d scripts assume HOME indicates the path to the app directory
|
|
88
|
+
if [ -f $file ]; then HOME=${APP_HOME} . $file &>/dev/null; fi
|
|
89
|
+
done
|
|
90
|
+
fi
|
|
62
91
|
|
|
63
92
|
if [ "$APP_CLI" != "" ] ; then
|
|
93
|
+
# The custom CLI lives in APP_HOME, so never execute it as root.
|
|
94
|
+
if [ "$(id -u)" = "0" ] && ! is_app_user ; then
|
|
95
|
+
exec_as_app_user "$@"
|
|
96
|
+
fi
|
|
97
|
+
|
|
64
98
|
cli_path="$APP_CLI"
|
|
65
99
|
if [ ! -e "$cli_path" ]; then
|
|
66
100
|
cli_path="$APP_HOME/$APP_CLI"
|
|
@@ -76,17 +110,18 @@ if [ "$APP_CLI" != "" ] ; then
|
|
|
76
110
|
fi
|
|
77
111
|
fi
|
|
78
112
|
|
|
79
|
-
if [
|
|
113
|
+
if [ "$(id -u)" != "0" ] && ! is_app_user ; then
|
|
80
114
|
echo "Error: You must be executing as the user '${APP_USER}' or with root privileges to launch commands."
|
|
81
115
|
echo "Either log in as '${APP_USER}', root, use sudo, or add sudo privileges for running ${APP_NAME} with your current user."
|
|
82
116
|
exit 1
|
|
83
117
|
fi
|
|
84
118
|
|
|
85
|
-
# Source all environment variables for the app.
|
|
86
|
-
|
|
87
|
-
for file in $(_p "/etc/${APP_NAME}/conf.d")/*; do
|
|
88
|
-
|
|
89
|
-
done
|
|
119
|
+
# Source all environment variables for the app.
|
|
120
|
+
if is_app_user ; then
|
|
121
|
+
for file in $(_p "/etc/${APP_NAME}/conf.d")/*; do
|
|
122
|
+
if [ -f $file ]; then . $file; fi
|
|
123
|
+
done
|
|
124
|
+
fi
|
|
90
125
|
|
|
91
126
|
if [ -z "$BASE_PORT" ]; then
|
|
92
127
|
BASE_PORT=$PORT
|
|
@@ -215,7 +250,6 @@ update_port() {
|
|
|
215
250
|
local file="$1"
|
|
216
251
|
local process_name="$2"
|
|
217
252
|
local index="$3"
|
|
218
|
-
local port_with_offset=$(process_port "$process_name" "$index")
|
|
219
253
|
sed -i "s/__PROCESS_INDEX__/${index}/g" "${file}"
|
|
220
254
|
}
|
|
221
255
|
|
|
@@ -253,7 +287,7 @@ scale_up() {
|
|
|
253
287
|
for i in $(seq ${SCALE_DELTA}); do
|
|
254
288
|
index=$((${i} + ${CURRENT_SCALE}))
|
|
255
289
|
PROCESS_ID="${APP_NAME}-${PROCESS_NAME}-${index}"
|
|
256
|
-
cp
|
|
290
|
+
cp "${SCALING_DIR}/upstart/${APP_NAME}-${PROCESS_NAME}-PROCESS_NUM.conf" $(_p "/etc/init/${PROCESS_ID}.conf")
|
|
257
291
|
|
|
258
292
|
update_port $(_p "/etc/init/${PROCESS_ID}.conf") "${PROCESS_NAME}" $index
|
|
259
293
|
|
|
@@ -281,7 +315,7 @@ scale_up() {
|
|
|
281
315
|
for i in $(seq ${SCALE_DELTA}); do
|
|
282
316
|
index=$((${i} + ${CURRENT_SCALE}))
|
|
283
317
|
PROCESS_ID="${APP_NAME}-${PROCESS_NAME}-${index}"
|
|
284
|
-
cp
|
|
318
|
+
cp "${SCALING_DIR}/sysv/${APP_NAME}-${PROCESS_NAME}-PROCESS_NUM" $(_p "/etc/init.d/${PROCESS_ID}")
|
|
285
319
|
|
|
286
320
|
update_port $(_p "/etc/init.d/${PROCESS_ID}") "${PROCESS_NAME}" $index
|
|
287
321
|
|
|
@@ -321,6 +355,34 @@ scale_down() {
|
|
|
321
355
|
echo "--> done."
|
|
322
356
|
}
|
|
323
357
|
|
|
358
|
+
# Re-installs the files of the first COUNT existing processes from the current
|
|
359
|
+
# templates, so that template changes reach existing installations when a
|
|
360
|
+
# package upgrade calls `scale`. Local changes belong in drop-ins.
|
|
361
|
+
refresh_processes() {
|
|
362
|
+
local process_name="$1"
|
|
363
|
+
local count="$2"
|
|
364
|
+
local index file
|
|
365
|
+
|
|
366
|
+
for index in $(seq "$count"); do
|
|
367
|
+
if [ "${APP_RUNNER_TYPE}" = "upstart" ]; then
|
|
368
|
+
file=$(_p "/etc/init/${APP_NAME}-${process_name}-${index}.conf")
|
|
369
|
+
cp "${SCALING_DIR}/upstart/${APP_NAME}-${process_name}-PROCESS_NUM.conf" "$file"
|
|
370
|
+
elif [ "$APP_RUNNER_TYPE" = "systemd" ]; then
|
|
371
|
+
file="$SYSTEMD_DIR/${APP_NAME}-${process_name}-${index}.service"
|
|
372
|
+
cp "${SCALING_DIR}/systemd/${APP_NAME}-${process_name}-PROCESS_NUM.service" "$file"
|
|
373
|
+
else
|
|
374
|
+
file=$(_p "/etc/init.d/${APP_NAME}-${process_name}-${index}")
|
|
375
|
+
cp "${SCALING_DIR}/sysv/${APP_NAME}-${process_name}-PROCESS_NUM" "$file"
|
|
376
|
+
chmod a+x "$file"
|
|
377
|
+
fi
|
|
378
|
+
update_port "$file" "$process_name" "$index"
|
|
379
|
+
done
|
|
380
|
+
|
|
381
|
+
if [ "$count" -gt 0 ] && [ "$APP_RUNNER_TYPE" = "systemd" ]; then
|
|
382
|
+
$APP_RUNNER_CLI daemon-reload
|
|
383
|
+
fi
|
|
384
|
+
}
|
|
385
|
+
|
|
324
386
|
# Scale processes
|
|
325
387
|
scale() {
|
|
326
388
|
PROCESS_NAME="$1"
|
|
@@ -332,14 +394,14 @@ scale() {
|
|
|
332
394
|
|
|
333
395
|
if [ "${APP_RUNNER_TYPE}" = "upstart" ]; then
|
|
334
396
|
# copy initd
|
|
335
|
-
cp
|
|
397
|
+
cp "${SCALING_DIR}/upstart/${APP_NAME}" $(_p "/etc/init.d/")
|
|
336
398
|
chmod 0755 $(_p "/etc/init.d/${APP_NAME}")
|
|
337
399
|
# copy master
|
|
338
|
-
cp
|
|
400
|
+
cp "${SCALING_DIR}/upstart/${APP_NAME}.conf" $(_p "/etc/init/")
|
|
339
401
|
# copy master process
|
|
340
|
-
cp
|
|
402
|
+
cp "${SCALING_DIR}/upstart/${APP_NAME}-${PROCESS_NAME}.conf" $(_p "/etc/init/")
|
|
341
403
|
elif [ "$APP_RUNNER_TYPE" = "systemd" ]; then
|
|
342
|
-
local source
|
|
404
|
+
local source="${SCALING_DIR}/systemd"
|
|
343
405
|
# copy master
|
|
344
406
|
cp ${source}/${APP_NAME}.service $SYSTEMD_DIR
|
|
345
407
|
# copy master process
|
|
@@ -348,14 +410,20 @@ scale() {
|
|
|
348
410
|
$APP_RUNNER_CLI enable ${APP_NAME}.service || true
|
|
349
411
|
$APP_RUNNER_CLI enable ${APP_NAME}-${PROCESS_NAME}.service || true
|
|
350
412
|
else
|
|
351
|
-
cp
|
|
413
|
+
cp "${SCALING_DIR}/sysv/${APP_NAME}" $(_p /etc/init.d/)
|
|
352
414
|
chmod a+x $(_p "/etc/init.d/${APP_NAME}")
|
|
353
415
|
sysv_enable ${APP_NAME}
|
|
354
|
-
cp
|
|
416
|
+
cp "${SCALING_DIR}/sysv/${APP_NAME}-${PROCESS_NAME}" $(_p /etc/init.d/)
|
|
355
417
|
chmod a+x $(_p "/etc/init.d/${APP_NAME}-${PROCESS_NAME}")
|
|
356
418
|
sysv_enable ${APP_NAME}-${PROCESS_NAME}
|
|
357
419
|
fi
|
|
358
420
|
|
|
421
|
+
if [ $SCALE_DELTA -lt 0 ]; then
|
|
422
|
+
refresh_processes "${PROCESS_NAME}" $NEW_SCALE
|
|
423
|
+
else
|
|
424
|
+
refresh_processes "${PROCESS_NAME}" $CURRENT_SCALE
|
|
425
|
+
fi
|
|
426
|
+
|
|
359
427
|
if [ $SCALE_DELTA -gt 0 ]; then
|
|
360
428
|
scale_up "${PROCESS_NAME}" $CURRENT_SCALE $NEW_SCALE $SCALE_DELTA
|
|
361
429
|
elif [ $SCALE_DELTA -lt 0 ]; then
|
|
@@ -434,6 +502,14 @@ while : ; do
|
|
|
434
502
|
case "$1" in
|
|
435
503
|
run)
|
|
436
504
|
[ $# -lt 2 ] && usage
|
|
505
|
+
|
|
506
|
+
# Do not use su, to avoid creating a new process. Note: chroot version
|
|
507
|
+
# is too old on Ubuntu Lucid, so this will fail. It works on Debian
|
|
508
|
+
# Squeeze though (and later).
|
|
509
|
+
# The app environment is only loaded as APP_USER, so drop privileges
|
|
510
|
+
# before doing anything else.
|
|
511
|
+
is_app_user || exec_as_app_user "$@"
|
|
512
|
+
|
|
437
513
|
COMMAND="$2"
|
|
438
514
|
shift 2
|
|
439
515
|
|
|
@@ -452,16 +528,7 @@ while : ; do
|
|
|
452
528
|
runnable="${runnable}$(printf " %q" ${COMMAND} "$@")"
|
|
453
529
|
fi
|
|
454
530
|
|
|
455
|
-
|
|
456
|
-
# is too old on Ubuntu Lucid, so this will fail. It works on Debian
|
|
457
|
-
# Squeeze though (and later).
|
|
458
|
-
# Do not chroot if current user is APP_USER.
|
|
459
|
-
if [ $(id -u) = $(id -u ${APP_USER}) ]; then
|
|
460
|
-
exec sh -c "cd $(_p ${APP_HOME}) && $runnable"
|
|
461
|
-
else
|
|
462
|
-
additional_groups="$(id -Gn ${APP_USER} | tr ' ' ',')"
|
|
463
|
-
exec chroot --userspec ${APP_USER}:${APP_GROUP} --groups="${additional_groups}" "/" sh -c "cd $(_p ${APP_HOME}) && $runnable"
|
|
464
|
-
fi
|
|
531
|
+
exec sh -c "cd $(_p ${APP_HOME}) && $runnable"
|
|
465
532
|
|
|
466
533
|
break ;;
|
|
467
534
|
|