[HN Gopher] Disorderfs: FUSE-based filesystem that introduces no...
___________________________________________________________________
Disorderfs: FUSE-based filesystem that introduces non-determinism
into metadata
Author : mmastrac
Score : 46 points
Date : 2021-01-28 14:45 UTC (1 days ago)
(HTM) web link (salsa.debian.org)
(TXT) w3m dump (salsa.debian.org)
| izietto wrote:
| On Gitlab isn't possible even to read the Readme without
| javascript enabled. Too bad!
| kenniskrag wrote:
| https://salsa.debian.org/reproducible-builds/disorderfs/-/ra...
| danbst wrote:
| Sorry for plugging in. NixOS has a plan to use DisorderFS in
| making 100% reproducible build.
|
| https://r13y.com/
|
| As I understand it, currently several packages are not
| reproducible (like, python, pytest, gcc), so it is not priority,
| but when those large packages will be done, r13y will start using
| DisorderFS to uncover remaining reproducibility bugs.
|
| This is too idealistic, but gives lots of pleasure about package
| space.
| amelius wrote:
| Instead of introducing non-determinism, shouldn't it instead
| try to enforce determinism in any possible way? (E.g. running
| all processes under ptrace or by using virtualization and
| thereby making the OS behave in a deterministic way during a
| build).
| eeZah7Ux wrote:
| The work done in Debian around reproducible builds is really
| impressive.
| EdSchouten wrote:
| Buildbarn, a build cluster implementation for Bazel that I
| maintain, can also run build actions (compilation steps, unit
| tests) in a FUSE file system. Though the primary motivator for
| this is that it reduces the time to construct a build action's
| file system to nearly instant, it has the advantage that I can
| also do things similar to disorderfs. Shuffling directory
| listings is actually something that I also added. Pretty useful!
|
| https://github.com/buildbarn/bb-remote-execution/blob/eb1150...
| infogulch wrote:
| If you are confident that certain build steps are
| deterministic, can you enable Dockerfile-like caching for
| intermediate steps? The way docker does it is take a hash of
| the "input" filesystem and the command, and see if there's an
| associated "result" filesystem, and if there is then just jump
| to evaluating the next command with the previous result as
| input.
___________________________________________________________________
(page generated 2021-01-29 23:00 UTC)