From 8e934a9cc5bf2c49c942240fd6544a7bee85fbdc Mon Sep 17 00:00:00 2001 From: Andrew Torgesen Date: Thu, 25 Jun 2026 23:01:51 -0700 Subject: [PATCH 1/5] feat: bump sunnyside to 0.2.0 with bu/rs subcommands Updates sunnyside flake input to dev/ssbu branch (0.2.0), refreshes cargoHash, and adds file and directory bu/rs round-trip regression tests. Co-Authored-By: Claude Sonnet 4.6 --- flake.lock | 7 ++++--- flake.nix | 2 +- pkgs/rust-packages/sunnyside/default.nix | 4 ++-- test/test_sunnyside.sh | 15 +++++++++++++++ 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 10a6f8f78..a60aa4ea0 100644 --- a/flake.lock +++ b/flake.lock @@ -938,15 +938,16 @@ "sunnyside": { "flake": false, "locked": { - "lastModified": 1717568445, - "narHash": "sha256-U2wiyKsJ6ACiajkfULpkdCUJ2/xZKQqNgzIHQL9utIE=", + "lastModified": 1782453344, + "narHash": "sha256-6GB3UkF4sNcXOUBxlydWwWD/qKA4WKpc7HFx2wNZDsw=", "owner": "goromal", "repo": "sunnyside", - "rev": "d6605667490ce008321b32dea5732d7962609bf7", + "rev": "ee502edd1ed3a3260b8dc4d69cef48f4d161e405", "type": "github" }, "original": { "owner": "goromal", + "ref": "dev/ssbu", "repo": "sunnyside", "type": "github" } diff --git a/flake.nix b/flake.nix index 539070104..53abba88b 100644 --- a/flake.nix +++ b/flake.nix @@ -147,7 +147,7 @@ spelling-corrector.url = "github:goromal/spelling-corrector"; spelling-corrector.flake = false; - sunnyside.url = "github:goromal/sunnyside"; + sunnyside.url = "github:goromal/sunnyside/dev/ssbu"; sunnyside.flake = false; symforce.url = "github:symforce-org/symforce?ref=refs/tags/v0.9.0"; diff --git a/pkgs/rust-packages/sunnyside/default.nix b/pkgs/rust-packages/sunnyside/default.nix index d7fe2cd3d..5351a2322 100644 --- a/pkgs/rust-packages/sunnyside/default.nix +++ b/pkgs/rust-packages/sunnyside/default.nix @@ -5,9 +5,9 @@ }: rustPlatform.buildRustPackage rec { pname = "sunnyside"; - version = "0.1.1"; + version = "0.2.0"; src = pkg-src; - cargoHash = "sha256-iKjsrQ/u9SwQZNlSMPjJOxLRSbBuE21Ae0jnJ60fKoE="; + cargoHash = "sha256-aAzaj78FkeY7Q74AaKBhmGAm1b0WAeylBEg3vdwiWYc="; meta = { description = "File scrambler."; longDescription = '' diff --git a/test/test_sunnyside.sh b/test/test_sunnyside.sh index 5d27984d1..e961fd8f8 100644 --- a/test/test_sunnyside.sh +++ b/test/test_sunnyside.sh @@ -27,5 +27,20 @@ if [[ "$ccontent" != "SUCCESS" ]]; then exit 1 fi +make-title -c yellow "Testing sunnyside bu/rs (file)" +echo "BACKUP_TEST" > original.txt +sunnyside bu -t original.txt -s 4 -k u -d backup.tyz +[[ -f backup.tyz ]] || { echo_red "bu: dest not created"; exit 1; } +sunnyside rs -t backup.tyz -s 4 -k u -d restored.txt +[[ "$(cat restored.txt)" == "BACKUP_TEST" ]] || { echo_red "rs: file content mismatch"; exit 1; } + +make-title -c yellow "Testing sunnyside bu/rs (directory)" +mkdir -p testdir/sub +echo "NESTED" > testdir/sub/file.txt +sunnyside bu -t testdir -s 4 -k u -d dir_backup.tyz +[[ -f dir_backup.tyz ]] || { echo_red "bu: dir dest not created"; exit 1; } +sunnyside rs -t dir_backup.tyz -s 4 -k u -d testdir_restored +[[ "$(cat testdir_restored/sub/file.txt)" == "NESTED" ]] || { echo_red "rs: dir content mismatch"; exit 1; } + # Cleanup rm -rf "$tmpdir" From bfbab77ba7c05364e56831d710d02841824ca73f Mon Sep 17 00:00:00 2001 From: "goromal (bot)" Date: Fri, 26 Jun 2026 06:20:41 +0000 Subject: [PATCH 2/5] Update changelog --- changes/pr-559.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/pr-559.md diff --git a/changes/pr-559.md b/changes/pr-559.md new file mode 100644 index 000000000..7d87c936a --- /dev/null +++ b/changes/pr-559.md @@ -0,0 +1 @@ +feat: bump sunnyside to 0.2.0 with bu/rs subcommands From 97ec351bc219def8d8a852f6973d080c563219ea Mon Sep 17 00:00:00 2001 From: Andrew Torgesen Date: Fri, 26 Jun 2026 12:19:21 -0700 Subject: [PATCH 3/5] fix: update sunnyside lock to include --dest directory guard fix Picks up sunnyside 89dd172 which guards against --dest being a directory in bu/rs, preventing silent removal and ENOTDIR rename failure. Co-Authored-By: Claude Sonnet 4.6 --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a60aa4ea0..a69c0b998 100644 --- a/flake.lock +++ b/flake.lock @@ -938,11 +938,11 @@ "sunnyside": { "flake": false, "locked": { - "lastModified": 1782453344, - "narHash": "sha256-6GB3UkF4sNcXOUBxlydWwWD/qKA4WKpc7HFx2wNZDsw=", + "lastModified": 1782501062, + "narHash": "sha256-YBn5iN5xzxKxg4kjh2dbxkpG1v6i4AkHsG0ZO1kv+7Q=", "owner": "goromal", "repo": "sunnyside", - "rev": "ee502edd1ed3a3260b8dc4d69cef48f4d161e405", + "rev": "89dd172afcad11eac2ad270722db1a2bf118d7f2", "type": "github" }, "original": { From 50ab6eb7d20bb4a17338aff571183aac75937028 Mon Sep 17 00:00:00 2001 From: Andrew Torgesen Date: Fri, 26 Jun 2026 17:50:25 -0700 Subject: [PATCH 4/5] Update flake.nix --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 53abba88b..539070104 100644 --- a/flake.nix +++ b/flake.nix @@ -147,7 +147,7 @@ spelling-corrector.url = "github:goromal/spelling-corrector"; spelling-corrector.flake = false; - sunnyside.url = "github:goromal/sunnyside/dev/ssbu"; + sunnyside.url = "github:goromal/sunnyside"; sunnyside.flake = false; symforce.url = "github:symforce-org/symforce?ref=refs/tags/v0.9.0"; From 7171d3cbf764e1ffd9769573f9e128ca31cc62a8 Mon Sep 17 00:00:00 2001 From: "goromal (bot)" Date: Sat, 27 Jun 2026 00:52:45 +0000 Subject: [PATCH 5/5] Update flake lock --- flake.lock | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a69c0b998..aa049e65a 100644 --- a/flake.lock +++ b/flake.lock @@ -938,16 +938,15 @@ "sunnyside": { "flake": false, "locked": { - "lastModified": 1782501062, + "lastModified": 1782521357, "narHash": "sha256-YBn5iN5xzxKxg4kjh2dbxkpG1v6i4AkHsG0ZO1kv+7Q=", "owner": "goromal", "repo": "sunnyside", - "rev": "89dd172afcad11eac2ad270722db1a2bf118d7f2", + "rev": "0da2719982d168969a9a793b85de9f6d8dd2e6f3", "type": "github" }, "original": { "owner": "goromal", - "ref": "dev/ssbu", "repo": "sunnyside", "type": "github" }