#!/usr/bin/bash
set -euo pipefail

KEY=""
INPUT=""
OUTPUT=""

while [[ $# -gt 0 ]]; do
    case "$1" in
        --key)
            KEY="$2"
            shift 2
            ;;
        --lkmsign)
            INPUT="$2"
            shift 2
            ;;
        --output)
            OUTPUT="$2"
            shift 2
            ;;
        *)
            echo "rpm-sign: unknown option: $1" >&2
            exit 1
            ;;
    esac
done

if [[ -z "$KEY" || -z "$INPUT" || -z "$OUTPUT" ]]; then
    echo "rpm-sign: missing required arguments" >&2
    echo "Usage: rpm-sign --key <key> --lkmsign <input> --output <output>" >&2
    exit 1
fi

TMPFILE=$(mktemp "${INPUT}.sign.XXXXXX")
trap 'rm -f "$TMPFILE"' EXIT

cp "$INPUT" "$TMPFILE"
/usr/local/bin/modsign "$KEY" "$TMPFILE"
mv "$TMPFILE" "$OUTPUT"
trap - EXIT
