Am 21.11.2016 um 15:13 schrieb Ludovic Courtès: > Could we instead pass them via the ‘LocalStore’ constructor,
I started implementing this, but adding clientUid/Gid as a attribute (property) of 'LocalStore' feels wrong. The LocalStore is about the store: files being there, querying and such. Even "build" is a bit of a misfit IMO. Okay, probably you mean, passing to the ‘LocalStore’ constructor and then forward them to the goals. Which means changing `makeDerevationGoal', which is used quite some time. From there you would need to pass it onto the 'DerivationGoal' constructor. These are quite some changes for the rare case of building, and only if the build failed and only if the user passed --keep-failed. I have the impression, that 'Settings' have been introduced exactly to save passing around such information. "keep-failed" is passed to 'deleteTmpDir()' exactly this way (via Settings). Which means if passing clientUid/Gid via constructors, we would have two different ways of passing information used in the same small function - which would be inconsistent. Thus said, I'm in strong favour of using Settings. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |