mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
image: Use unshare to map root user for btrfs
The current version of `mkfs.btrfs` has a regression when combined with `fakeroot` where it does not detect the faked root uid/gid of files when building the filesystem. This produces partition images with `/` owned by the guixbuild user when it should be owned by root. Using `unshare` rather than `fakeroot` resolves this by doing the uid mapping at the kernel level rather than overloading the `stat` function. An equivalent issue was [reported and patched in NixOS](https://github.com/NixOS/nixpkgs/pull/434122) * gnu/build/image.scm (system-disk-image): Import `util-linux` instead of `fakeroot`. * gnu/system/image.scm (make-btrfs-image): Use `unshare --map-root-user` Change-Id: Id4eeaf510f3ec5f4a23b4d700a73e2cf46da40b1 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #5536
This commit is contained in:
committed by
Ludovic Courtès
parent
35929d5afd
commit
62c28bc6d8
@@ -504,7 +504,7 @@ used in the image."
|
||||
initialize-root-partition))
|
||||
(inputs '#+(cond
|
||||
((string=? type "btrfs")
|
||||
(list btrfs-progs fakeroot))
|
||||
(list btrfs-progs util-linux))
|
||||
((string-prefix? "ext" type)
|
||||
(list e2fsprogs fakeroot))
|
||||
((string=? type "f2fs")
|
||||
|
||||
Reference in New Issue
Block a user