RemoteStore / nix-daemon: Drop support for Nix < 1.0
This commit is contained in:
		
							parent
							
								
									6601e46567
								
							
						
					
					
						commit
						be64fbb501
					
				
					 2 changed files with 33 additions and 44 deletions
				
			
		|  | @ -94,6 +94,8 @@ ref<RemoteStore::Connection> RemoteStore::openConnection() | |||
|         conn->daemonVersion = readInt(conn->from); | ||||
|         if (GET_PROTOCOL_MAJOR(conn->daemonVersion) != GET_PROTOCOL_MAJOR(PROTOCOL_VERSION)) | ||||
|             throw Error("Nix daemon protocol version not supported"); | ||||
|         if (GET_PROTOCOL_MINOR(conn->daemonVersion) < 10) | ||||
|             throw Error("the Nix daemon version is too old"); | ||||
|         conn->to << PROTOCOL_VERSION; | ||||
| 
 | ||||
|         if (GET_PROTOCOL_MINOR(conn->daemonVersion) >= 14) { | ||||
|  | @ -127,17 +129,13 @@ void RemoteStore::setOptions(ref<Connection> conn) | |||
|        << settings.tryFallback | ||||
|        << verbosity | ||||
|        << settings.maxBuildJobs | ||||
|        << settings.maxSilentTime; | ||||
|     if (GET_PROTOCOL_MINOR(conn->daemonVersion) >= 2) | ||||
|         conn->to << settings.useBuildHook; | ||||
|     if (GET_PROTOCOL_MINOR(conn->daemonVersion) >= 4) | ||||
|         conn->to << (settings.verboseBuild ? lvlError : lvlVomit) | ||||
|                  << 0 // obsolete log type
 | ||||
|                  << 0 /* obsolete print build trace */; | ||||
|     if (GET_PROTOCOL_MINOR(conn->daemonVersion) >= 6) | ||||
|         conn->to << settings.buildCores; | ||||
|     if (GET_PROTOCOL_MINOR(conn->daemonVersion) >= 10) | ||||
|         conn->to << settings.useSubstitutes; | ||||
|        << settings.maxSilentTime | ||||
|        << settings.useBuildHook | ||||
|        << (settings.verboseBuild ? lvlError : lvlVomit) | ||||
|        << 0 // obsolete log type
 | ||||
|        << 0 /* obsolete print build trace */ | ||||
|        << settings.buildCores | ||||
|        << settings.useSubstitutes; | ||||
| 
 | ||||
|     if (GET_PROTOCOL_MINOR(conn->daemonVersion) >= 12) { | ||||
|         Settings::SettingsMap overrides = settings.getOverrides(); | ||||
|  | @ -213,8 +211,6 @@ void RemoteStore::querySubstitutablePathInfos(const PathSet & paths, | |||
| 
 | ||||
|     auto conn(connections->get()); | ||||
| 
 | ||||
|     if (GET_PROTOCOL_MINOR(conn->daemonVersion) < 3) return; | ||||
| 
 | ||||
|     if (GET_PROTOCOL_MINOR(conn->daemonVersion) < 12) { | ||||
| 
 | ||||
|         for (auto & i : paths) { | ||||
|  | @ -227,7 +223,7 @@ void RemoteStore::querySubstitutablePathInfos(const PathSet & paths, | |||
|             if (info.deriver != "") assertStorePath(info.deriver); | ||||
|             info.references = readStorePaths<PathSet>(*this, conn->from); | ||||
|             info.downloadSize = readLongLong(conn->from); | ||||
|             info.narSize = GET_PROTOCOL_MINOR(conn->daemonVersion) >= 7 ? readLongLong(conn->from) : 0; | ||||
|             info.narSize = readLongLong(conn->from); | ||||
|             infos[i] = info; | ||||
|         } | ||||
| 
 | ||||
|  | @ -481,11 +477,11 @@ void RemoteStore::collectGarbage(const GCOptions & options, GCResults & results) | |||
| { | ||||
|     auto conn(connections->get()); | ||||
| 
 | ||||
|     conn->to << wopCollectGarbage << options.action << options.pathsToDelete << options.ignoreLiveness | ||||
|        << options.maxFreed << 0; | ||||
|     if (GET_PROTOCOL_MINOR(conn->daemonVersion) >= 5) | ||||
|     conn->to | ||||
|         << wopCollectGarbage << options.action << options.pathsToDelete << options.ignoreLiveness | ||||
|         << options.maxFreed | ||||
|         /* removed options */ | ||||
|         conn->to << 0 << 0; | ||||
|         << 0 << 0 << 0; | ||||
| 
 | ||||
|     conn->processStderr(); | ||||
| 
 | ||||
|  | @ -562,7 +558,7 @@ void RemoteStore::Connection::processStderr(Sink * sink, Source * source) | |||
|     } | ||||
|     if (msg == STDERR_ERROR) { | ||||
|         string error = readString(from); | ||||
|         unsigned int status = GET_PROTOCOL_MINOR(daemonVersion) >= 8 ? readInt(from) : 1; | ||||
|         unsigned int status = readInt(from); | ||||
|         throw Error(format("%1%") % error, status); | ||||
|     } | ||||
|     else if (msg != STDERR_LAST) | ||||
|  |  | |||
|  | @ -413,12 +413,10 @@ static void performOp(ref<LocalStore> store, bool trusted, unsigned int clientVe | |||
|         options.pathsToDelete = readStorePaths<PathSet>(*store, from); | ||||
|         options.ignoreLiveness = readInt(from); | ||||
|         options.maxFreed = readLongLong(from); | ||||
|         readInt(from); // obsolete field
 | ||||
|         if (GET_PROTOCOL_MINOR(clientVersion) >= 5) { | ||||
|             /* removed options */ | ||||
|             readInt(from); | ||||
|             readInt(from); | ||||
|         } | ||||
|         // obsolete fields
 | ||||
|         readInt(from); | ||||
|         readInt(from); | ||||
|         readInt(from); | ||||
| 
 | ||||
|         GCResults results; | ||||
| 
 | ||||
|  | @ -440,17 +438,12 @@ static void performOp(ref<LocalStore> store, bool trusted, unsigned int clientVe | |||
|         verbosity = (Verbosity) readInt(from); | ||||
|         settings.set("build-max-jobs", std::to_string(readInt(from))); | ||||
|         settings.set("build-max-silent-time", std::to_string(readInt(from))); | ||||
|         if (GET_PROTOCOL_MINOR(clientVersion) >= 2) | ||||
|             settings.useBuildHook = readInt(from) != 0; | ||||
|         if (GET_PROTOCOL_MINOR(clientVersion) >= 4) { | ||||
|             settings.verboseBuild = lvlError == (Verbosity) readInt(from); | ||||
|             readInt(from); // obsolete logType
 | ||||
|             readInt(from); // obsolete printBuildTrace
 | ||||
|         } | ||||
|         if (GET_PROTOCOL_MINOR(clientVersion) >= 6) | ||||
|             settings.set("build-cores", std::to_string(readInt(from))); | ||||
|         if (GET_PROTOCOL_MINOR(clientVersion) >= 10) | ||||
|             settings.set("build-use-substitutes", readInt(from) ? "true" : "false"); | ||||
|         settings.useBuildHook = readInt(from) != 0; | ||||
|         settings.verboseBuild = lvlError == (Verbosity) readInt(from); | ||||
|         readInt(from); // obsolete logType
 | ||||
|         readInt(from); // obsolete printBuildTrace
 | ||||
|         settings.set("build-cores", std::to_string(readInt(from))); | ||||
|         settings.set("build-use-substitutes", readInt(from) ? "true" : "false"); | ||||
|         if (GET_PROTOCOL_MINOR(clientVersion) >= 12) { | ||||
|             unsigned int n = readInt(from); | ||||
|             for (unsigned int i = 0; i < n; i++) { | ||||
|  | @ -478,9 +471,7 @@ static void performOp(ref<LocalStore> store, bool trusted, unsigned int clientVe | |||
|         if (i == infos.end()) | ||||
|             to << 0; | ||||
|         else { | ||||
|             to << 1 << i->second.deriver << i->second.references << i->second.downloadSize; | ||||
|             if (GET_PROTOCOL_MINOR(clientVersion) >= 7) | ||||
|                 to << i->second.narSize; | ||||
|             to << 1 << i->second.deriver << i->second.references << i->second.downloadSize << i->second.narSize; | ||||
|         } | ||||
|         break; | ||||
|     } | ||||
|  | @ -585,11 +576,13 @@ static void processConnection(bool trusted) | |||
|     to.flush(); | ||||
|     unsigned int clientVersion = readInt(from); | ||||
| 
 | ||||
|     if (clientVersion < 0x10a) | ||||
|         throw Error("the Nix client version is too old"); | ||||
| 
 | ||||
|     if (GET_PROTOCOL_MINOR(clientVersion) >= 14 && readInt(from)) | ||||
|         setAffinityTo(readInt(from)); | ||||
| 
 | ||||
|     if (GET_PROTOCOL_MINOR(clientVersion) >= 11) | ||||
|         readInt(from); // obsolete reserveSpace
 | ||||
|     readInt(from); // obsolete reserveSpace
 | ||||
| 
 | ||||
|     /* Send startup error messages to the client. */ | ||||
|     startWork(); | ||||
|  | @ -636,10 +629,10 @@ static void processConnection(bool trusted) | |||
|                    during addTextToStore() / importPath().  If that | ||||
|                    happens, just send the error message and exit. */ | ||||
|                 bool errorAllowed = canSendStderr; | ||||
|                 stopWork(false, e.msg(), GET_PROTOCOL_MINOR(clientVersion) >= 8 ? e.status : 0); | ||||
|                 stopWork(false, e.msg(), e.status); | ||||
|                 if (!errorAllowed) throw; | ||||
|             } catch (std::bad_alloc & e) { | ||||
|                 stopWork(false, "Nix daemon out of memory", GET_PROTOCOL_MINOR(clientVersion) >= 8 ? 1 : 0); | ||||
|                 stopWork(false, "Nix daemon out of memory", 1); | ||||
|                 throw; | ||||
|             } | ||||
| 
 | ||||
|  | @ -653,7 +646,7 @@ static void processConnection(bool trusted) | |||
|         printMsg(lvlDebug, format("%1% operations") % opCount); | ||||
| 
 | ||||
|     } catch (Error & e) { | ||||
|         stopWork(false, e.msg(), GET_PROTOCOL_MINOR(clientVersion) >= 8 ? 1 : 0); | ||||
|         stopWork(false, e.msg(), 1); | ||||
|         to.flush(); | ||||
|         return; | ||||
|     } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue