#!/bin/sh -e #. "$LIXROOT/libs/reverse.sh" # errors out if a dependency was not resolved or if the LAYERMAX is exceeded. lowerlayers() { # [] layers="$2" layercount="0" maxlayers=${LAYERMAX:-100} layers="$(echo "$1" | reverse | while read line; do [ "$line" ] || continue; dep="$(echo "$line" | awk '{ print $1 }')" ver="$(echo "$line" | awk '{ print $2 }')" dir="$(lyr upperdir lix/$dep/$ver/fs)" # only warn on missing dependencies if a bootstrap directory was # provided. it's possible the dependency is in the bootstrap. [ "$2" ] && logfn="wrn possible" || logfn="err" [ "$ver" ] && [ -d "$dir" ] \ && printf "$dir:" \ || $logfn "missing dependency: $dep $ver" layercount="$(expr $layercount + 1)" [ "$layercount" -le "$maxlayers" ] \ || err "overlayfs can't handle more than $maxlayers lower directories!" done)$layers" [ "$?" -eq 0 ] || exit $? # error codes weren't bubbling up... :/ # strip possible trailing colon and echo. echo "${layers%:}" }