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
| | # SPDX-License-Identifier: EUPL-1.2+
# SPDX-FileCopyrightText: 2021-2023 Alyssa Ross <hi@alyssa.is>
# SPDX-FileCopyrightText: 2022 Unikie
if { mkdir -p /run/s6-rc.ext.src }
cd /run/s6-rc.ext.src
if {
elglob -0 dirs /ext/svc/data/*/
forx -po0 -E dir { $dirs }
backtick -E name { basename -- $dir }
if { mkdir -- ${name} ${name}/dependencies.d ${name}/env }
if { redirfd -w 1 ${name}/type echo longrun }
if { redirfd -w 1 ${name}/notification-fd echo 3 }
if { redirfd -w 1 ${name}/run printf "#!/bin/execlineb -P\n/bin/start-vm" }
if { chmod +x ${name}/run }
if {
elglob -0 paths ${dir}/shared-dirs/*
forx -po0 -E path { $paths }
backtick -E fsname { basename -- $path }
if { cp -R -- /etc/template/fs ${name}-fs-${fsname} }
if { mkdir -- ${name}-fs-${fsname}/data ${name}-fs-${fsname}/env }
if { cp -P -- ${path}/dir ${name}-fs-${fsname}/data/shared-dir }
touch -- ${name}/dependencies.d/${name}-fs-${fsname}
}
elglob -0 paths /ext/svc/data/${name}/providers/net/*
forx -po0 -E path { $paths }
backtick -E dep { basename -- $path }
touch -- ${name}/dependencies.d/${dep}
}
if { s6-rc-compile /run/s6-rc.ext.db /run/s6-rc.ext.src }
s6-rc-init -c /run/s6-rc.ext.db -l /run/s6-rc.ext -p ext- /run/service
|