#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. */ 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 { Path program; Pid pid; AutoCloseFD to, from, error; FdSource fromBuf; bool disabled; RunningSubstituter() : disabled(false) { }; }; class LocalStore : public StoreAPI { private: typedef std::map RunningSubstituters; RunningSubstituters runningSubstituters; Path link
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@igalia.com>2017-04-27 10:08:36 +0200
committerLudovic Courtès <ludo@gnu.org>2017-07-26 11:00:04 +0200
commita5130d10fa39fa9a05edfe6934b2c88a33ec906f (patch)
tree82d929b9bbc6d03d123fef7968bf0faeb6d5ac23 /gnu/packages/bootstrap/mips64el-linux
parent1cae188e61bb1e8a896bee2ac9bbe066f2f6e92d (diff)
downloadguix-a5130d10fa39fa9a05edfe6934b2c88a33ec906f.tar.gz
guix-a5130d10fa39fa9a05edfe6934b2c88a33ec906f.zip
gnu: Add fcgiwrap service.
* doc/guix.texi (Web Services): Add documentation. * gnu/services/web.scm (<fcgiwrap-configuration>): New record type. (fcgiwrap-accounts, fcgiwrap-shepherd-service): New service extensions. (fcgiwrap-service-type): New service type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/bootstrap/mips64el-linux')
0 files changed, 0 insertions, 0 deletions
ol & errors); void updatePathInfo(const ValidPathInfo & info); void upgradeStore6(); void upgradeStore7(); PathSet queryValidPathsOld(); ValidPathInfo queryPathInfoOld(const Path & path); 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(const Path & substituter, 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); }