<story><title>Disorderfs: FUSE-based filesystem that introduces non-determinism into metadata</title><url>https://salsa.debian.org/reproducible-builds/disorderfs</url></story><parent_chain><item><author>amelius</author><text>Instead of introducing non-determinism, shouldn&amp;#x27;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).</text></item><item><author>danbst</author><text>Sorry for plugging in. NixOS has a plan to use DisorderFS in making 100% reproducible build.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;r13y.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;r13y.com&amp;#x2F;&lt;/a&gt;&lt;p&gt;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.&lt;p&gt;This is too idealistic, but gives lots of pleasure about package space.</text></item></parent_chain><comment><author>gopalv</author><text>&amp;gt; shouldn&amp;#x27;t it instead try to enforce determinism in any possible way&lt;p&gt;That would only fix the build machine&amp;#x27;s problem, it wouldn&amp;#x27;t fix anyone else&amp;#x27;s builds.&lt;p&gt;A repeatable build without determinism is a fix for all people everywhere.</text></comment>
<story><title>Disorderfs: FUSE-based filesystem that introduces non-determinism into metadata</title><url>https://salsa.debian.org/reproducible-builds/disorderfs</url></story><parent_chain><item><author>amelius</author><text>Instead of introducing non-determinism, shouldn&amp;#x27;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).</text></item><item><author>danbst</author><text>Sorry for plugging in. NixOS has a plan to use DisorderFS in making 100% reproducible build.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;r13y.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;r13y.com&amp;#x2F;&lt;/a&gt;&lt;p&gt;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.&lt;p&gt;This is too idealistic, but gives lots of pleasure about package space.</text></item></parent_chain><comment><author>rblatz</author><text>I think the idea is you can build from source on any file system or drive and get the same results.  By adding artificial purposeful nondeterminism you can fix your builds to account for unintentional natural nondeterminism.</text></comment>