This is a squashed commit of the following:
commit 0dccab9f417b406f5d4aedc81900fc7b2f16c9f6
Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date:   Thu Jul 2 00:30:16 2015 +0200
    Typo
commit 2cd28517b13524c242c7758783b0b2d8250fdded
Author: Ludovic Courtès <ludo@gnu.org>
Date:   Wed Jul 1 14:56:34 2015 +0200
    Preserve supplementary groups of build users
    The following patch is an attempt to address this bug (see
    <http://bugs.gnu.org/18994>) by preserving the supplementary groups of
    build users in the build environment.
    In practice, I would expect that supplementary groups would contain only
    one or two groups: the build users group, and possibly the “kvm” group.
    [Changed &at(0) to data() and removed tabs - Eelco]
commit 6e38685ef65284093df79ebe7378bac33b0e7e5d
Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date:   Tue Jun 30 21:41:26 2015 +0200
    GC: Handle ENOSPC creating/moving to the trash directory
    Issue #564.
commit 5e0a9ae2e25a1016389f4893a6ed6682aadcf51d
Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date:   Mon Jun 22 15:54:55 2015 +0200
    Use posix_fallocate to create /nix/var/nix/db/reserved
commit 4e5ab98d6d14f8b0e3bd1d77b2f4f2354e7a49a8
Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date:   Mon Jun 22 15:47:40 2015 +0200
    Make /nix/var/nix/db/reserved bigger
    Issue #564.
commit 60bda60fc06135aa97a93301b1a9e2270768f5b3
Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date:   Wed Jun 10 16:17:06 2015 +0200
    Export outputPaths function
    This is useful for the new hydra-queue-runner.
commit 5dfea34048aa8541f20aeb2fbcd163561b609a49
Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date:   Thu Jul 2 22:51:33 2015 +0200
    Use std::vector::data()
commit 2459458bc8257734ca78cb7a2db3df20bd730ec0
Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date:   Thu Jun 4 16:04:41 2015 +0200
    Allow substitutes for builds that have preferLocalBuild set
    Not substituting builds with "preferLocalBuild = true" was a bad idea,
    because it didn't take the cost of dependencies into account. For
    instance, if we can't substitute a fetchgit call, then we have to
    download/build git and all its dependencies.
    Partially reverts 5558652709f27e8a887580b77b93c705659d7a4b and adds a
    new derivation attribute "allowSubstitutes" to specify whether a
    derivation may be substituted.
		
	
			
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "derivations.hh"
 | |
| 
 | |
| 
 | |
| namespace nix {
 | |
| 
 | |
| 
 | |
| /* Read a derivation, after ensuring its existence through
 | |
|    ensurePath(). */
 | |
| Derivation derivationFromPath(StoreAPI & store, const Path & drvPath);
 | |
| 
 | |
| /* Place in `paths' the set of all store paths in the file system
 | |
|    closure of `storePath'; that is, all paths than can be directly or
 | |
|    indirectly reached from it.  `paths' is not cleared.  If
 | |
|    `flipDirection' is true, the set of paths that can reach
 | |
|    `storePath' is returned; that is, the closures under the
 | |
|    `referrers' relation instead of the `references' relation is
 | |
|    returned. */
 | |
| void computeFSClosure(StoreAPI & store, const Path & path,
 | |
|     PathSet & paths, bool flipDirection = false,
 | |
|     bool includeOutputs = false, bool includeDerivers = false);
 | |
| 
 | |
| /* Return the path corresponding to the output identifier `id' in the
 | |
|    given derivation. */
 | |
| Path findOutput(const Derivation & drv, string id);
 | |
| 
 | |
| /* Given a set of paths that are to be built, return the set of
 | |
|    derivations that will be built, and the set of output paths that
 | |
|    will be substituted. */
 | |
| void queryMissing(StoreAPI & store, const PathSet & targets,
 | |
|     PathSet & willBuild, PathSet & willSubstitute, PathSet & unknown,
 | |
|     unsigned long long & downloadSize, unsigned long long & narSize);
 | |
| 
 | |
| bool willBuildLocally(const Derivation & drv);
 | |
| 
 | |
| bool substitutesAllowed(const Derivation & drv);
 | |
| 
 | |
| 
 | |
| }
 |