Skip to content

rclone cloud-sync cleanup punch list #5

Description

@maxengel

Tracking issue for cleanup of the rclone cloud-sync subsystem (projects/ROCKNIX/packages/network/rclone/), based on a review of the code, the cloud-sync docs, and recent rclone commit history.

Bugs

  • 🔴 Rclone_fixes_for_system_backups #1--delete-excluded never stripped on restore (local data-loss risk). cloud_backup builds RESTORE_RCLONEOPTS by stripping --delete-excluded (cloud_backup:281), but in cloud_restore the same var is computed (cloud_restore:347) and then never used — game-saves restore passes the full RCLONE_OPTS_ARRAY (cloud_restore:430,440), which still contains --delete-excluded. With RESTOREMETHOD="sync", restore can delete local files matched by excludes/filters (BIOS, *.zip, etc.). Wire cloud_restore to use the stripped opts (or drop --delete-excluded on the restore path).
  • 🟠 Update kernel configs/device documentation #2cloud_sync_helper truncates multi-line RCLONEOPTS on from-scratch create/merge. update_cloud_sync_config reads defaults with IFS='=' read -r key value (cloud_sync_helper:114); DEFAULT_RCLONEOPTS spans 4 lines with \ continuations (cloud_sync.conf.defaults:32-35), so only the first line is captured → writes a truncated RCLONEOPTS="--progress \ with dangling backslash/unterminated quote. Masked today because cloud_sync.conf always ships, but the from-scratch branch (cloud_sync_helper:138-143) is latently broken.
  • 🟠 Update kernel configs/device documentation #3RSYNCRMDIR documented + shipped but unimplemented. Present in cloud_sync.conf/.defaults (line 64) and the website ("remove empty remote directories"), but no script references it. Either implement it or remove it from config + docs.
  • 🟡 Sync fork with latest upstream ROCKNIX/distribution (next) #4 — Log-level comment/behavior mismatch. Comment says "Set log level to DEBUG when INFO is selected" but code sets --log-level INFO (cloud_backup:374-381, cloud_restore:428-435). Fix comment or behavior.
  • 🟡 rclone cloud-sync cleanup punch list #5report_rclone_error mislabels exit code 9. rclone 9 = success, but no files transferred; script logs it as "Operation failed - no retry" (cloud_backup:301, cloud_restore equivalent). Re-map to a success/warn.
  • 🟡 Finish RK3566 input ROCKNIX/distribution#6 — Minor inconsistencies. --stats-one-line and the --progress-terminal-width capability check only exist in the system-backup restore path (cloud_restore:514-519), not game-saves. Some read_controller_input quoted regexes (e.g. "code 0.*value…", cloud_backup:101) are matched literally so those branches never fire.

Docs (rocknix.org/configure/cloud-sync)

  • Document LOG_LEVEL, rclonectl mount/unmount, and cloud_sync_cleanup_duplicates.sh.
  • Note the single-remote assumption (rclone listremotes | head -1, cloud_backup:503) — only the first configured remote is used.
  • Resolve RSYNCRMDIR doc vs. code (ties to Update kernel configs/device documentation #3).

Notes / context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions