* Absolute path to rm (NIX-51).
* Don't hardcore /nix/bin and /nix/store.
This commit is contained in:
		
							parent
							
								
									0623359fbc
								
							
						
					
					
						commit
						1b804f88e4
					
				
					 2 changed files with 5 additions and 5 deletions
				
			
		|  | @ -17,7 +17,7 @@ $binDir = "@bindir@" unless defined $binDir; | |||
| my $tmpDir; | ||||
| do { $tmpDir = tmpnam(); } | ||||
| until mkdir $tmpDir, 0777; | ||||
| END { system "rm -rf '$tmpDir'"; } | ||||
| END { system "@coreutils@/rm -rf '$tmpDir'"; } | ||||
| mkdir "$tmpDir/contents", 0777 or die; | ||||
| mkdir "$tmpDir/references", 0777 or die; | ||||
| mkdir "$tmpDir/derivers", 0777 or die; | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ $binDir = "@bindir@" unless defined $binDir; | |||
| my $tmpDir; | ||||
| do { $tmpDir = tmpnam(); } | ||||
| until mkdir $tmpDir, 0777; | ||||
| END { system "rm -rf '$tmpDir'"; } | ||||
| END { system "@coreutils@/rm -rf '$tmpDir'"; } | ||||
| 
 | ||||
| 
 | ||||
| # Unpack the NAR archive on standard input. | ||||
|  | @ -34,15 +34,15 @@ opendir(DIR, "$tmpDir/unpacked/contents") or die "cannot open directory: $!"; | |||
| foreach my $name (sort(readdir DIR)) { | ||||
|     next if $name eq "." or $name eq ".."; | ||||
| 
 | ||||
|     my $storePath = "/nix/store/$name"; # !!! | ||||
|     my $storePath = "@storedir@/$name"; # !!! | ||||
| 
 | ||||
|     # !!! this really isn't a good validity check! | ||||
|     system "/nix/bin/nix-store --check-validity '$storePath' 2> /dev/null"; | ||||
|     system "$binDir/nix-store --check-validity '$storePath' 2> /dev/null"; | ||||
|     if ($? != 0) { | ||||
|         print STDERR "unpacking `$storePath'...\n"; | ||||
| 
 | ||||
|         # !!! race | ||||
|         system("rm -rf '$storePath'") == 0 | ||||
|         system("@coreutils@/rm -rf '$storePath'") == 0 | ||||
|             or die "cannot remove `$storePath': $?"; | ||||
| 
 | ||||
|         system("$binDir/nix-store --restore '$storePath' < '$tmpDir/unpacked/contents/$name'") == 0 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue