7#include "lix/libutil/json-fwd.hh"
39 std::string to_string()
const;
41 std::string strHash()
const
42 {
return drvHash.to_string(Base::Base16,
true); }
44 static DrvOutput parse(
const std::string &);
53 StringSet signatures = {};
64 static Realisation fromJSON(
const JSON& json,
const std::string& whence);
66 std::string fingerprint()
const;
68 bool checkSignature(
const PublicKeys & publicKeys,
const std::string & sig)
const;
69 size_t checkSignatures(
const PublicKeys & publicKeys)
const;
71 static kj::Promise<Result<std::set<Realisation>>>
72 closure(
Store &,
const std::set<Realisation> &);
73 static kj::Promise<Result<void>>
74 closure(
Store &,
const std::set<Realisation> &, std::set<Realisation> & res);
76 bool isCompatibleWith(
const Realisation & other)
const;
78 StorePath getPath()
const {
return outPath; }
111 StorePath getPath()
const {
return path; }
125 using Raw = std::variant<Realisation, OpaquePath>;
128 using Set = std::set<RealisedPath>;
138 kj::Promise<Result<void>> closure(
Store & store, Set & ret)
const;
139 static kj::Promise<Result<void>> closure(
Store & store,
const Set & startPaths, Set & ret);
140 kj::Promise<Result<Set>> closure(
Store & store)
const;
145class MissingRealisation :
public Error
149 : MissingRealisation(outputId.
outputName, outputId.strHash())
151 MissingRealisation(std::string_view drv,
OutputName outputName)
152 : Error(
"cannot operate on output '%s' of the "
153 "unbuilt derivation '%s'",
Definition store-api.hh:195
#define GENERATE_CMP(args...)
Definition comparator.hh:65
std::map< DrvOutput, Realisation > DrvOutputs
Definition realisation.hh:98
std::map< OutputName, Realisation > SingleDrvOutputs
Definition realisation.hh:89
std::string OutputName
Definition outputs-spec.hh:20
Definition realisation.hh:24
OutputName outputName
Definition realisation.hh:37
Hash drvHash
Definition realisation.hh:32
Definition realisation.hh:108
Definition outputs-spec.hh:28
Definition realisation.hh:49
std::map< DrvOutput, StorePath > dependentRealisations
Definition realisation.hh:61
StorePath path() const
Definition realisation.cc:154