2025-01-20 09:49:33 -08:00

75 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/bash
if [ -x /usr/bin/hhd.steamos ]; then
/usr/bin/pkexec /usr/bin/hhd.steamos steamos-select-branch --fallback $@
ret=$?
# If ret is not 20, exit with the return code, otherwise continue
if [ $ret -ne 20 ]; then
exit $ret
fi
fi
set -e
source /etc/os-release
if [[ $# -eq 1 ]]; then
case "$1" in
-c)
if [[ -f /var/ublue-update/branch ]]; then
branch=$(cat /var/ublue-update/branch)
else
branch=$(cut -d ":" -f4 <<< "$(rpm-ostree status --booted | grep -m 1 $ID)")
fi
# Trim and convert to lowercase
branch=$(echo "$branch" | tr '[:upper:]' '[:lower:]' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
case $branch in
latest|stable)
echo rel
exit 0
;;
testing)
echo rc
exit 0
;;
unstable)
echo main
exit 0
;;
*)
# This can happen on CI builds or when downgrading from a newer build that knows of more branches. The update
# path should decide how to handle it.
echo >&2 "Warning: Unrecognized currently selected branch name '$branch', updates may not succeed."
echo "$branch"
exit 0
;;
esac
;;
-l)
echo rel
echo rc
echo beta
echo bc
echo main
exit 0
;;
rel|latest|stable)
/usr/bin/pkexec /usr/libexec/ublue-update-rebase "stable"
exit 0
;;
rc|beta|testing)
/usr/bin/pkexec /usr/libexec/ublue-update-rebase "testing"
exit 0
;;
bc|main|unstable)
echo "The unstable branch has a high risk of breaking."
echo "Do NOT use it unless you know what you are doing."
/usr/bin/pkexec /usr/libexec/ublue-update-rebase "unstable"
exit 0
;;
esac
fi
echo "Usage: steamos-select-branch <stable|testing|unstable>" 1>&2