#!/bin/bash
# Dual-sign script for reprepro
# Signs Release file with keys specified in VASILE_REPO_GPG_KEY
# Usage: Called by reprepro with: filename [inlineoutput] [detachedoutput]

set -e

RELEASE_FILE="$1"
INLINE_OUTPUT="$2"
DETACHED_OUTPUT="$3"

if [ -z "$VASILE_REPO_GPG_KEY" ]; then
    echo "Error: VASILE_REPO_GPG_KEY not set" >&2
    exit 1
fi

# Build -u arguments for each key
GPG_ARGS=()
for key in $VASILE_REPO_GPG_KEY; do
    GPG_ARGS+=(-u "$key")
done

if [ -n "$DETACHED_OUTPUT" ]; then
    gpg --yes "${GPG_ARGS[@]}" --detach-sign --armor -o "$DETACHED_OUTPUT" "$RELEASE_FILE"
fi

if [ -n "$INLINE_OUTPUT" ]; then
    gpg --yes "${GPG_ARGS[@]}" --clearsign -o "$INLINE_OUTPUT" "$RELEASE_FILE"
fi
