diff --git a/build-all b/build-all index 4e381a6..6c513bf 100755 --- a/build-all +++ b/build-all @@ -1,9 +1,32 @@ #!/usr/bin/env sh yes_retrieve() { - local a="$1" + local image="$1" + local ok=1 + local out= shift || return - podman run -v="play":/out --rm --entrypoint /bin/busybox "$a" cp -- "$@" "/out/" + [ -d out ] || return + out="$(realpath out)" || return + for f in "$@"; do + local g="out/${f##*/}" + if [ -e "$g" ]; then + mv "$g" "$g~" + fi + done + podman run -v="$out":/out --rm --entrypoint /bin/busybox "$image" \ + cp -- "$@" "/out/" || return + for f in "$@"; do + local g="out/${f##*/}" + if [ -e "$g" ]; then + if [ -e "$g~" ]; then + rm "$g~" + fi + else + printf '%s: %s\n' yes_retrieve "failed to copy file $f to $g" + ok=0 + fi + done + [ $ok = 1 ] } dbg_retrieve() { @@ -14,9 +37,10 @@ dbg_retrieve() { } : \ - && cd "$(readlink -f "$0")" \ + && me="$(readlink -f "$0")" \ + && cd "${me%/*}" \ \ - && [ -d out ] || mkdir out \ + && { [ -d out ] || mkdir out ;} \ \ && podman build -t notwa-util notwa-util \ && podman build -t cosmo cosmo \