> What’s currently implemented is memoization: the hash (of the .drv and > that of the output(s)) is computed over all the inputs. > > Since the output file name (the one passed to “./configure --prefix” & > co.) appears in the build result 99% of the time, the content vary at > least due to occurrences of the output file name. > > Thus, content comparison are not doable as is. What would help is > content comparison modulo output file name(s). > > But again, “same hash as it did before” is a framing that doesn’t hold > in a purely functional, stateless context.
Thank you for the clarification. Although, I must admit, I am not sure why the filename would change (except if it happens as a consequence of the hash being put in the filename). I will need to spend the next few months actually reading the code and getting familiar with how things work "on the ground" before I can have anything useful to say. The reason I started this particular discussion was mostly to get a reality check whether the same methods apply in the build system context as in other authenticated datastructures (I don't see why not but I'm a layman, hence reality checks..) In any case, glad to receive and answer. Keep up the good work! :) Kind regards, - Ilmu