Add "nix verify-paths" command
Unlike "nix-store --verify-path", this command verifies signatures in addition to store path contents, is multi-threaded (especially useful when verifying binary caches), and has a progress indicator. Example use: $ nix verify-paths --store https://cache.nixos.org -r $(type -p thunderbird) ... [17/132 checked] checking ‘/nix/store/rawakphadqrqxr6zri2rmnxh03gqkrl3-autogen-5.18.6’
This commit is contained in:
		
							parent
							
								
									0ebe69dc67
								
							
						
					
					
						commit
						784ee35c80
					
				
					 11 changed files with 432 additions and 2 deletions
				
			
		|  | @ -69,4 +69,25 @@ void StoreCommand::run() | |||
|     run(openStoreAt(storeUri)); | ||||
| } | ||||
| 
 | ||||
| StorePathsCommand::StorePathsCommand() | ||||
| { | ||||
|     expectArgs("paths", &storePaths); | ||||
|     mkFlag('r', "recursive", "apply operation to closure of the specified paths", &recursive); | ||||
| } | ||||
| 
 | ||||
| void StorePathsCommand::run(ref<Store> store) | ||||
| { | ||||
|     for (auto & storePath : storePaths) | ||||
|         storePath = followLinksToStorePath(storePath); | ||||
| 
 | ||||
|     if (recursive) { | ||||
|         PathSet closure; | ||||
|         for (auto & storePath : storePaths) | ||||
|             store->computeFSClosure(storePath, closure, false, false); | ||||
|         storePaths = store->topoSortPaths(closure); | ||||
|     } | ||||
| 
 | ||||
|     run(store, storePaths); | ||||
| } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue