mirror of
https://github.com/tumillanino/miasma-os.git
synced 2026-04-11 07:15:31 +00:00
54 lines
1.3 KiB
Bash
54 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -oue pipefail
|
|
|
|
./install-divested.sh 20250714
|
|
./install-divested.sh https://divested.dev/rpm/fedora/divested-release-20250714-1.noarch.rpm
|
|
BASE_URL='https://divested.dev/rpm/fedora'
|
|
PKG_PREFIX='divested-release'
|
|
ARCH='noarch'
|
|
RPM_SUFFIX='-1' # adjust if upstream uses a different release number
|
|
RETRY_OPTS=(--retry 3 --retry-delay 5 -S -L -O)
|
|
|
|
if [ "${#}" -eq 0 ]; then
|
|
echo "Usage: $0 YYYYMMDD | FULL_RPM_URL" >&2
|
|
exit 2
|
|
fi
|
|
|
|
INPUT="$1"
|
|
|
|
case "$INPUT" in
|
|
http:// | https://)
|
|
RPM_URL="$INPUT"
|
|
;;
|
|
[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])
|
|
RELEASE_VERSION="$INPUT"
|
|
FILENAME="${PKG_PREFIX}-${RELEASE_VERSION}${RPM_SUFFIX}.${ARCH}.rpm"
|
|
RPM_URL="${BASE_URL}/${FILENAME}"
|
|
;;
|
|
*)
|
|
echo "Invalid argument. Provide a date (YYYYMMDD) or a full URL." >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
TMPDIR="$(mktemp -d)"
|
|
trap 'rm -rf "$TMPDIR"' EXIT
|
|
|
|
RPM_PATH="${TMPDIR}/$(basename "$RPM_URL")"
|
|
|
|
echo "Downloading ${RPM_URL} ..."
|
|
if command -v curl >/dev/null 2>&1; then
|
|
curl "${RETRY_OPTS[@]}" -o "$RPM_PATH" "$RPM_URL"
|
|
elif command -v wget >/dev/null 2>&1; then
|
|
wget --tries=3 --wait=5 -O "$RPM_PATH" "$RPM_URL"
|
|
else
|
|
echo "Neither curl nor wget available." >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "Installing ${RPM_PATH} ..."
|
|
sudo dnf install -y "$RPM_PATH"
|
|
|
|
echo "Installed $(basename "$RPM_PATH")"
|