* nix-store: --isvalid' -> --check-validity', `--validpath' ->
				
					
				
			`--register-validity'. * `nix-store --register-validity': read arguments from stdin, and allow the references and deriver to be set.
This commit is contained in:
		
							parent
							
								
									a1e00bf6aa
								
							
						
					
					
						commit
						f20f081560
					
				
					 4 changed files with 34 additions and 17 deletions
				
			
		|  | @ -11,8 +11,8 @@ Operations: | |||
| 
 | ||||
|   --substitute: register a substitute expression (dangerous!) | ||||
|   --clear-substitutes: clear all substitutes | ||||
|   --validpath: register path validity (dangerous!) | ||||
|   --isvalid: check path validity | ||||
|   --register-validity: register path validity (dangerous!) | ||||
|   --check-validity: check path validity | ||||
| 
 | ||||
|   --dump: dump a path as a Nix archive | ||||
|   --restore: restore a path from a Nix archive | ||||
|  |  | |||
|  | @ -355,8 +355,7 @@ static void opQuery(Strings opFlags, Strings opArgs) | |||
| static void opSubstitute(Strings opFlags, Strings opArgs) | ||||
| { | ||||
|     if (!opFlags.empty()) throw UsageError("unknown flag"); | ||||
|     if (!opArgs.empty()) | ||||
|         throw UsageError("no arguments expected"); | ||||
|     if (!opArgs.empty()) throw UsageError("no arguments expected"); | ||||
| 
 | ||||
|     Transaction txn; | ||||
|     createStoreTransaction(txn); | ||||
|  | @ -369,8 +368,7 @@ static void opSubstitute(Strings opFlags, Strings opArgs) | |||
|         if (cin.eof()) break; | ||||
|         getline(cin, sub.deriver); | ||||
|         getline(cin, sub.program); | ||||
|         string s; | ||||
|         int n; | ||||
|         string s; int n; | ||||
|         getline(cin, s); | ||||
|         if (!string2Int(s, n)) throw Error("number expected"); | ||||
|         while (n--) { | ||||
|  | @ -402,20 +400,38 @@ static void opClearSubstitutes(Strings opFlags, Strings opArgs) | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| static void opValidPath(Strings opFlags, Strings opArgs) | ||||
| static void opRegisterValidity(Strings opFlags, Strings opArgs) | ||||
| { | ||||
|     if (!opFlags.empty()) throw UsageError("unknown flag"); | ||||
|      | ||||
|     if (!opArgs.empty()) throw UsageError("no arguments expected"); | ||||
| 
 | ||||
|     Transaction txn; | ||||
|     createStoreTransaction(txn); | ||||
|     for (Strings::iterator i = opArgs.begin(); | ||||
|          i != opArgs.end(); ++i) | ||||
|         registerValidPath(txn, *i, hashPath(htSHA256, *i), PathSet(), ""); | ||||
| 
 | ||||
|     while (1) { | ||||
|         Path path; | ||||
|         Path deriver; | ||||
|         PathSet references; | ||||
|         getline(cin, path); | ||||
|         if (cin.eof()) break; | ||||
|         getline(cin, deriver); | ||||
|         string s; int n; | ||||
|         getline(cin, s); | ||||
|         if (!string2Int(s, n)) throw Error("number expected"); | ||||
|         while (n--) { | ||||
|             getline(cin, s); | ||||
|             references.insert(s); | ||||
|         } | ||||
|         if (!cin || cin.eof()) throw Error("missing input"); | ||||
|         if (!isValidPathTxn(txn, path)) | ||||
|             registerValidPath(txn, path, hashPath(htSHA256, path), references, deriver); | ||||
|     } | ||||
| 
 | ||||
|     txn.commit(); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| static void opIsValid(Strings opFlags, Strings opArgs) | ||||
| static void opCheckValidity(Strings opFlags, Strings opArgs) | ||||
| { | ||||
|     if (!opFlags.empty()) throw UsageError("unknown flag"); | ||||
| 
 | ||||
|  | @ -545,10 +561,10 @@ void run(Strings args) | |||
|             op = opSubstitute; | ||||
|         else if (arg == "--clear-substitutes") | ||||
|             op = opClearSubstitutes; | ||||
|         else if (arg == "--validpath") | ||||
|             op = opValidPath; | ||||
|         else if (arg == "--isvalid") | ||||
|             op = opIsValid; | ||||
|         else if (arg == "--register-validity") | ||||
|             op = opRegisterValidity; | ||||
|         else if (arg == "--check-validity") | ||||
|             op = opCheckValidity; | ||||
|         else if (arg == "--gc") | ||||
|             op = opGC; | ||||
|         else if (arg == "--dump") | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue