diff --git a/nixos/tests/apfs.nix b/nixos/tests/apfs.nix index ac0459b57e9c..9fe689951c78 100644 --- a/nixos/tests/apfs.nix +++ b/nixos/tests/apfs.nix @@ -48,5 +48,18 @@ import ./make-test-python.nix ({ pkgs, ... }: { "umount /tmp/mnt", "apfsck /dev/vdb", ) + with subtest("Snapshots"): + machine.succeed( + "mkapfs /dev/vdb", + "mount -o cknodes,readwrite /dev/vdb /tmp/mnt", + "echo 'Hello World' > /tmp/mnt/test.txt", + "apfs-snap /tmp/mnt snap-1", + "rm /tmp/mnt/test.txt", + "umount /tmp/mnt", + "mount -o cknodes,readwrite,snap=snap-1 /dev/vdb /tmp/mnt", + "echo 'Hello World' | diff - /tmp/mnt/test.txt", + "umount /tmp/mnt", + "apfsck /dev/vdb", + ) ''; }) diff --git a/pkgs/tools/filesystems/apfsprogs/default.nix b/pkgs/tools/filesystems/apfsprogs/default.nix index 8ed9f3b2c046..4e1593ea98bd 100644 --- a/pkgs/tools/filesystems/apfsprogs/default.nix +++ b/pkgs/tools/filesystems/apfsprogs/default.nix @@ -6,17 +6,18 @@ stdenv.mkDerivation { pname = "apfsprogs"; - version = "unstable-2023-03-21"; + version = "unstable-2023-05-16"; src = fetchFromGitHub { owner = "linux-apfs"; repo = "apfsprogs"; - rev = "be41cc38194bd41a41750631577e6d8b31953103"; - hash = "sha256-9o8DKXyK5qIoVGVKMJxsinEkbJImyuDglf534kanzFE="; + rev = "7be75bcf1a533272bc69684b4b7d33c2adba315c"; + hash = "sha256-WHAUrDiXy5HCwN876bZGc/OUHJITf6Fnpx4kAwAhcAs="; }; buildPhase = '' runHook preBuild + make -C apfs-snap $makeFlags make -C apfsck $makeFlags make -C mkapfs $makeFlags runHook postBuild @@ -24,6 +25,7 @@ stdenv.mkDerivation { installPhase = '' runHook preInstall + make -C apfs-snap install DESTDIR="$out" $installFlags make -C apfsck install DESTDIR="$out" $installFlags make -C mkapfs install DESTDIR="$out" $installFlags runHook postInstall