Merge pull request #2145 from serokell/uncached-channel

make sure not to use cached channels for nix-channel --update
This commit is contained in:
Eelco Dolstra 2018-05-15 14:57:18 +02:00 committed by GitHub
commit 966407bcf1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 4 deletions

View file

@ -623,7 +623,7 @@ DownloadResult Downloader::download(const DownloadRequest & request)
return enqueueDownload(request).get();
}
Path Downloader::downloadCached(ref<Store> store, const string & url_, bool unpack, string name, const Hash & expectedHash, string * effectiveUrl)
Path Downloader::downloadCached(ref<Store> store, const string & url_, bool unpack, string name, const Hash & expectedHash, string * effectiveUrl, int ttl)
{
auto url = resolveUri(url_);
@ -653,7 +653,6 @@ Path Downloader::downloadCached(ref<Store> store, const string & url_, bool unpa
string expectedETag;
int ttl = settings.tarballTtl;
bool skip = false;
if (pathExists(fileLink) && pathExists(dataFile)) {

View file

@ -2,6 +2,7 @@
#include "types.hh"
#include "hash.hh"
#include "globals.hh"
#include <string>
#include <future>
@ -54,7 +55,7 @@ struct Downloader
use the recorded ETag to verify if the server has a more
recent version, and if so, download it to the Nix store. */
Path downloadCached(ref<Store> store, const string & uri, bool unpack, string name = "",
const Hash & expectedHash = Hash(), string * effectiveUri = nullptr);
const Hash & expectedHash = Hash(), string * effectiveUri = nullptr, int ttl = settings.tarballTtl);
enum Error { NotFound, Forbidden, Misc, Transient, Interrupted };
};

View file

@ -86,7 +86,7 @@ static void update(const StringSet & channelNames)
// definition from a consistent location if the redirect changes mid-download.
std::string effectiveUrl;
auto dl = getDownloader();
auto filename = dl->downloadCached(store, url, false, "", Hash(), &effectiveUrl);
auto filename = dl->downloadCached(store, url, false, "", Hash(), &effectiveUrl, 0);
url = chomp(std::move(effectiveUrl));
// If the URL contains a version number, append it to the name