[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)