#!/bin/sh

set -eu

# Generate pre-defined UUIDs
BOOT_LABEL=$(iguuid | sed 's/-.*//' | tr 'a-f' 'A-F')
BOOT_UUID=$(echo "$BOOT_LABEL" | sed 's/^\(....\)\(....\)$/\1-\2/')
ROOT_UUID=$(iguuid)
CRYPT_UUID=$(iguuid)

rm -f ${IGconf_image_outputdir}/img_uuids
for v in BOOT_LABEL BOOT_UUID ROOT_UUID CRYPT_UUID; do
    eval "val=\$$v"
    echo "$v=$val" >> "${IGconf_image_outputdir}/img_uuids"
done

# Install provision map, populating placeholders
pmap="../device/provisionmap-${IGconf_image_pmap:-}.json"
if [ -f "$pmap" ]; then
   env \
      CRYPT_UUID="$CRYPT_UUID" \
      LUKS_CIPHER="$IGconf_device_luks2_cipher" \
      LUKS_KEYSIZE="$IGconf_device_luks2_keysize" \
      LUKS_HASH="$IGconf_device_luks2_hash" \
   envsubst \
      '${CRYPT_UUID} ${LUKS_CIPHER} ${LUKS_KEYSIZE} ${LUKS_HASH}' \
      < "$pmap" > "${IGconf_image_outputdir}/provisionmap.json"
fi
