diff options
Diffstat (limited to 'src/bin/longrun-make')
| -rwxr-xr-x | src/bin/longrun-make | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/bin/longrun-make b/src/bin/longrun-make new file mode 100755 index 0000000..2b5b433 --- /dev/null +++ b/src/bin/longrun-make @@ -0,0 +1,36 @@ +#!@shebangdir@/execlineb -WS5 + +# ISC license. + +multisubstitute { + define WORKINGDIR ${1} + define NAME ${2} + define TYPE ${3} + define SCRIPT ${4} + define DEPENDENCIES ${5} +} + +if { mkdir -p ${WORKINGDIR}/${NAME}-${TYPE} } + +background { + if { eltest ${TYPE} = log } + s6-setlock ${WORKINGDIR}/${NAME}-log/consumer-for + if -n { grep -Fq -- ${NAME}-srv ${WORKINGDIR}/${NAME}-log/consumer-for } + background { redirfd -a 1 ${WORKINGDIR}/${NAME}-log/consumer-for echo ${NAME}-srv } + background { redirfd -w 1 ${WORKINGDIR}/${NAME}-log/pipeline-name echo ${NAME} } +} + +background { + if { eltest ${TYPE} = srv } + redirfd -w 1 ${WORKINGDIR}/${NAME}-srv/producer-for echo ${NAME}-log +} + +background { redirfd -w 1 ${WORKINGDIR}/${NAME}-${TYPE}/type echo longrun } +background { redirfd -w 1 ${WORKINGDIR}/${NAME}-${TYPE}/notification-fd echo 3 } +background { redirfd -w 1 ${WORKINGDIR}/${NAME}-${TYPE}/run echo ${SCRIPT} } +background { + if { eltest ${DEPENDENCIES} != none } + define -s SPLITDEPENDENCIES ${DEPENDENCIES} + if { mkdir -p ${WORKINGDIR}/${NAME}-${TYPE}/dependencies.d } + touch ${WORKINGDIR}/${NAME}-${TYPE}/dependencies.d/${SPLITDEPENDENCIES} +} |
