Can anyone explain, why it ist such a great challenge. Compilers are deterministic ,therefore using the same Code and the dependencies must result in the same?
Things like time stamps used to be commonly embedded in the binaries, debug packaging, and similar.
Those change with every build, and really screw with things like this.
It's not just timestamps either, it turns out there is a bunch of miscellaneous stuff that gets generated during build runs ("name of build host", random input for $reasons, etc).
So, package building processes have had to be changed.
Not impossible, just time consuming to get done it seems.