Add pre-update/clean backup feature
All checks were successful
Build / Build (push) Successful in 12s

- Backup deletion paths before update to sd:/backup/OmniNX/{version}
- Backup deletion paths before clean install to sd:/backup/OmniNX/pre-omninx
- Best-effort backup: continue install even if some copies fail
- Fix directory creation: ensure parent dirs exist before folder_copy
- Step 1 for update: Backup; Step 1-2 for clean: user data + pre-omninx backup

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-14 16:05:57 +01:00
parent 15b7cb1f4c
commit 89994995af
6 changed files with 174 additions and 7 deletions

View File

@@ -17,6 +17,7 @@ typedef enum {
int perform_installation(omninx_variant_t pack_variant, install_mode_t mode);
// Update mode operations (install_update.c)
int backup_before_update(const char *version);
int update_mode_cleanup(omninx_variant_t variant);
int update_mode_install(omninx_variant_t variant);
int cleanup_staging_directory(omninx_variant_t pack_variant);
@@ -24,6 +25,7 @@ int cleanup_staging_directory(omninx_variant_t pack_variant);
int cleanup_other_staging_directories(omninx_variant_t installed_variant);
// Clean install operations (install_clean.c)
int backup_before_clean(void);
int clean_mode_backup(void);
int clean_mode_wipe(void);
int clean_mode_restore(void);