#pragma once #include "sqlite.hh" #include #include #include "pathlocks.hh" #include "store-api.hh" #include "util.hh" namespace nix { /* 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. Guix has always used version 7. */ const int nixSchemaVersion = 7; extern string drvsLogDir; struct Derivation; struct OptimiseStats { unsigned long filesLinked; unsigned long long bytesFreed; unsigned long long blocksFreed; OptimiseStats() { filesLinked = 0; bytesFreed = blocksFreed = 0; } }; struct RunningSubstituter { Pid pid; AutoCloseFD to, from, error; FdSource fromBuf; bool disabled; RunningSubstituter() : disabled(false) { }; }; class LocalStore : public StoreAPI { private: /* The currently running substituter or empty. */ std::unique_ptr run
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Legoll <vincent.legoll@gmail.com>2021-02-17 19:46:50 +0100
committerLeo Famulari <leo@famulari.name>2021-02-20 13:27:43 -0500
commit910699ea1e3a1ae43da149621254fa119064bd97 (patch)
tree8e146b414bb6c7d3de9f5cb7958c9b0a89a248e5 /gnu/packages/pretty-print.scm
parent98c5f5150206a99c4d4f84aae095eb38249a9e22 (diff)
downloadguix-910699ea1e3a1ae43da149621254fa119064bd97.tar.gz
guix-910699ea1e3a1ae43da149621254fa119064bd97.zip
gnu: libx11: Update to 1.7.0.
* gnu/packages/xorg.scm (libx11): Update to 1.7.0. Signed-off-by: Leo Famulari <leo@famulari.name>
Diffstat (limited to 'gnu/packages/pretty-print.scm')
0 files changed, 0 insertions, 0 deletions
t referrer, uint64_t reference); void appendReferrer(const Path & from, const Path & to, bool lock); void rewriteReferrers(const Path & path, bool purge, PathSet referrers); void invalidatePath(const Path & path); /* Delete a path from the Nix store. */ void invalidatePathChecked(const Path & path); void verifyPath(const Path & path, const PathSet & store, PathSet & done, PathSet & validPaths, bool repair, bool & errors); void updatePathInfo(const ValidPathInfo & info); struct GCState; void deleteGarbage(GCState & state, const Path & path); void tryToDelete(GCState & state, const Path & path); bool canReachRoot(GCState & state, PathSet & visited, const Path & path); void deletePathRecursive(GCState & state, const Path & path); bool isActiveTempFile(const GCState & state, const Path & path, const string & suffix); int openGCLock(LockType lockType); void removeUnusedLinks(const GCState & state); void startSubstituter(RunningSubstituter & runningSubstituter); string getLineFromSubstituter(RunningSubstituter & run); template T getIntLineFromSubstituter(RunningSubstituter & run); Path createTempDirInStore(); Path importPath(bool requireSignature, Source & source); void checkDerivationOutputs(const Path & drvPath, const Derivation & drv); typedef std::unordered_set InodeHash; InodeHash loadInodeHash(); Strings readDirectoryIgnoringInodes(const Path & path, const InodeHash & inodeHash); void optimisePath_(OptimiseStats & stats, const Path & path, InodeHash & inodeHash); // Internal versions that are not wrapped in retry_sqlite. bool isValidPath_(const Path & path); void queryReferrers_(const Path & path, PathSet & referrers); }; typedef std::pair Inode; typedef set InodesSeen; /* "Fix", or canonicalise, the meta-data of the files in a store path after it has been built. In particular: - the last modification date on each file is set to 1 (i.e., 00:00:01 1/1/1970 UTC) - the permissions are set of 444 or 555 (i.e., read-only with or without execute permission; setuid bits etc. are cleared) - the owner and group are set to the Nix user and group, if we're running as root. */ void canonicalisePathMetaData(const Path & path, uid_t fromUid, InodesSeen & inodesSeen); void canonicalisePathMetaData(const Path & path, uid_t fromUid); void canonicaliseTimestampAndPermissions(const Path & path); MakeError(PathInUse, Error); }