File update-kimi-gpg-key of Package kimi-utils-ubuntu

#!/usr/bin/env bash
# -*- mode: Shell-script; sh_shell: "bash"; -*-
# Replace home:kimi GPG key

set -euo pipefail
export LANG=C
export LC_ALL=C

if [ "$EUID" -ne 0 ]; then
    echo "Please run as root"
    echo "or use sudo before command:"
    echo "sudo $(basename "$0")"
    echo "or"
    echo "sudo ${BASH_SOURCE[0]}"
    exit 1
fi

source /etc/os-release

# Variables
KEYFILE_NAME="home_kimi.gpg"
KEYRINGS_DIR="/usr/share/keyrings"    # target directory to store the key
URL="https://download.opensuse.org/repositories/home:kimi:utils/xUbuntu_${VERSION_ID}/Release.key"
DEST="$KEYRINGS_DIR/$KEYFILE_NAME"

if [ "${NAME:-}" != "Ubuntu" ]; then
    echo "This script is only for Ubuntu. Exiting."
    exit 0
else
    echo "${NAME} ${VERSION_ID} detected."
fi

echo "Replacing home:kimi GPG key"
echo "from download.opensuse.org."
echo "Current key(s):"
ls -al /etc/apt/trusted.gpg.d/home_kimi* 2>/dev/null || true
ls -al /etc/apt/keyrings/home_kimi* 2>/dev/null || true
ls -al /usr/share/keyrings/home_kimi* 2>/dev/null || true
echo

# ensure target dir exists
mkdir -p -- "$KEYRINGS_DIR"

# download and dearmor to a temp file, then move into place
if wget --spider --quiet "$URL"; then
    tmp="$(mktemp --tmpdir home_kimi_key.XXXXXX.gpg)"
    if curl -fsSL "$URL" | gpg --dearmor > "$tmp"; then
        mv -f -- "$tmp" "$DEST"
        chmod 0644 "$DEST"
        echo "Installed key at: $DEST"
    else
        rm -f -- "$tmp"
        echo "Failed to download or dearmor key from $URL" >&2
        exit 1
    fi
else
    echo "Remote key not available: $URL" >&2
    exit 1
fi

echo
echo "Current key(s) after update:"
ls -al /etc/apt/trusted.gpg.d/home_kimi* 2>/dev/null || true
ls -al /etc/apt/keyrings/home_kimi* 2>/dev/null || true
ls -al "$KEYRINGS_DIR"/home_kimi* 2>/dev/null || true
echo
echo "Done."
openSUSE Build Service is sponsored by