#!/bin/bash set -eu file="Dockerfile" if [ "${BUILD_DIST+x}" != "x" ]; then echo "Not running in an OBS build container" exit 1 fi BUILD_DATA="${BUILD_DIST/.dist/.data}" if [ -e "${BUILD_DATA}" ]; then . "${BUILD_DATA}" # The build script renames the recipe (to strip _service:foo:), but doesn't update .data file="${RECIPEFILE##*:}" if [[ ! "${file}" =~ ^Dockerfile.* ]]; then echo "Recipe ${file} is not a Dockerfile - exiting" exit 0 fi fi # Note: Avoid assigning to $1 etc. as that converts whitespace (field separators) to single spaces. gawk -i inplace ' match($0, /^# labelprefix=(.*)$/, m) { labelprefix=m[1]; next } labelprefix != "" && match($0, /^(PREFIXED)?LABEL[[:space:]]+[^=]*\.([^.=]*)=(.*)$/, m) { printf "LABEL %s.%s=%s\n", labelprefix, m[2], m[3]; gsub(/^PREFIXEDLABEL/, "LABEL") } match($0, /^# endlabelprefix/) { labelprefix=""; next } 1' "${file}"