Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Remote building for untrusted clients -- contains #3446 #3915

Closed

Conversation

Ericson2314
Copy link
Member

No description provided.

Ericson2314 and others added 30 commits March 24, 2020 20:42
This will allow us to express intermediate values of
`hashDerivationModulo` in the following commit.
Use the newly parameterized derivation types to enforce the invariants
needed to split these.
This further continues with the dependency inverstion. Also I just went
ahead and exposed `parseDerivation`: it seems like the more proper
building block, and not a bad thing to expose if we are trying to be
less wedded to drv files on disk anywas.
This assumption is broken by CA derivations. Making a PR now to do the
breaking daemon change as soon as possible (if it is already too late,
we can bump protocol intead).
Path is null when not known statically.
See comment for details.
The name is now stored with the derivation itself.
Since the jsonObject unique ptr is reset to flush the string to make
`__json`, all these `!jsonObject` conditions will always be true.
This is much better than making the caller responsible.
Now covers derivations, with and without input derivations, and all
possible `hashModuloDerivation`-motivated template parameters.
See store-api.hh new method description for details.
@Ericson2314
Copy link
Member Author

Ah, I'm afraid this approach is dead due to drv.inputSrcs being overridden in build-remote.cc :(. When I send over the normalized original derivation, we have the right output paths but wrong inputs, as the hashed input drvs cannot contribute anything. If I extend that derivation with the closure of the original inputs, we have the right inputs, bu wrong output paths.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants