From e547eee57f7bb36b907c9a30b924d75740f61d92 Mon Sep 17 00:00:00 2001 From: cclohmar Date: Wed, 3 Jun 2026 07:59:02 +0000 Subject: [PATCH] fix: install.sh backup preserves database owner using stat - Uses stat to get original owner:group before backup - chown restores backup file to original owner - Prevents database becoming readonly after update --- install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index d4b8679..f0673e1 100755 --- a/install.sh +++ b/install.sh @@ -79,8 +79,8 @@ if [ "${1:-}" = "-update" ]; then sudo_if mkdir -p "$BACKUP_DIR" BACKUP_FILE="$BACKUP_DIR/expenses-$(date +%Y%m%d-%H%M%S).db" sudo_if cp "$INSTALL_DIR/expenses.db" "$BACKUP_FILE" - # Restore ownership so the app user can still write to the database. - sudo_if chown --reference="$INSTALL_DIR/expenses.db" "$BACKUP_FILE" 2>/dev/null || true + # Restore file ownership so the app user can still write. + sudo_if chown $(stat -c "%U:%G" "$INSTALL_DIR/expenses.db") "$BACKUP_FILE" 2>/dev/null || true info "Database backed up to $BACKUP_FILE" fi