MacOS fix stow secrets issue

This commit is contained in:
MangoPig
2026-06-01 00:38:56 +01:00
parent 12b752892b
commit b41dcbac2a

View File

@@ -18,12 +18,36 @@ handle_reboot_marker() {
}
sync_repo_managed_secret_file() {
local home_secret_resolved repo_secret_resolved
mkdir -p "$(dirname "$REPO_SECRET_FILE")"
if [ -L "$HOME_SECRET_FILE" ]; then
home_secret_resolved="$(python3 -c 'import os,sys; print(os.path.realpath(sys.argv[1]))' "$HOME_SECRET_FILE")"
repo_secret_resolved="$(python3 -c 'import os,sys; print(os.path.realpath(sys.argv[1]))' "$REPO_SECRET_FILE")"
if [ "$home_secret_resolved" = "$repo_secret_resolved" ]; then
return 0
fi
if [ -f "$home_secret_resolved" ]; then
if [ ! -f "$REPO_SECRET_FILE" ] || [ ! -s "$REPO_SECRET_FILE" ]; then
cp "$home_secret_resolved" "$REPO_SECRET_FILE"
rm -f "$HOME_SECRET_FILE"
return 0
fi
if cmp -s "$home_secret_resolved" "$REPO_SECRET_FILE"; then
rm -f "$HOME_SECRET_FILE"
return 0
fi
fi
echo "Conflict: $HOME_SECRET_FILE points to a different secret file than $REPO_SECRET_FILE."
echo "Please merge them manually, then rerun the command."
exit 1
fi
if [ -f "$HOME_SECRET_FILE" ]; then
if [ ! -f "$REPO_SECRET_FILE" ] || [ ! -s "$REPO_SECRET_FILE" ]; then
mv "$HOME_SECRET_FILE" "$REPO_SECRET_FILE"