-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hide all files from build that are not build inputs #1137
Comments
Linux support uses namespaces, and on Darwin the support is currently broken but we generate sandbox specs on the fly and use the built-in sandboxing machinery. |
Closing as we already have sandboxes, please reopen with more specific feature requirement if current situation doesn't work/fit. |
Duplicates #903 |
In the context of commercialhaskell/stack#2802 it occurred to me that in general, a software being built inside nix can still introduce non-reproducible builds by reading arbitray files on that the build machine (e.g. by simply hardcoding a use of the contents of
/etc/group
, for example).To make builds truly isolated, we would need an equivalent of
--pure
that can:/nix/store/...
paths that are declared as build inputsWhich of these does nix already support?
There are a couple methods this could be implemented: FUSE filesystems (e.g. the
tup
build system uses those),fakeroot-ng
(usesptrace
),seccomp
(like Chromium uses for sandboxing), orcgroups
(requires root).With a
patrace
based approach even the "stop the time" bit could be done.The text was updated successfully, but these errors were encountered: