#!/bin/bash -efu

. pipeline-sh-functions

target="$(get_parameter OVERLAYFS)"

[ -n "$target" ] || [ -n "$prevdir" ] ||
	fatal "no previous step to use as lower directory"

mountopts=
lowerdirs=

pipe="${target-}"

if [ -n "$pipe" ] && [ -z "${pipe##*:*}" ]; then
	mountopts="${pipe%%:*}"
	pipe="${pipe#*:}"
fi

pipe="${pipe:-$prevdir}"

while [ -n "$pipe" ]; do
	name="${pipe%%,*}"
	dir=

	[ -z "$name" ] ||
		dir="$(resolve_target "$name")"
	lowerdirs="${lowerdirs:+$lowerdirs:}$dir"

	pipe="${pipe#$name}"
	pipe="${pipe#,}"
done

mkdir -p -- "$datadir/rw" "$datadir/work"

run mount -o "${mountopts:+$mountopts,}lowerdir=$lowerdirs,upperdir=$datadir/rw,workdir=$datadir/work" \
	-t overlay overlay "$destdir"
