blob: a9ff20d2109d8a7e87442ac50fd17600a8577785 (
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=litespeed
pkgver=1.7.16
pkgrel=2
_libbcrypt=55ff64349dec3012cfbbb1c4f92d4dbd46920213
_boringssl=cf8d3ad3cea51cf7184307d54f465da62b7d8408
_pkgreal=open$pkgname
_pkghome=var/lib/$pkgname
_php=php8
pkgdesc="High-performance, lightweight, open source HTTP server"
url="https://openlitespeed.org/"
arch="x86 x86_64"
license="GPL-3.0-or-later"
pkgusers=litespeed
pkggroups=litespeed
depends="$_php-$pkgname $_php-bcmath $_php-session $_php-sockets $_php-posix"
makedepends="go cmake linux-headers openssl-dev geoip-dev expat-dev pcre-dev zlib-dev udns-dev autoconf
bsd-compat-headers lua-dev luajit-dev brotli-dev brotli-static zlib-static libmaxminddb-dev"
options="!check"
install="$pkgname.pre-install"
subpackages="$pkgname-openrc $pkgname-snmp::noarch"
source="https://openlitespeed.org/packages/openlitespeed-$pkgver.src.tgz
https://github.com/litespeedtech/libbcrypt/archive/$_libbcrypt/litespeedtech-libbcrypt-$_libbcrypt.tar.gz
https://github.com/google/boringssl/archive/$_boringssl/google-boringssl-$_boringssl.tar.gz
$pkgname.initd
include.patch
install.patch
ls_lock.patch
admin.patch
"
builddir="$srcdir/openlitespeed-$pkgver"
prepare() {
default_prepare
rm -Rf boringssl
mv -f "$srcdir"/boringssl-$_boringssl boringssl
rm -Rf libbcrypt
mv -f "$srcdir"/libbcrypt-$_libbcrypt libbcrypt
rm -Rf "$builddir"/dist/lsrecaptcha
cp libbcrypt/bcrypt.h include
cp src/lshpack/lsxpack_header.h include/lsxpack_header.h
cp src/lshpack/lshpack.h include/lshpack.h
cp src/liblsquic/ls-qpack/lsqpack.h include/lsqpack.h
sed -i -e "s/ln -s \/usr\/bin\/lsphp7/ln -s \/usr\/bin\/ls$_php/" dist/install.sh
}
build() {
export LDFLAGS="$LDFLAGS -L$PWD/libbcrypt"
(
cd libbcrypt
make
mv bcrypt.a libbcrypt.a
)
./configure \
--host=$CHOST \
--build=$CBUILD \
--prefix=/$_pkghome \
--with-user=$pkgusers \
--with-group=$pkggroups \
--enable-adminssl=no \
--enable-recaptcha=no \
--disable-rpath \
--disable-static \
--with-libdir=/usr/lib \
--with-openssl=/usr \
--with-bssl=boringssl \
--with-expat \
--with-pcre \
--with-lua \
--with-brotli=/usr \
--with-zlib=/lib
local extra_libs
case "$CARCH" in
x86 | x86_64 | arm* | aarch64 | ppc64le ) extra_libs='-latomic'
esac
make EXTRA_LIBS="$extra_libs"
}
package() {
local file;
make DESTDIR="$pkgdir" install
mkdir -p "$pkgdir"/usr/lib/$pkgname \
"$pkgdir"/usr/sbin \
"$pkgdir"/var/log
#fix admin files
cp -fr $builddir/dist/admin/misc/* "$pkgdir"/$_pkghome/admin/misc
# remove trash
rm -fr "$pkgdir"/$_pkghome/php* \
"$pkgdir"/$_pkghome/lib \
"$pkgdir"/$_pkghome/GPL* \
"$pkgdir"/$_pkghome/gdata \
"$pkgdir"/$_pkghome/autoupdate \
"$pkgdir"/$_pkghome/fcgi-bin/* \
"$pkgdir"/$_pkghome/bin/lshttpd \
"$pkgdir"/$_pkghome/admin/conf/php.* \
"$pkgdir"/$_pkghome/admin/misc/gdb-bt \
"$pkgdir"/$_pkghome/admin/misc/convertxml.* \
"$pkgdir"/$_pkghome/admin/misc/build_admin_php.sh
# fix ownership
chown -R $pkgusers:$pkggroups \
"$pkgdir"/$_pkghome/tmp \
"$pkgdir"/$_pkghome/conf \
"$pkgdir"/$_pkghome/logs \
"$pkgdir"/$_pkghome/backup \
"$pkgdir"/$_pkghome/cachedata \
"$pkgdir"/$_pkghome/admin/tmp \
"$pkgdir"/$_pkghome/admin/logs \
"$pkgdir"/$_pkghome/admin/conf \
"$pkgdir"/$_pkghome/admin/cgid \
"$pkgdir"/$_pkghome/Example/logs
# install configs
install -Dm755 "$srcdir"/$pkgname.initd \
"$pkgdir"/etc/init.d/$pkgname
mv "$pkgdir"/$_pkghome/conf \
"$pkgdir"/etc/$pkgname
mv "$pkgdir"/$_pkghome/admin/conf \
"$pkgdir"/etc/$pkgname/admin
ln -s /etc/$pkgname "$pkgdir"/$_pkghome/conf
ln -s /etc/$pkgname/admin "$pkgdir"/$_pkghome/admin/conf
find "$pkgdir"/etc/$pkgname -type f -print0 | xargs -0 chmod -x
# install binary
mv "$pkgdir"/$_pkghome/bin/$_pkgreal \
"$pkgdir"/usr/sbin/lshttpd
ln -sf /usr/sbin/lshttpd \
"$pkgdir"/$_pkghome/bin/$pkgname
# install modules
_modules=$(find "$pkgdir"/$_pkghome/modules -name "*.so")
for file in $_modules; do
mv $file "$pkgdir"/usr/lib/$pkgname/${file##*/}
ln -s /usr/lib/$pkgname/${file##*/} $file
done
# install logs
mv "$pkgdir"/$_pkghome/logs "$pkgdir"/var/log/$pkgname
mv "$pkgdir"/$_pkghome/admin/logs "$pkgdir"/var/log/$pkgname/admin
mv "$pkgdir"/$_pkghome/Example/logs "$pkgdir"/var/log/$pkgname/Example
ln -s /var/log/$pkgname "$pkgdir"/$_pkghome/logs
ln -s /var/log/$pkgname/admin "$pkgdir"/$_pkghome/admin/logs
ln -s /var/log/$pkgname/Example "$pkgdir"/$_pkghome/Example/logs
# install backend
ln -s /usr/bin/ls$_php "$pkgdir"/$_pkghome/fcgi-bin/lsphp
ln -s /etc/$_php/php.ini "$pkgdir"/etc/$pkgname/php.ini
ln -s /etc/$_php/php.ini "$pkgdir"/etc/$pkgname/admin/php.ini
}
snmp() {
pkgdesc="$pkgdesc (snmp monitoring add-on + cacti templates)"
depends="$pkgname net-snmp"
amove $_pkghome/add-ons/snmp_monitoring
}
sha512sums="
7c4dbfaec05144f37fe1fbf6313b265290872b7e5be8cc317d738207e2b65f35c8984d05c68c636b85b35bbce198eb35ad9ea62cde6fd16b95138812d2f4b1fc openlitespeed-1.7.16.src.tgz
7304acb02031fe2d7aaa667179b0539b30570750676c8474ea662a5505cf1b9f09d29e2927d15996fa1ee5c181f9c9aea54137b48252f82430b75a3d5e36d80b litespeedtech-libbcrypt-55ff64349dec3012cfbbb1c4f92d4dbd46920213.tar.gz
9157eb009311ea34e3fb530f368783f3c70a1a60e4d1ccf5b8f542a23a88896a0a3dc3062568a73c616862ad40ff5e3d0c05f6e28da41fc755ff0b8761b0250c google-boringssl-cf8d3ad3cea51cf7184307d54f465da62b7d8408.tar.gz
2b0299246aaeb885122d8f939437f0e4701f6a79ea976f725ba8765d8b295c2797c0cac30e639d5eda665b9589710ee55acc4d03b078c4b9cc1e564994ccb9f5 litespeed.initd
f2e3f33123548fa3b6ad65e989ee8ad980b428e05f62a068d8493fdefd0bc66ebf2840087411f6762cda0e9955003d0ca6fe37cca40dfd38a1fd56ffa6ef3e7d include.patch
f60cb9888b58c81d9ba6849f9645998d25c1a1e20809b1e2ebb297e5ab573c77d065a19b1b7fc826146d94c6211ffdbaa2104ef6c213700cb3635a3e58b2ed55 install.patch
2fef9373cb70d379452003cbea98931eaeb437788c6ae671d4b6a02f81280f0f815e19f7c2e9c2c19609ee7ce16b179cf6809e53fa4d9203dac73b964d5a9579 ls_lock.patch
7bd22268f383cdd2cd71586a1ada0f0e705e84da2ef5d0aea78f6ce55504a63a057991d2be8d5b18e8af200271012436b492b842d4a4063a840358a42a5dbbb3 admin.patch
"
|