Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::LocalFSStore Class Referenceabstract
Inheritance diagram for nix::LocalFSStore:
nix::LocalFSStoreConfig nix::Store nix::GcStore nix::LogStore nix::StoreConfig nix::StoreConfig nix::Store nix::Store nix::StoreDirConfig nix::StoreDirConfig nix::StoreConfig nix::StoreConfig nix::Config nix::Config nix::StoreDirConfig nix::StoreDirConfig nix::AbstractConfig nix::AbstractConfig nix::Config nix::Config nix::AbstractConfig nix::AbstractConfig nix::IndirectRootStore nix::MountedSSHStore nix::LocalStore nix::UDSRemoteStore nix::LocalOverlayStore

Public Member Functions

 LocalFSStore (const Params &params)
 
void narFromPath (const StorePath &path, Sink &sink) override
 
ref< SourceAccessorgetFSAccessor (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
 
- Public Member Functions inherited from nix::LocalFSStoreConfig
 LocalFSStoreConfig (PathView path, const Params &params)
 
 StoreConfig ()=delete
 
- Public Member Functions inherited from nix::StoreConfig
virtual const std::string name ()=0
 
virtual std::string doc ()
 
virtual std::optional< ExperimentalFeatureexperimentalFeature () const
 
 StoreDirConfig ()=delete
 
- Public Member Functions inherited from nix::StoreDirConfig
StorePath parseStorePath (std::string_view path) const
 
std::optional< StorePathmaybeParseStorePath (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, PathtoStorePath (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, HashcomputeStorePath (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={})
 
- Public Member Functions inherited from nix::Config
 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
 
- Public Member Functions inherited from nix::AbstractConfig
void applyConfig (const std::string &contents, const std::string &path="<unknown>")
 
void warnUnknownSettings ()
 
void reapplyUnknownSettings ()
 
- Public Member Functions inherited from nix::Store
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 ValidPathInfoqueryPathInfo (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 RealisationqueryRealisation (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< StorePathqueryPathFromHashPart (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< KeyedBuildResultbuildPathsWithResults (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 StatsgetStats ()
 
StorePathSet exportReferences (const StorePathSet &storePaths, const StorePathSet &inputPaths)
 
std::optional< StorePathgetBuildDerivationPath (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 ()
 
- Public Member Functions inherited from nix::GcStore
virtual Roots findRoots (bool censor)=0
 
virtual void collectGarbage (const GCOptions &options, GCResults &results)=0
 
- Public Member Functions inherited from nix::LogStore
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 Public Attributes inherited from nix::Store
static constexpr const charMissingName = "x"
 
- Static Public Attributes inherited from nix::GcStore
static std::string operationName = "Garbage collection"
 
- Static Public Attributes inherited from nix::LogStore
static std::string operationName = "Build log storage and retrieval"
 

Additional Inherited Members

- Public Types inherited from nix::StoreConfig
using Params = StoreReference::Params
 
- Public Types inherited from nix::Config
using Settings = std::map<std::string, SettingData>
 
- Public Types inherited from nix::Store
using PathsSource = std::vector<std::pair<ValidPathInfo, std::unique_ptr<Source>>>
 
- Static Public Member Functions inherited from nix::StoreConfig
static StringSet getDefaultSystemFeatures ()
 
- Static Public Member Functions inherited from nix::LogStore
static LogStorerequire (Store &store)
 
- Public Attributes inherited from nix::LocalFSStoreConfig
const OptionalPathSetting rootDir
 
const PathSetting stateDir
 
const PathSetting logDir
 
const PathSetting realStoreDir
 
- Public Attributes inherited from nix::StoreConfig
const Setting< intpathInfoCacheSize
 
const Setting< bool > isTrusted
 
Setting< intpriority
 
Setting< bool > wantMassQuery
 
Setting< StringSet > systemFeatures
 
- Public Attributes inherited from nix::StoreDirConfig
const PathSetting storeDir_
 
const Path storeDir = storeDir_
 
- Protected Member Functions inherited from nix::AbstractConfig
 AbstractConfig (StringMap initials={})
 
- Protected Member Functions inherited from nix::Store
 Store (const Params &params)
 
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)
 
- Protected Attributes inherited from nix::AbstractConfig
StringMap unknownSettings
 
- Protected Attributes inherited from nix::Store
SharedSync< Statestate
 
std::shared_ptr< NarInfoDiskCachediskCache
 
Stats stats
 

Member Function Documentation

◆ addPermRoot()

virtual Path nix::LocalFSStore::addPermRoot ( const StorePath & storePath,
const Path & gcRoot )
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.

Parameters
gcRootThe location of the symlink.
storePathThe 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.

◆ getBuildLogExact()

std::optional< std::string > nix::LocalFSStore::getBuildLogExact ( const StorePath & path)
overridevirtual

Implements nix::LogStore.

◆ getFSAccessor()

ref< SourceAccessor > nix::LocalFSStore::getFSAccessor ( bool requireValidPath = true)
overridevirtual
Returns
An object to access files in the Nix store.

Implements nix::Store.

Reimplemented in nix::MountedSSHStore, and nix::UDSRemoteStore.

◆ narFromPath()

void nix::LocalFSStore::narFromPath ( const StorePath & path,
Sink & sink )
overridevirtual

Write a NAR dump of a store path.

Implements nix::Store.

Reimplemented in nix::MountedSSHStore, and nix::UDSRemoteStore.

◆ toRealPath()

Path nix::LocalFSStore::toRealPath ( const Path & storePath)
inlineoverridevirtual

Reimplemented from nix::Store.


The documentation for this class was generated from the following files: