|
Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
|
#include "lix/libstore/sqlite.hh"#include "lix/libstore/store-api.hh"#include "lix/libstore/indirect-root-store.hh"#include "lix/libutil/async-io.hh"#include "lix/libutil/sync.hh"#include "lix/libutil/types.hh"#include <chrono>#include <future>#include <kj/async.h>#include <string>#include <mutex>#include <memory>#include <unordered_set>Go to the source code of this file.
Classes | |
| struct | nix::OptimiseStats |
| struct | nix::LocalStoreConfig |
| class | nix::LocalStore |
Typedefs | |
| typedef std::pair< dev_t, ino_t > | nix::Inode |
| typedef std::set< Inode > | nix::InodesSeen |
Functions | |
| void | nix::canonicalisePathMetaData (const Path &path, std::optional< std::pair< uid_t, uid_t > > uidRange, InodesSeen &inodesSeen) |
| void | nix::canonicalisePathMetaData (const Path &path, std::optional< std::pair< uid_t, uid_t > > uidRange) |
| void | nix::canonicaliseTimestampAndPermissions (const Path &path) |
| nix::MakeError (PathInUse, Error) | |
| void | nix::registerLocalStore () |
Variables | |
| const int | nix::nixSchemaVersion = 10 |
| void nix::canonicalisePathMetaData | ( | const Path & | path, |
| std::optional< std::pair< uid_t, uid_t > > | uidRange, | ||
| InodesSeen & | inodesSeen ) |
"Fix", or canonicalise, the meta-data of the files in a store path after it has been built. In particular:
If uidRange is not empty, this function will throw an error if it encounters files owned by a user outside of the closed interval [uidRange->first, uidRange->second].
| const int nix::nixSchemaVersion = 10 |
Nix store and database schema version.
Version 1 (or 0) was Nix <= 0.7. Version 2 was Nix 0.8 and 0.9. Version 3 is Nix 0.10. Version 4 is Nix 0.11. Version 5 is Nix 0.12-0.16. Version 6 is Nix 1.0. Version 7 is Nix 1.3. Version 10 is 2.0.
Lix started at 2.90, it cannot ever go past version 10 (Nix 2.18), since doing so will break compatibility with future CppNix versions.