Skip to content

Commit a4351b3

Browse files
committed
chore(pkgbuild): split package functions for legacy/modern systemd targets (#213)
- Add legacy service files for proxy and clamav-signature-provider sidecars - Split package() into distro-specific functions - Rocky 8/Ubuntu Jammy use legacy services (multi-user.target) - Rocky 9/Ubuntu Noble use modern services (carbonio-proxy.target) Refs: CO-2808
1 parent 265c0f4 commit a4351b3

6 files changed

Lines changed: 142 additions & 147 deletions

proxy/PKGBUILD

Lines changed: 93 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@ source=(
3232
"211-carbonio-clamav-signature-provider-setup.sh"
3333
"311-${pkgname}-setup.sh"
3434
"${pkgname}-sidecar.service"
35+
"${pkgname}-sidecar-legacy.service"
3536
"${pkgname}.hcl"
3637
"${pkgname}.target"
3738
"${pkgname}.sh"
3839
"carbonio-clamav-signature-provider-sidecar.service"
40+
"carbonio-clamav-signature-provider-sidecar-legacy.service"
3941
"carbonio-clamav-signature-provider.hcl"
4042
"carbonio-clamav-signature-provider"
4143
"intentions-clamav-signature-provider.json"
@@ -50,11 +52,13 @@ source=(
5052
sha256sums=(
5153
'cbd42efea9c34bd8cd661a7f9a4902ee86a3ba2b07db5c2be07dc36ab894df7a'
5254
'bb536a6e911924cde7438acdfaffaf88efcc070089319bad5dc9c68f5e7a33e3'
53-
'7fd2ca93d1c12f23a3fde073fa0f709004a68451625b1fcd50ba75fbf0e0e270'
55+
'e7823ac7925801b9d8f58c30e9767a1f76187216412a04b249ce19c9f168aef1'
56+
'54d1260932b8113d3ac13a7a2002b126398b1c971ef08025417bc0ad2a6933c7'
5457
'd503d1f4b4d966999a546b00523a746ba2277495a840135e1878f7855c00114f'
55-
'7e5765f837ccbde44c598c80be3576bea469d041b318ed558a67e7d1c15d9948'
58+
'815581ba4d9601c10ee86e6c6fbac78b8b72638f6b79cd0816c80f47cc6c445e'
5659
'98e5fccf13b8ca8691c19495e5e496d1daa24a5962178e3f7b86706507c56e55'
57-
'6784bc6fb696c968808745abe3387d434e70ff48235b861516eb196d06473990'
60+
'c420b181199c739d540ed967ead2c2978488523c25c8e90d1f91213939e1edd3'
61+
'9e6d5473036305706c9b25a7c13d690caf56ea83755dca007f9414edbc657c6c'
5862
'e31069c73e7326c68188381fd485866c8d083466a576ee9141b9fdbefbb2c157'
5963
'9cb0f1b78f9a93dc8c05d7dc3db1514ef9af5a4f165416a497b543a3d620438d'
6064
'5b9d7a1598959eec4d81994d8a3d9c912d77f0b75de84529d3b65a19ee13c724'
@@ -66,8 +70,7 @@ sha256sums=(
6670
'cb0d5c96f4d9488f84df1f15c193d90f2513432c78dbfd5b49ef27438a5f7cec'
6771
)
6872

69-
package() {
70-
73+
_package() {
7174
cd "$(dirname "$(find / -name "yap.json" -print -quit)")"
7275

7376
install -D target/proxyconfgen.jar \
@@ -78,9 +81,6 @@ package() {
7881
install -Dm755 "${pkgname}.sh" \
7982
"${pkgdir}/usr/bin/${pkgname}"
8083

81-
install -Dm644 "${pkgname}-sidecar.service" \
82-
"${pkgdir}/usr/lib/systemd/system/${pkgname}-sidecar.service"
83-
8484
install -Dm644 "policies-proxy.json" \
8585
"${pkgdir}/etc/carbonio/proxy/service-discover/policies.json"
8686

@@ -98,9 +98,6 @@ package() {
9898
install -Dm755 "carbonio-clamav-signature-provider" \
9999
"${pkgdir}/usr/bin/carbonio-clamav-signature-provider"
100100

101-
install -Dm644 "carbonio-clamav-signature-provider-sidecar.service" \
102-
"${pkgdir}/usr/lib/systemd/system/carbonio-clamav-signature-provider-sidecar.service"
103-
104101
install -Dm644 "policies-clamav-signature-provider.json" \
105102
"${pkgdir}/etc/carbonio/clamav-signature-provider/service-discover/policies.json"
106103

@@ -137,26 +134,15 @@ package() {
137134
# systemd sysusers.d
138135
install -Dm644 "${srcdir}/systemd-sysuser.conf" \
139136
"${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
137+
}
140138

139+
_package_systemd() {
141140
# systemd units and target
142-
mkdir -p "${pkgdir}/usr/lib/systemd/system/carbonio.target.wants"
143-
mkdir "${pkgdir}/usr/lib/systemd/system/${pkgname}.target.wants"
144141
install -Dm 644 "${pkgname}.target" \
145142
"${pkgdir}/usr/lib/systemd/system/${pkgname}.target"
146-
ln -sf "/usr/lib/systemd/system/${pkgname}.target" \
147-
"${pkgdir}/usr/lib/systemd/system/carbonio.target.wants/${pkgname}.target"
148-
ln -sf "/usr/lib/systemd/system/carbonio-configd.service" \
149-
"${pkgdir}/usr/lib/systemd/system/${pkgname}.target.wants/carbonio-configd.service"
150-
ln -sf "/usr/lib/systemd/system/carbonio-memcached.service" \
151-
"${pkgdir}/usr/lib/systemd/system/${pkgname}.target.wants/carbonio-memcached.service"
152-
ln -sf "/usr/lib/systemd/system/carbonio-nginx.service" \
153-
"${pkgdir}/usr/lib/systemd/system/${pkgname}.target.wants/carbonio-nginx.service"
154-
ln -sf "/usr/lib/systemd/system/carbonio-stats.service" \
155-
"${pkgdir}/usr/lib/systemd/system/${pkgname}.target.wants/carbonio-stats.service"
156143
}
157144

158-
postinst__apt() {
159-
# start Proxy consul registration
145+
_postinst() {
160146
# Create users and groups via systemd-sysusers
161147
systemd-sysusers /usr/lib/sysusers.d/carbonio-proxy.conf >/dev/null 2>&1 || :
162148
# Create directories and set ownership via tmpfiles.d
@@ -171,129 +157,31 @@ postinst__apt() {
171157
echo "Carbonio Proxy installed successfully!"
172158
echo "You must run pending-setups to configure it correctly."
173159
echo "======================================================"
174-
# end Proxy consul registration
175-
176-
# start ClamAV signature provider consul registration
177-
178-
if [ -d /run/systemd/system ]; then
179-
systemctl daemon-reload &>/dev/null || :
180-
systemctl enable carbonio-clamav-signature-provider-sidecar.service &>/dev/null || :
181-
systemctl enable carbonio-proxy-sidecar.service &>/dev/null || :
182-
fi
183160

184161
echo "======================================================"
185162
echo "Carbonio ClamAV signature provider installed successfully!"
186163
echo "You must run pending-setups to configure it correctly."
187164
echo "======================================================"
188-
# end ClamAV signature provider consul registration
189165
}
190166

191-
postinst__ubuntu_noble() {
192-
# start Proxy consul registration
193-
# Create users and groups via systemd-sysusers
194-
systemd-sysusers /usr/lib/sysusers.d/carbonio-proxy.conf >/dev/null 2>&1 || :
195-
# Create directories and set ownership via tmpfiles.d
196-
systemd-tmpfiles --create /usr/lib/tmpfiles.d/carbonio-proxy.conf >/dev/null 2>&1 || :
197-
198-
# Note: chmod resets capabilities, so setcap must run after chmod
199-
chown root:zextras /opt/zextras/common/sbin/nginx
200-
chmod 750 /opt/zextras/common/sbin/nginx
201-
setcap CAP_NET_BIND_SERVICE=+ep /opt/zextras/common/sbin/nginx
202-
203-
echo "======================================================"
204-
echo "Carbonio Proxy installed successfully!"
205-
echo "You must run pending-setups to configure it correctly."
206-
echo "======================================================"
207-
# end Proxy consul registration
208-
209-
# start ClamAV signature provider consul registration
210-
167+
_postinst_legacy() {
211168
if [ -d /run/systemd/system ]; then
212169
systemctl daemon-reload &>/dev/null || :
213-
systemctl enable carbonio-proxy.target &>/dev/null || :
214170
systemctl enable carbonio-proxy-sidecar.service &>/dev/null || :
215171
systemctl enable carbonio-clamav-signature-provider-sidecar.service &>/dev/null || :
216172
fi
217-
218-
echo "======================================================"
219-
echo "Carbonio ClamAV signature provider installed successfully!"
220-
echo "You must run pending-setups to configure it correctly."
221-
echo "======================================================"
222-
# end ClamAV signature provider consul registration
223173
}
224174

225-
postinst__rocky_8() {
226-
# start Proxy consul registration
227-
# Create users and groups via systemd-sysusers
228-
systemd-sysusers /usr/lib/sysusers.d/carbonio-proxy.conf >/dev/null 2>&1 || :
229-
# Create directories and set ownership via tmpfiles.d
230-
systemd-tmpfiles --create /usr/lib/tmpfiles.d/carbonio-proxy.conf >/dev/null 2>&1 || :
231-
232-
# Note: chmod resets capabilities, so setcap must run after chmod
233-
chown root:zextras /opt/zextras/common/sbin/nginx
234-
chmod 750 /opt/zextras/common/sbin/nginx
235-
setcap CAP_NET_BIND_SERVICE=+ep /opt/zextras/common/sbin/nginx
236-
237-
echo "======================================================"
238-
echo "Carbonio Proxy installed successfully!"
239-
echo "You must run pending-setups to configure it correctly."
240-
echo "======================================================"
241-
# end Proxy consul registration
242-
243-
# start ClamAV signature provider consul registration
244-
245-
if [ -d /run/systemd/system ]; then
246-
systemctl daemon-reload &>/dev/null || :
247-
systemctl enable carbonio-clamav-signature-provider-sidecar.service &>/dev/null || :
248-
systemctl enable carbonio-proxy-sidecar.service &>/dev/null || :
249-
fi
250-
251-
echo "======================================================"
252-
echo "Carbonio ClamAV signature provider installed successfully!"
253-
echo "You must run pending-setups to configure it correctly."
254-
echo "======================================================"
255-
# end ClamAV signature provider consul registration
256-
}
257-
258-
postinst__rocky_9() {
259-
# start Proxy consul registration
260-
# Create users and groups via systemd-sysusers
261-
systemd-sysusers /usr/lib/sysusers.d/carbonio-proxy.conf >/dev/null 2>&1 || :
262-
# Create directories and set ownership via tmpfiles.d
263-
systemd-tmpfiles --create /usr/lib/tmpfiles.d/carbonio-proxy.conf >/dev/null 2>&1 || :
264-
175+
_postinst_systemd() {
265176
if [ -d /run/systemd/system ]; then
266177
systemctl daemon-reload &>/dev/null || :
267178
systemctl enable carbonio-proxy.target &>/dev/null || :
268179
systemctl enable carbonio-proxy-sidecar.service &>/dev/null || :
269-
fi
270-
271-
# Note: chmod resets capabilities, so setcap must run after chmod
272-
chown root:zextras /opt/zextras/common/sbin/nginx
273-
chmod 750 /opt/zextras/common/sbin/nginx
274-
setcap CAP_NET_BIND_SERVICE=+ep /opt/zextras/common/sbin/nginx
275-
276-
echo "======================================================"
277-
echo "Carbonio Proxy installed successfully!"
278-
echo "You must run pending-setups to configure it correctly."
279-
echo "======================================================"
280-
# end Proxy consul registration
281-
282-
# start ClamAV signature provider consul registration
283-
284-
if [ -d /run/systemd/system ]; then
285-
systemctl daemon-reload &>/dev/null || :
286180
systemctl enable carbonio-clamav-signature-provider-sidecar.service &>/dev/null || :
287181
fi
288-
289-
echo "======================================================"
290-
echo "Carbonio ClamAV signature provider installed successfully!"
291-
echo "You must run pending-setups to configure it correctly."
292-
echo "======================================================"
293-
# end ClamAV signature provider consul registration
294182
}
295183

296-
prerm__apt() {
184+
_prerm_legacy() {
297185
if [ -d /run/systemd/system ]; then
298186
systemctl --no-reload disable carbonio-clamav-signature-provider-sidecar.service &>/dev/null || :
299187
systemctl --no-reload disable carbonio-proxy-sidecar.service &>/dev/null || :
@@ -302,29 +190,96 @@ prerm__apt() {
302190
fi
303191
}
304192

305-
prerm__ubuntu_noble() {
193+
_prerm_systemd() {
306194
if [ -d /run/systemd/system ]; then
307195
systemctl --no-reload disable --now carbonio-clamav-signature-provider-sidecar.service &>/dev/null || :
308196
systemctl --no-reload disable --now carbonio-proxy.target &>/dev/null || :
309197
systemctl --no-reload disable --now carbonio-proxy-sidecar.service &>/dev/null || :
310198
fi
311199
}
312200

201+
package() {
202+
_package
203+
_package_systemd
204+
205+
install -Dm644 "${srcdir}/../${pkgname}-sidecar.service" \
206+
"${pkgdir}/usr/lib/systemd/system/${pkgname}-sidecar.service"
207+
install -Dm644 "${srcdir}/../carbonio-clamav-signature-provider-sidecar.service" \
208+
"${pkgdir}/usr/lib/systemd/system/carbonio-clamav-signature-provider-sidecar.service"
209+
}
210+
211+
package__rocky_8() {
212+
_package
213+
214+
install -Dm644 "${srcdir}/../${pkgname}-sidecar-legacy.service" \
215+
"${pkgdir}/usr/lib/systemd/system/${pkgname}-sidecar.service"
216+
install -Dm644 "${srcdir}/../carbonio-clamav-signature-provider-sidecar-legacy.service" \
217+
"${pkgdir}/usr/lib/systemd/system/carbonio-clamav-signature-provider-sidecar.service"
218+
}
219+
220+
package__rocky_9() {
221+
_package
222+
_package_systemd
223+
224+
install -Dm644 "${srcdir}/../${pkgname}-sidecar.service" \
225+
"${pkgdir}/usr/lib/systemd/system/${pkgname}-sidecar.service"
226+
install -Dm644 "${srcdir}/../carbonio-clamav-signature-provider-sidecar.service" \
227+
"${pkgdir}/usr/lib/systemd/system/carbonio-clamav-signature-provider-sidecar.service"
228+
}
229+
230+
package__ubuntu_jammy() {
231+
_package
232+
233+
install -Dm644 "${srcdir}/../${pkgname}-sidecar-legacy.service" \
234+
"${pkgdir}/usr/lib/systemd/system/${pkgname}-sidecar.service"
235+
install -Dm644 "${srcdir}/../carbonio-clamav-signature-provider-sidecar-legacy.service" \
236+
"${pkgdir}/usr/lib/systemd/system/carbonio-clamav-signature-provider-sidecar.service"
237+
}
238+
239+
package__ubuntu_noble() {
240+
_package
241+
_package_systemd
242+
243+
install -Dm644 "${srcdir}/../${pkgname}-sidecar.service" \
244+
"${pkgdir}/usr/lib/systemd/system/${pkgname}-sidecar.service"
245+
install -Dm644 "${srcdir}/../carbonio-clamav-signature-provider-sidecar.service" \
246+
"${pkgdir}/usr/lib/systemd/system/carbonio-clamav-signature-provider-sidecar.service"
247+
}
248+
249+
postinst__rocky_8() {
250+
_postinst
251+
_postinst_legacy
252+
}
253+
254+
postinst__rocky_9() {
255+
_postinst
256+
_postinst_systemd
257+
}
258+
259+
postinst__ubuntu_jammy() {
260+
_postinst
261+
_postinst_legacy
262+
}
263+
264+
postinst__ubuntu_noble() {
265+
_postinst
266+
_postinst_systemd
267+
}
268+
313269
prerm__rocky_8() {
314-
if [ -d /run/systemd/system ]; then
315-
systemctl --no-reload disable carbonio-clamav-signature-provider-sidecar.service &>/dev/null || :
316-
systemctl --no-reload disable carbonio-proxy-sidecar.service &>/dev/null || :
317-
systemctl stop carbonio-clamav-signature-provider-sidecar.service &>/dev/null || :
318-
systemctl stop carbonio-proxy-sidecar.service &>/dev/null || :
319-
fi
270+
_prerm_legacy
320271
}
321272

322273
prerm__rocky_9() {
323-
if [ -d /run/systemd/system ]; then
324-
systemctl --no-reload disable --now carbonio-clamav-signature-provider-sidecar.service &>/dev/null || :
325-
systemctl --no-reload disable --now carbonio-proxy.target &>/dev/null || :
326-
systemctl --no-reload disable --now carbonio-proxy-sidecar.service &>/dev/null || :
327-
fi
274+
_prerm_systemd
275+
}
276+
277+
prerm__ubuntu_jammy() {
278+
_prerm_legacy
279+
}
280+
281+
prerm__ubuntu_noble() {
282+
_prerm_systemd
328283
}
329284

330285
postrm() {
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[Unit]
2+
Description=Carbonio ClamAV Signature Provider Sidecar
3+
Documentation=https://docs.zextras.com/
4+
Requires=network-online.target
5+
After=network-online.target
6+
7+
[Service]
8+
User=carbonio-clamav-sig-provider
9+
ExecStart=/usr/bin/consul connect envoy \
10+
-token-file /etc/carbonio/clamav-signature-provider/service-discover/token \
11+
-admin-bind localhost:0 \
12+
-sidecar-for carbonio-clamav-signature-provider
13+
Restart=on-failure
14+
RestartSec=15s
15+
ExecReload=/usr/bin/kill -HUP $MAINPID
16+
KillSignal=SIGINT
17+
LimitNOFILE=65536
18+
19+
[Install]
20+
WantedBy=multi-user.target
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[Unit]
2-
Description=NGINX Carbonio ClamAV signature provider sidecar
2+
Description=Carbonio ClamAV Signature Provider Sidecar
33
Documentation=https://docs.zextras.com/
44
Requires=network-online.target
55
After=network-online.target
6-
PartOf=carbonio-proxy.target
6+
PartOf=carbonio-mta.target carbonio-proxy.target
77

88
[Service]
99
User=carbonio-clamav-sig-provider
@@ -12,10 +12,10 @@ ExecStart=/usr/bin/consul connect envoy \
1212
-admin-bind localhost:0 \
1313
-sidecar-for carbonio-clamav-signature-provider
1414
Restart=on-failure
15-
RestartSec=15
15+
RestartSec=15s
1616
ExecReload=/usr/bin/kill -HUP $MAINPID
1717
KillSignal=SIGINT
1818
LimitNOFILE=65536
1919

2020
[Install]
21-
WantedBy=multi-user.target
21+
WantedBy=carbonio-mta.target carbonio-proxy.target
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[Unit]
2+
Description=Carbonio Proxy Sidecar
3+
Documentation=https://docs.zextras.com/
4+
Requires=network-online.target
5+
After=network-online.target
6+
7+
[Service]
8+
User=carbonio-proxy
9+
ExecStart=/usr/bin/consul connect envoy \
10+
-token-file /etc/carbonio/proxy/service-discover/token \
11+
-admin-bind localhost:0 \
12+
-sidecar-for carbonio-proxy
13+
Restart=on-failure
14+
RestartSec=15s
15+
ExecReload=/usr/bin/kill -HUP $MAINPID
16+
KillSignal=SIGINT
17+
LimitNOFILE=65536
18+
19+
[Install]
20+
WantedBy=multi-user.target

0 commit comments

Comments
 (0)