#!/usr/bin/bash # Modified from https://github.com/ublue-os/bazzite/blob/main/system_files/desktop/shared/usr/libexec/ublue-motd RPM_OSTREE_STATUS=$(rpm-ostree status --json --booted) IMAGE_REF_NAME=$(echo $RPM_OSTREE_STATUS | jq -r '.deployments[0]."container-image-reference" // empty | split("/")[-1]') IMAGE_TAG=$(echo $RPM_OSTREE_STATUS | jq -r '.deployments[0]."container-image-reference" // empty | split(":")[-1]') TIP="" IMAGE_DATE=$(echo $RPM_OSTREE_STATUS | jq -r '.deployments[0].timestamp') CURRENT_SECONDS=$(date +%s) DIFFERENCE=$((CURRENT_SECONDS - IMAGE_DATE)) WEEK=$((7 * 24 * 60 * 60)) readarray -t imageTypes < <(jq -r '.imageTypes[]' /usr/libexec/deprecated-images.json) isDeprecated=false for imageType in "${imageTypes[@]}"; do if [[ "$IMAGE_REF_NAME" == *"$imageType"* ]]; then isDeprecated=true break fi done if $isDeprecated; then TIP='~~~ NOTICE: You are on a deprecated image, please rebase. ~~~\n~~~ For more information, visit https://github.com/secureblue/secureblue/blob/live/files/system/usr/libexec/deprecated-images.json.md ~~~' elif [ "$IMAGE_TAG" != "latest" ]; then TIP='~~~ NOTICE: You are on a specific tag, which is unsupported by secureblue. Rebase to the `latest` tag to ensure you continue to receive updates. ~~~' elif [ "$DIFFERENCE" -ge "$WEEK" ]; then TIP='~~~ NOTICE: Your current image is over 1 week old, run `ujust update`. ~~~' else TIP='~~~ NOTICE: Subscribe to secureblue release notifications: https://github.com/secureblue/secureblue/blob/live/FAQ.md#how-do-i-get-notified-of-secureblue-changes ~~~' fi TIP_OUTPUT=$(sed -e "s/%IMAGE_REF_NAME%/$IMAGE_REF_NAME/g" -e "s/%IMAGE_TAG%/$IMAGE_TAG/g" -e "s|%TIP%|$TIP|g" /usr/share/ublue-os/motd/secureblue.txt) while IFS= read -r line; do echo "$line" done <<< $TIP_OUTPUT