blob: 43e459c2c61f47c8011ea0e2ea003e15e329f3ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
# Contributor: André Klitzing <aklitzing@gmail.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=unit
pkgver=1.32.1
pkgrel=3
pkgdesc="NGINX Unit is a dynamic web application server"
url="https://unit.nginx.org/"
arch="all"
license="Apache-2.0"
_phpver2=82
_phpver3=83
makedepends="
linux-headers
openssl-dev>3
perl-dev
php$_phpver2-dev
php$_phpver2-embed
php$_phpver3-dev
php$_phpver3-embed
python3-dev
ruby-dev
"
checkdepends="procps-ng
py3-pytest py3-openssl
php$_phpver2-opcache php$_phpver3-opcache
"
options="net" # ruby tests require rack
pkgusers="$pkgname"
pkggroups="$pkgname"
install="$pkgname.pre-install"
subpackages="$pkgname-dev $pkgname-openrc $pkgname-tools::noarch $pkgname-doc"
source="https://sources.nginx.org/unit/unit-$pkgver.tar.gz
$pkgname.initd
$pkgname.confd
$pkgname.logrotate
phpver.patch
fix-tls-tests.patch
"
for _mod in perl php$_phpver2 php$_phpver3 python3 ruby; do
subpackages="$subpackages $pkgname-$_mod:_module"
done
_modules_dir="/usr/lib/unit/modules"
build() {
./configure \
--prefix="/usr" \
--localstatedir="/var" \
--statedir="/var/lib/unit" \
--control="unix:/run/control.unit.sock" \
--pid="/run/unit.pid" \
--log="/var/log/unit.log" \
--tmpdir=/tmp \
--modulesdir="$_modules_dir" \
--openssl \
--user=unit \
--group=unit \
--tests
./configure perl
./configure php --module=php$_phpver2 --config=php-config$_phpver2
./configure php --module=php$_phpver3 --config=php-config$_phpver3
./configure python --config=python3-config
./configure ruby
make
make tests
}
check() {
./build/tests
local _ruby="$srcdir/ruby-rack"
gem install rack -i $_ruby --no-document
# FIXME: some tests fail in CI or locally in checkroot too
local _fds=160 # fds leaking in tests
local _allow_fail=no
case "$CARCH" in
armhf | armv7) _allow_fail=yes ;; # segfault
esac
GEM_PATH=$_ruby pytest test --fds-threshold=$_fds -k "
not java and not go and not node \
and not njs \
and not test_static_mount \
and not test_php_isolation \
and not test_php_application_forbidden \
and not test_php_application_shared_opcache \
and not test_python_isolation \
and not test_python_user_group \
and not test_ruby_isolation \
and not test_settings_send_timeout \
" || [ "$_allow_fail" = yes ]
}
package() {
make unitd-install manpage-install libunit-install DESTDIR="$pkgdir"
install -D -m 755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
install -D -m 644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
install -D -m 644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
install -D -m 755 tools/setup-unit "$pkgdir"/usr/bin/setup-unit
install -D -m 755 tools/unitc "$pkgdir"/usr/bin/unitc
install -D -m 644 tools/README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
# abuild 3.13.0 adds checks prohibiting packages from creating /var/run
rmdir "$pkgdir"/var/run/unit "$pkgdir"/var/run
}
tools() {
pkgdesc="Configuration scripts for Unit"
depends="bash curl"
amove usr/bin/setup-unit
amove usr/bin/unitc
amove usr/share/doc/$pkgname/README.md
}
openrc() {
default_openrc
depends="curl"
}
_module() {
local modname=${subpkgname#"$pkgname"-}
pkgdesc="$modname module for NGINX Unit"
depends="$pkgname=$pkgver-r$pkgrel"
cd "$builddir"
make $modname-install DESTDIR="$subpkgdir"
}
sha512sums="
159b36f7afb8857188c9b64ee192e18d6990da3733caafcfb684b98e3f5182a7589ed2439f32af0cd3c763a3fa73f061f5a73ef01894182b1c12a4cd324c528a unit-1.32.1.tar.gz
76ca55b0b697361c9799a57414d88c36bc59458af8154f7c4275302ad7694bef4ba4a295685956dd5472d8508bac8e1d1977ff7ff4f46cc443f63ea3e3c35d55 unit.initd
f85112726dfcace2b6d94b10669615fef517f5aa10ac858890dd9f5c868a6e2569500f7411f758fcb24c98c9630760d36a74bd33ea510ab0f8ca8cd6cb1fb1e8 unit.confd
723e465162dfdb31881680200221542add414e54ef4f4f1fc57e91b7b57777dfb21c2eee4727ecbba0c1943bb77a2597cc0225b16e334c38258c296d15b1df74 unit.logrotate
2fe9966f54fd5d23316810b0260d966e2093c303d8a9ecea693971fe2243c579ed5db0e41e01fc01e56801387bd19cc72f5b26c45d21e5d48084e9ded384965b phpver.patch
aae610dd2e8056d278397af708926a8e24f282158dc539182f9dfd44582f6b8bba1a57df7769539572f4268db305d84f12eb9fe07dfeec9a8781a6f66ca28386 fix-tls-tests.patch
"
|