Skip to content

Commit

Permalink
Move netrcFile to Settings
Browse files Browse the repository at this point in the history
Also get rid of Settings::processEnvironment(), it appears to be
useless.
  • Loading branch information
edolstra committed Feb 16, 2017
1 parent bd5388e commit cde4b60
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 28 deletions.
1 change: 0 additions & 1 deletion perl/lib/Nix/Store.xs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ static ref<Store> store()
if (!_store) {
try {
logger = makeDefaultLogger();
settings.processEnvironment();
settings.loadConfFile();
settings.update();
settings.lockCPU = false;
Expand Down
1 change: 0 additions & 1 deletion src/libmain/shared.cc
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ void initNix()
opensslLocks = std::vector<std::mutex>(CRYPTO_num_locks());
CRYPTO_set_locking_callback(opensslLockCallback);

settings.processEnvironment();
settings.loadConfFile();

startSignalHandlerThread();
Expand Down
7 changes: 2 additions & 5 deletions src/libstore/download.cc
Original file line number Diff line number Diff line change
Expand Up @@ -232,11 +232,8 @@ struct CurlDownloader : public Downloader
}

/* If no file exist in the specified path, curl continues to work
* anyway as if netrc support was disabled. */
Path netrcFile = settings.get("netrc-file",
(format("%1%/%2%") % settings.nixConfDir % "netrc").str());
/* Curl copies the given C string, so the following call is safe. */
curl_easy_setopt(req, CURLOPT_NETRC_FILE, netrcFile.c_str());
anyway as if netrc support was disabled. */
curl_easy_setopt(req, CURLOPT_NETRC_FILE, settings.netrcFile.c_str());
curl_easy_setopt(req, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);

result.data = std::make_shared<std::string>();
Expand Down
36 changes: 17 additions & 19 deletions src/libstore/globals.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,21 @@ Settings settings;

Settings::Settings()
{
nixPrefix = NIX_PREFIX;
nixStore = canonPath(getEnv("NIX_STORE_DIR", getEnv("NIX_STORE", NIX_STORE_DIR)));
nixDataDir = canonPath(getEnv("NIX_DATA_DIR", NIX_DATA_DIR));
nixLogDir = canonPath(getEnv("NIX_LOG_DIR", NIX_LOG_DIR));
nixStateDir = canonPath(getEnv("NIX_STATE_DIR", NIX_STATE_DIR));
nixConfDir = canonPath(getEnv("NIX_CONF_DIR", NIX_CONF_DIR));
nixLibexecDir = canonPath(getEnv("NIX_LIBEXEC_DIR", NIX_LIBEXEC_DIR));
nixBinDir = canonPath(getEnv("NIX_BIN_DIR", NIX_BIN_DIR));
nixDaemonSocketFile = canonPath(nixStateDir + DEFAULT_SOCKET_PATH);

// should be set with the other config options, but depends on nixLibexecDir
#ifdef __APPLE__
preBuildHook = nixLibexecDir + "/nix/resolve-system-dependencies";
#endif

keepFailed = false;
keepGoing = false;
tryFallback = false;
Expand Down Expand Up @@ -57,25 +72,7 @@ Settings::Settings()
lockCPU = getEnv("NIX_AFFINITY_HACK", "1") == "1";
showTrace = false;
enableImportNative = false;
}


void Settings::processEnvironment()
{
nixPrefix = NIX_PREFIX;
nixStore = canonPath(getEnv("NIX_STORE_DIR", getEnv("NIX_STORE", NIX_STORE_DIR)));
nixDataDir = canonPath(getEnv("NIX_DATA_DIR", NIX_DATA_DIR));
nixLogDir = canonPath(getEnv("NIX_LOG_DIR", NIX_LOG_DIR));
nixStateDir = canonPath(getEnv("NIX_STATE_DIR", NIX_STATE_DIR));
nixConfDir = canonPath(getEnv("NIX_CONF_DIR", NIX_CONF_DIR));
nixLibexecDir = canonPath(getEnv("NIX_LIBEXEC_DIR", NIX_LIBEXEC_DIR));
nixBinDir = canonPath(getEnv("NIX_BIN_DIR", NIX_BIN_DIR));
nixDaemonSocketFile = canonPath(nixStateDir + DEFAULT_SOCKET_PATH);

// should be set with the other config options, but depends on nixLibexecDir
#ifdef __APPLE__
preBuildHook = nixLibexecDir + "/nix/resolve-system-dependencies";
#endif
netrcFile = fmt("%s/%s", nixConfDir, "netrc");
}


Expand Down Expand Up @@ -183,6 +180,7 @@ void Settings::update()
_get(preBuildHook, "pre-build-hook");
_get(keepGoing, "keep-going");
_get(keepFailed, "keep-failed");
_get(netrcFile, "netrc-file");
}


Expand Down
6 changes: 4 additions & 2 deletions src/libstore/globals.hh
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ struct Settings {

Settings();

void processEnvironment();

void loadConfFile();

void set(const string & name, const string & value);
Expand Down Expand Up @@ -193,6 +191,10 @@ struct Settings {
build settings */
Path preBuildHook;

/* Path to the netrc file used to obtain usernames/passwords for
downloads. */
Path netrcFile;

private:
SettingsMap settings, overrides;

Expand Down

0 comments on commit cde4b60

Please sign in to comment.