Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::LocalFSStore Class Referenceabstract
Inheritance diagram for nix::LocalFSStore:
nix::Store nix::GcStore nix::LogStore nix::Store nix::Store nix::IndirectRootStore nix::LocalStore nix::UDSRemoteStore

Public Member Functions

LocalFSStoreConfigconfig () override=0
const LocalFSStoreConfigconfig () const override=0
kj::Promise< Result< box_ptr< Source > > > narFromPath (const StorePath &path) override
ref< FSAccessorgetFSAccessor () override
virtual kj::Promise< Result< Path > > addPermRoot (const StorePath &storePath, const Path &gcRoot)=0
virtual Path getRealStoreDir ()
Path toRealPath (const Path &storePath) override
kj::Promise< Result< std::optional< std::string > > > getBuildLogExact (const StorePath &path) override
Public Member Functions inherited from nix::Store
virtual std::optional< AssociatedCredentialsassociatedCredentials () const
virtual kj::Promise< Result< void > > init ()
virtual std::string getUri ()=0
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
Path followLinksToStore (std::string_view path) const
StorePath followLinksToStorePath (std::string_view 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 makeTextPath (std::string_view name, const TextInfo &info) const
StorePath makeFixedOutputPathFromCA (std::string_view name, const ContentAddressWithReferences &ca) const
StorePath computeStorePathForPathRecursive (std::string_view name, const PreparedDump &source) const
StorePath computeStorePathForPathFlat (std::string_view name, const Path &srcPath) const
StorePath computeStorePathForText (std::string_view name, std::string_view s, const StorePathSet &references) const
kj::Promise< Result< bool > > isValidPath (const StorePath &path)
kj::Promise< Result< void > > substitutePaths (const StorePathSet &paths)
virtual kj::Promise< Result< StorePathSet > > queryValidPaths (const StorePathSet &paths, SubstituteFlag maybeSubstitute=NoSubstitute)
virtual kj::Promise< Result< StorePathSet > > queryAllValidPaths ()
kj::Promise< Result< ref< const ValidPathInfo > > > queryPathInfo (const StorePath &path)
kj::Promise< Result< std::shared_ptr< const Realisation > > > queryRealisation (const DrvOutput &)
virtual bool pathInfoIsUntrusted (const ValidPathInfo &)
virtual bool realisationIsUntrusted (const Realisation &)
virtual kj::Promise< Result< void > > queryReferrers (const StorePath &path, StorePathSet &referrers)
virtual kj::Promise< Result< StorePathSet > > queryValidDerivers (const StorePath &path)
virtual kj::Promise< Result< StorePathSet > > queryDerivationOutputs (const StorePath &path)
virtual kj::Promise< Result< std::map< std::string, std::optional< StorePath > > > > queryPartialDerivationOutputMap (const StorePath &path, Store *evalStore=nullptr)
virtual kj::Promise< Result< std::map< std::string, std::optional< StorePath > > > > queryStaticPartialDerivationOutputMap (const StorePath &path)
kj::Promise< Result< OutputPathMap > > queryDerivationOutputMap (const StorePath &path, Store *evalStore=nullptr)
virtual kj::Promise< Result< std::optional< StorePath > > > queryPathFromHashPart (const std::string &hashPart)=0
virtual kj::Promise< Result< StorePathSet > > querySubstitutablePaths (const StorePathSet &paths)
virtual kj::Promise< Result< void > > querySubstitutablePathInfos (const StorePathCAMap &paths, SubstitutablePathInfos &infos)
virtual kj::Promise< Result< void > > addToStore (const ValidPathInfo &info, AsyncInputStream &narSource, RepairFlag repair=NoRepair, CheckSigsFlag checkSigs=CheckSigs)=0
virtual kj::Promise< Result< void > > addMultipleToStore (PathsSource &pathsToCopy, Activity &act, RepairFlag repair=NoRepair, CheckSigsFlag checkSigs=CheckSigs)
virtual kj::Promise< Result< StorePath > > addToStoreRecursive (std::string_view name, const PreparedDump &source, HashType hashAlgo=HashType::SHA256, RepairFlag repair=NoRepair)
virtual kj::Promise< Result< StorePath > > addToStoreFlat (std::string_view name, const Path &srcPath, HashType hashAlgo=HashType::SHA256, RepairFlag repair=NoRepair)
kj::Promise< Result< ValidPathInfo > > addToStoreSlow (std::string_view name, const Path &srcPath, FileIngestionMethod method=FileIngestionMethod::Recursive, HashType hashAlgo=HashType::SHA256, std::optional< Hash > expectedCAHash={})
virtual kj::Promise< Result< StorePath > > addToStoreFromDump (AsyncInputStream &dump, std::string_view name, FileIngestionMethod method=FileIngestionMethod::Recursive, HashType hashAlgo=HashType::SHA256, RepairFlag repair=NoRepair, const StorePathSet &references=StorePathSet())
virtual kj::Promise< Result< StorePath > > addTextToStore (std::string_view name, std::string_view s, const StorePathSet &references, RepairFlag repair=NoRepair)=0
virtual kj::Promise< Result< void > > registerDrvOutput (const Realisation &output)
virtual kj::Promise< Result< void > > registerDrvOutput (const Realisation &output, CheckSigsFlag checkSigs)
virtual kj::Promise< Result< void > > buildPaths (const std::vector< DerivedPath > &paths, BuildMode buildMode=bmNormal, std::shared_ptr< Store > evalStore=nullptr)
virtual kj::Promise< Result< std::vector< KeyedBuildResult > > > buildPathsWithResults (const std::vector< DerivedPath > &paths, BuildMode buildMode=bmNormal, std::shared_ptr< Store > evalStore=nullptr)
virtual kj::Promise< Result< BuildResult > > buildDerivation (const StorePath &drvPath, const BasicDerivation &drv, BuildMode buildMode=bmNormal)
virtual kj::Promise< Result< void > > ensurePath (const StorePath &path)
virtual kj::Promise< Result< void > > addTempRoot (const StorePath &path)
kj::Promise< Result< std::string > > makeValidityRegistration (const StorePathSet &paths, bool showDerivers, bool showHash)
kj::Promise< Result< JSON > > pathInfoToJSON (const StorePathSet &storePaths, bool includeImpureInfo, bool showClosureSize, Base hashBase=Base::Base32, AllowInvalidFlag allowInvalid=DisallowInvalid)
kj::Promise< Result< std::pair< uint64_t, uint64_t > > > getClosureSize (const StorePath &storePath)
virtual kj::Promise< Result< void > > optimiseStore ()
virtual kj::Promise< Result< bool > > verifyStore (bool checkContents, RepairFlag repair=NoRepair)
virtual kj::Promise< Result< void > > repairPath (const StorePath &path)
virtual kj::Promise< Result< void > > addSignatures (const StorePath &storePath, const StringSet &sigs)
kj::Promise< Result< Derivation > > derivationFromPath (const StorePath &drvPath)
kj::Promise< Result< Derivation > > readDerivation (const StorePath &drvPath)
kj::Promise< Result< Derivation > > readInvalidDerivation (const StorePath &drvPath)
virtual kj::Promise< Result< void > > computeFSClosure (const StorePathSet &paths, StorePathSet &out, bool flipDirection=false, bool includeOutputs=false, bool includeDerivers=false)
kj::Promise< Result< void > > computeFSClosure (const StorePath &path, StorePathSet &out, bool flipDirection=false, bool includeOutputs=false, bool includeDerivers=false)
virtual kj::Promise< Result< void > > queryMissing (const std::vector< DerivedPath > &targets, StorePathSet &willBuild, StorePathSet &willSubstitute, StorePathSet &unknown, uint64_t &downloadSize, uint64_t &narSize)
kj::Promise< Result< StorePaths > > topoSortPaths (const StorePathSet &paths)
kj::Promise< Result< void > > exportPaths (const StorePathSet &paths, Sink &sink)
kj::Promise< Result< void > > exportPath (const StorePath &path, Sink &sink)
kj::Promise< Result< StorePaths > > importPaths (Source &source, CheckSigsFlag checkSigs=CheckSigs)
kj::Promise< Result< Stats<> > > getStats ()
kj::Promise< Result< StorePathSet > > exportReferences (const StorePathSet &storePaths, const StorePathSet &inputPaths)
kj::Promise< Result< std::optional< StorePath > > > getBuildDerivationPath (const StorePath &)
kj::Promise< void > clearPathInfoCache ()
virtual kj::Promise< Result< void > > connect ()
virtual kj::Promise< Result< unsigned int > > getProtocol ()
virtual kj::Promise< Result< std::optional< TrustedFlag > > > isTrustedClient ()=0
Path toRealPath (const StorePath &storePath)
virtual kj::Promise< Result< void > > setOptions ()
virtual kj::Promise< Result< std::optional< std::string > > > getVersion ()
Public Member Functions inherited from nix::GcStore
virtual kj::Promise< Result< Roots > > findRoots (bool censor)=0
virtual kj::Promise< Result< void > > collectGarbage (const GCOptions &options, GCResults &results)=0
Public Member Functions inherited from nix::LogStore
kj::Promise< Result< std::optional< std::string > > > getBuildLog (const StorePath &path)
virtual kj::Promise< Result< 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 char * MissingName = "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::Store
using PathsSource
Static Public Member Functions inherited from nix::LogStore
static LogStorerequire (Store &store)
Protected Member Functions inherited from nix::Store
 Store (const StoreConfig &config)
virtual kj::Promise< Result< bool > > isValidPathUncached (const StorePath &path)
virtual kj::Promise< Result< std::shared_ptr< const ValidPathInfo > > > queryPathInfoUncached (const StorePath &path)=0
virtual kj::Promise< Result< std::shared_ptr< const Realisation > > > queryRealisationUncached (const DrvOutput &)=0
void unsupported (const std::string &op)
Protected Attributes inherited from nix::Store
Sync< State, AsyncMutex > state
std::shared_ptr< NarInfoDiskCachediskCache
Stats< std::atomic > stats

Member Function Documentation

◆ addPermRoot()

virtual kj::Promise< Result< 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.

◆ config() [1/2]

const LocalFSStoreConfig & nix::LocalFSStore::config ( ) const
overridepure virtual

Implements nix::Store.

◆ config() [2/2]

LocalFSStoreConfig & nix::LocalFSStore::config ( )
overridepure virtual

Implements nix::Store.

◆ getBuildLogExact()

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

Implements nix::LogStore.

◆ getFSAccessor()

ref< FSAccessor > nix::LocalFSStore::getFSAccessor ( )
overridevirtual
Returns
An object to access files in the Nix store.

Implements nix::Store.

Reimplemented in nix::UDSRemoteStore.

◆ narFromPath()

kj::Promise< Result< box_ptr< Source > > > nix::LocalFSStore::narFromPath ( const StorePath & path)
overridevirtual

Generate a NAR dump of a store path.

Implements nix::Store.

Reimplemented in 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: