Add pre-update/clean backup feature
All checks were successful
Build / Build (push) Successful in 12s
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:
@@ -4,6 +4,7 @@
|
||||
*/
|
||||
|
||||
#include "install.h"
|
||||
#include "backup.h"
|
||||
#include "deletion_lists_update.h"
|
||||
#include "fs.h"
|
||||
#include "version.h"
|
||||
@@ -34,6 +35,25 @@
|
||||
#define path_exists install_path_exists
|
||||
#define count_directory_items install_count_directory_items
|
||||
|
||||
// Backup paths before update (sd:/backup/OmniNX/{version})
|
||||
int backup_before_update(const char *version) {
|
||||
char backup_base[270];
|
||||
s_printf(backup_base, "%s/%s", BACKUP_BASE_PATH, version);
|
||||
return backup_deletion_lists(backup_base,
|
||||
atmosphere_dirs_to_delete,
|
||||
atmosphere_contents_dirs_to_delete,
|
||||
atmosphere_files_to_delete,
|
||||
bootloader_dirs_to_delete,
|
||||
bootloader_files_to_delete,
|
||||
config_dirs_to_delete,
|
||||
switch_dirs_to_delete,
|
||||
switch_files_to_delete,
|
||||
root_files_to_delete,
|
||||
misc_dirs_to_delete,
|
||||
misc_files_to_delete,
|
||||
NULL);
|
||||
}
|
||||
|
||||
// Update mode: Cleanup specific directories/files
|
||||
int update_mode_cleanup(omninx_variant_t variant) {
|
||||
(void)variant;
|
||||
|
||||
Reference in New Issue
Block a user