* Add missing substitutes files to dist.
* Add a garbage collector test.
This commit is contained in:
		
							parent
							
								
									8a3eef22e3
								
							
						
					
					
						commit
						e5c16c9582
					
				
					 4 changed files with 25 additions and 20 deletions
				
			
		| 
						 | 
					@ -33,10 +33,11 @@ substitutes2.sh: substitutes2.nix
 | 
				
			||||||
fallback.sh: fallback.nix
 | 
					fallback.sh: fallback.nix
 | 
				
			||||||
nix-push.sh: dependencies.nix
 | 
					nix-push.sh: dependencies.nix
 | 
				
			||||||
nix-pull.sh: dependencies.nix
 | 
					nix-pull.sh: dependencies.nix
 | 
				
			||||||
 | 
					gc.sh: dependencies.nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TESTS = init.sh hash.sh lang.sh simple.sh dependencies.sh locking.sh parallel.sh \
 | 
					TESTS = init.sh hash.sh lang.sh simple.sh dependencies.sh locking.sh parallel.sh \
 | 
				
			||||||
  build-hook.sh substitutes.sh substitutes2.sh fallback.sh nix-push.sh verify.sh \
 | 
					  build-hook.sh substitutes.sh substitutes2.sh fallback.sh nix-push.sh gc.sh \
 | 
				
			||||||
  nix-pull.sh
 | 
					  verify.sh nix-pull.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
XFAIL_TESTS =
 | 
					XFAIL_TESTS =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,5 +52,7 @@ EXTRA_DIST = $(TESTS) \
 | 
				
			||||||
  locking.nix.in locking.builder.sh \
 | 
					  locking.nix.in locking.builder.sh \
 | 
				
			||||||
  parallel.nix.in parallel.builder.sh \
 | 
					  parallel.nix.in parallel.builder.sh \
 | 
				
			||||||
  build-hook.nix.in build-hook.hook.sh \
 | 
					  build-hook.nix.in build-hook.hook.sh \
 | 
				
			||||||
  substitutes.nix.in substitutes2.nix.in fallback.nix.in \
 | 
					  substitutes.nix.in substituter.sh \
 | 
				
			||||||
 | 
					  substitutes2.nix.in substituter2.sh \
 | 
				
			||||||
 | 
					  fallback.nix.in \
 | 
				
			||||||
  $(wildcard lang/*.nix) $(wildcard lang/*.exp)
 | 
					  $(wildcard lang/*.nix) $(wildcard lang/*.exp)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										14
									
								
								tests/gc.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								tests/gc.sh
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					storeExpr=$($TOP/src/nix-instantiate/nix-instantiate dependencies.nix)
 | 
				
			||||||
 | 
					outPath=$($TOP/src/nix-store/nix-store -rvv "$storeExpr")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set a GC root.
 | 
				
			||||||
 | 
					ln -s $outPath "$NIX_LOCALSTATE_DIR"/nix/gcroots/foo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$NIX_BIN_DIR/nix-collect-garbage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check that the root and its dependencies haven't been deleted.
 | 
				
			||||||
 | 
					cat $outPath/foobar
 | 
				
			||||||
 | 
					cat $outPath/input-2/bar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check that the derivation has been GC'd.
 | 
				
			||||||
 | 
					if cat $storeExpr > /dev/null; then false; fi
 | 
				
			||||||
| 
						 | 
					@ -18,11 +18,13 @@ ln -s $TOP/src/nix-store/nix-store $NIX_BIN_DIR/
 | 
				
			||||||
ln -s $TOP/src/nix-instantiate/nix-instantiate $NIX_BIN_DIR/
 | 
					ln -s $TOP/src/nix-instantiate/nix-instantiate $NIX_BIN_DIR/
 | 
				
			||||||
ln -s $TOP/src/nix-hash/nix-hash $NIX_BIN_DIR/
 | 
					ln -s $TOP/src/nix-hash/nix-hash $NIX_BIN_DIR/
 | 
				
			||||||
ln -s $TOP/scripts/nix-prefetch-url $NIX_BIN_DIR/
 | 
					ln -s $TOP/scripts/nix-prefetch-url $NIX_BIN_DIR/
 | 
				
			||||||
 | 
					ln -s $TOP/scripts/nix-collect-garbage $NIX_BIN_DIR/
 | 
				
			||||||
mkdir $NIX_BIN_DIR/nix
 | 
					mkdir $NIX_BIN_DIR/nix
 | 
				
			||||||
ln -s $TOP/scripts/download-using-manifests.pl $NIX_BIN_DIR/nix/
 | 
					ln -s $TOP/scripts/download-using-manifests.pl $NIX_BIN_DIR/nix/
 | 
				
			||||||
ln -s $TOP/scripts/readmanifest.pm $NIX_BIN_DIR/nix/
 | 
					ln -s $TOP/scripts/readmanifest.pm $NIX_BIN_DIR/nix/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mkdir -p "$NIX_LOCALSTATE_DIR"/nix/manifests
 | 
					mkdir -p "$NIX_LOCALSTATE_DIR"/nix/manifests
 | 
				
			||||||
 | 
					mkdir -p "$NIX_LOCALSTATE_DIR"/nix/gcroots
 | 
				
			||||||
mkdir -p "$NIX_LOCALSTATE_DIR"/log/nix
 | 
					mkdir -p "$NIX_LOCALSTATE_DIR"/log/nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mkdir $NIX_DATA_DIR/nix
 | 
					mkdir $NIX_DATA_DIR/nix
 | 
				
			||||||
| 
						 | 
					@ -31,6 +33,7 @@ cp -prd $TOP/corepkgs $NIX_DATA_DIR/nix/
 | 
				
			||||||
for i in $NIX_DATA_DIR/nix/corepkgs/nar/nar.sh \
 | 
					for i in $NIX_DATA_DIR/nix/corepkgs/nar/nar.sh \
 | 
				
			||||||
    $NIX_BIN_DIR/nix/download-using-manifests.pl \
 | 
					    $NIX_BIN_DIR/nix/download-using-manifests.pl \
 | 
				
			||||||
    $NIX_BIN_DIR/nix-prefetch-url \
 | 
					    $NIX_BIN_DIR/nix-prefetch-url \
 | 
				
			||||||
 | 
					    $NIX_BIN_DIR/nix-collect-garbage \
 | 
				
			||||||
    ; do
 | 
					    ; do
 | 
				
			||||||
    echo "$REAL_BIN_DIR"
 | 
					    echo "$REAL_BIN_DIR"
 | 
				
			||||||
    sed < $i > $i.tmp \
 | 
					    sed < $i > $i.tmp \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,18 +1,3 @@
 | 
				
			||||||
# Set a PATH (!!! impure).
 | 
					 | 
				
			||||||
export PATH=/bin:/usr/bin:$PATH
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
mkdir $out
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
cat > $out/substituter <<EOF
 | 
					 | 
				
			||||||
#! /bin/sh -ex
 | 
					#! /bin/sh -ex
 | 
				
			||||||
echo \$*
 | 
					echo $*
 | 
				
			||||||
 | 
					exit 1
 | 
				
			||||||
case \$* in
 | 
					 | 
				
			||||||
    *)
 | 
					 | 
				
			||||||
        exit 1
 | 
					 | 
				
			||||||
        ;;
 | 
					 | 
				
			||||||
esac        
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
chmod +x $out/substituter
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue