Public Member Functions | |
LocalFSStore (const Params ¶ms) | |
void | narFromPath (const StorePath &path, Sink &sink) override |
ref< SourceAccessor > | getFSAccessor (bool requireValidPath=true) override |
virtual Path | addPermRoot (const StorePath &storePath, const Path &gcRoot)=0 |
virtual Path | getRealStoreDir () |
Path | toRealPath (const Path &storePath) override |
std::optional< std::string > | getBuildLogExact (const StorePath &path) override |
![]() | |
LocalFSStoreConfig (PathView path, const Params ¶ms) | |
StoreConfig ()=delete | |
![]() | |
virtual const std::string | name ()=0 |
virtual std::string | doc () |
virtual std::optional< ExperimentalFeature > | experimentalFeature () const |
StoreDirConfig ()=delete | |
![]() | |
StorePath | parseStorePath (std::string_view path) const |
std::optional< StorePath > | maybeParseStorePath (std::string_view path) const |
std::string | printStorePath (const StorePath &path) const |
StorePathSet | parseStorePathSet (const PathSet &paths) const |
PathSet | printStorePathSet (const StorePathSet &path) const |
std::string | showPaths (const StorePathSet &paths) |
bool | isInStore (PathView path) const |
bool | isStorePath (std::string_view path) const |
std::pair< StorePath, Path > | toStorePath (PathView path) const |
StorePath | makeStorePath (std::string_view type, std::string_view hash, std::string_view name) const |
StorePath | makeStorePath (std::string_view type, const Hash &hash, std::string_view name) const |
StorePath | makeOutputPath (std::string_view id, const Hash &hash, std::string_view name) const |
StorePath | makeFixedOutputPath (std::string_view name, const FixedOutputInfo &info) const |
StorePath | makeFixedOutputPathFromCA (std::string_view name, const ContentAddressWithReferences &ca) const |
std::pair< StorePath, Hash > | computeStorePath (std::string_view name, const SourcePath &path, ContentAddressMethod method=FileIngestionMethod::NixArchive, HashAlgorithm hashAlgo=HashAlgorithm::SHA256, const StorePathSet &references={}, PathFilter &filter=defaultPathFilter) const |
Config (StringMap initials={}) | |
![]() | |
Config (StringMap initials={}) | |
bool | set (const std::string &name, const std::string &value) override |
void | addSetting (AbstractSetting *setting) |
void | getSettings (std::map< std::string, SettingInfo > &res, bool overriddenOnly=false) override |
void | resetOverridden () override |
nlohmann::json | toJSON () override |
std::string | toKeyValue () override |
void | convertToArgs (Args &args, const std::string &category) override |
![]() | |
void | applyConfig (const std::string &contents, const std::string &path="<unknown>") |
void | warnUnknownSettings () |
void | reapplyUnknownSettings () |
![]() | |
virtual void | init () |
virtual std::string | getUri ()=0 |
Path | followLinksToStore (std::string_view path) const |
StorePath | followLinksToStorePath (std::string_view path) const |
bool | isValidPath (const StorePath &path) |
void | substitutePaths (const StorePathSet &paths) |
virtual StorePathSet | queryValidPaths (const StorePathSet &paths, SubstituteFlag maybeSubstitute=NoSubstitute) |
virtual StorePathSet | queryAllValidPaths () |
ref< const ValidPathInfo > | queryPathInfo (const StorePath &path) |
void | queryPathInfo (const StorePath &path, Callback< ref< const ValidPathInfo > > callback) noexcept |
std::optional< std::shared_ptr< const ValidPathInfo > > | queryPathInfoFromClientCache (const StorePath &path) |
std::shared_ptr< const Realisation > | queryRealisation (const DrvOutput &) |
void | queryRealisation (const DrvOutput &, Callback< std::shared_ptr< const Realisation > > callback) noexcept |
virtual bool | pathInfoIsUntrusted (const ValidPathInfo &) |
virtual bool | realisationIsUntrusted (const Realisation &) |
virtual void | queryReferrers (const StorePath &path, StorePathSet &referrers) |
virtual StorePathSet | queryValidDerivers (const StorePath &path) |
virtual StorePathSet | queryDerivationOutputs (const StorePath &path) |
virtual std::map< std::string, std::optional< StorePath > > | queryPartialDerivationOutputMap (const StorePath &path, Store *evalStore=nullptr) |
virtual std::map< std::string, std::optional< StorePath > > | queryStaticPartialDerivationOutputMap (const StorePath &path) |
OutputPathMap | queryDerivationOutputMap (const StorePath &path, Store *evalStore=nullptr) |
virtual std::optional< StorePath > | queryPathFromHashPart (const std::string &hashPart)=0 |
virtual StorePathSet | querySubstitutablePaths (const StorePathSet &paths) |
virtual void | querySubstitutablePathInfos (const StorePathCAMap &paths, SubstitutablePathInfos &infos) |
virtual void | addToStore (const ValidPathInfo &info, Source &narSource, RepairFlag repair=NoRepair, CheckSigsFlag checkSigs=CheckSigs)=0 |
virtual void | addMultipleToStore (Source &source, RepairFlag repair=NoRepair, CheckSigsFlag checkSigs=CheckSigs) |
virtual void | addMultipleToStore (PathsSource &&pathsToCopy, Activity &act, RepairFlag repair=NoRepair, CheckSigsFlag checkSigs=CheckSigs) |
virtual StorePath | addToStore (std::string_view name, const SourcePath &path, ContentAddressMethod method=ContentAddressMethod::Raw::NixArchive, HashAlgorithm hashAlgo=HashAlgorithm::SHA256, const StorePathSet &references=StorePathSet(), PathFilter &filter=defaultPathFilter, RepairFlag repair=NoRepair) |
ValidPathInfo | addToStoreSlow (std::string_view name, const SourcePath &path, ContentAddressMethod method=ContentAddressMethod::Raw::NixArchive, HashAlgorithm hashAlgo=HashAlgorithm::SHA256, const StorePathSet &references=StorePathSet(), std::optional< Hash > expectedCAHash={}) |
virtual StorePath | addToStoreFromDump (Source &dump, std::string_view name, FileSerialisationMethod dumpMethod=FileSerialisationMethod::NixArchive, ContentAddressMethod hashMethod=ContentAddressMethod::Raw::NixArchive, HashAlgorithm hashAlgo=HashAlgorithm::SHA256, const StorePathSet &references=StorePathSet(), RepairFlag repair=NoRepair)=0 |
virtual void | registerDrvOutput (const Realisation &output) |
virtual void | registerDrvOutput (const Realisation &output, CheckSigsFlag checkSigs) |
virtual void | buildPaths (const std::vector< DerivedPath > &paths, BuildMode buildMode=bmNormal, std::shared_ptr< Store > evalStore=nullptr) |
virtual std::vector< KeyedBuildResult > | buildPathsWithResults (const std::vector< DerivedPath > &paths, BuildMode buildMode=bmNormal, std::shared_ptr< Store > evalStore=nullptr) |
virtual BuildResult | buildDerivation (const StorePath &drvPath, const BasicDerivation &drv, BuildMode buildMode=bmNormal) |
virtual void | ensurePath (const StorePath &path) |
virtual void | addTempRoot (const StorePath &path) |
std::string | makeValidityRegistration (const StorePathSet &paths, bool showDerivers, bool showHash) |
virtual void | optimiseStore () |
virtual bool | verifyStore (bool checkContents, RepairFlag repair=NoRepair) |
virtual void | repairPath (const StorePath &path) |
virtual void | addSignatures (const StorePath &storePath, const StringSet &sigs) |
Derivation | derivationFromPath (const StorePath &drvPath) |
Derivation | readDerivation (const StorePath &drvPath) |
Derivation | readInvalidDerivation (const StorePath &drvPath) |
virtual void | computeFSClosure (const StorePathSet &paths, StorePathSet &out, bool flipDirection=false, bool includeOutputs=false, bool includeDerivers=false) |
void | computeFSClosure (const StorePath &path, StorePathSet &out, bool flipDirection=false, bool includeOutputs=false, bool includeDerivers=false) |
virtual void | queryMissing (const std::vector< DerivedPath > &targets, StorePathSet &willBuild, StorePathSet &willSubstitute, StorePathSet &unknown, uint64_t &downloadSize, uint64_t &narSize) |
StorePaths | topoSortPaths (const StorePathSet &paths) |
void | exportPaths (const StorePathSet &paths, Sink &sink) |
void | exportPath (const StorePath &path, Sink &sink) |
StorePaths | importPaths (Source &source, CheckSigsFlag checkSigs=CheckSigs) |
const Stats & | getStats () |
StorePathSet | exportReferences (const StorePathSet &storePaths, const StorePathSet &inputPaths) |
std::optional< StorePath > | getBuildDerivationPath (const StorePath &) |
void | clearPathInfoCache () |
virtual void | connect () |
virtual unsigned int | getProtocol () |
virtual std::optional< TrustedFlag > | isTrustedClient ()=0 |
Path | toRealPath (const StorePath &storePath) |
virtual void | setOptions () |
virtual std::optional< std::string > | getVersion () |
![]() | |
virtual Roots | findRoots (bool censor)=0 |
virtual void | collectGarbage (const GCOptions &options, GCResults &results)=0 |
![]() | |
std::optional< std::string > | getBuildLog (const StorePath &path) |
virtual void | addBuildLog (const StorePath &path, std::string_view log)=0 |
Static Public Attributes | |
static std::string | operationName = "Local Filesystem Store" |
static const std::string | drvsLogDir = "drvs" |
![]() | |
static constexpr const char * | MissingName = "x" |
![]() | |
static std::string | operationName = "Garbage collection" |
![]() | |
static std::string | operationName = "Build log storage and retrieval" |
Additional Inherited Members | |
![]() | |
using | Params = StoreReference::Params |
![]() | |
using | Settings = std::map<std::string, SettingData> |
![]() | |
using | PathsSource = std::vector<std::pair<ValidPathInfo, std::unique_ptr<Source>>> |
![]() | |
static StringSet | getDefaultSystemFeatures () |
![]() | |
static LogStore & | require (Store &store) |
![]() | |
const OptionalPathSetting | rootDir |
const PathSetting | stateDir |
const PathSetting | logDir |
const PathSetting | realStoreDir |
![]() | |
const Setting< int > | pathInfoCacheSize |
const Setting< bool > | isTrusted |
Setting< int > | priority |
Setting< bool > | wantMassQuery |
Setting< StringSet > | systemFeatures |
![]() | |
const PathSetting | storeDir_ |
const Path | storeDir = storeDir_ |
![]() | |
AbstractConfig (StringMap initials={}) | |
![]() | |
Store (const Params ¶ms) | |
virtual bool | isValidPathUncached (const StorePath &path) |
virtual void | queryPathInfoUncached (const StorePath &path, Callback< std::shared_ptr< const ValidPathInfo > > callback) noexcept=0 |
virtual void | queryRealisationUncached (const DrvOutput &, Callback< std::shared_ptr< const Realisation > > callback) noexcept=0 |
void | unsupported (const std::string &op) |
![]() | |
StringMap | unknownSettings |
![]() | |
SharedSync< State > | state |
std::shared_ptr< NarInfoDiskCache > | diskCache |
Stats | stats |
|
pure virtual |
Creates symlink from the gcRoot
to the storePath
and registers the gcRoot
as a permanent GC root. The gcRoot
symlink lives outside the store and is created and owned by the user.
gcRoot | The location of the symlink. |
storePath | The store object being rooted. The symlink will point to toRealPath(store.printStorePath(storePath)) . |
How the permanent GC root corresponding to this symlink is managed is implementation-specific.
Implemented in nix::IndirectRootStore, and nix::MountedSSHStore.
|
overridevirtual |
Implements nix::LogStore.
|
overridevirtual |
Implements nix::Store.
Reimplemented in nix::MountedSSHStore, and nix::UDSRemoteStore.
Write a NAR dump of a store path.
Implements nix::Store.
Reimplemented in nix::MountedSSHStore, and nix::UDSRemoteStore.
Reimplemented from nix::Store.