forked from lix-project/lix
Add `Settings::nixDaemonSocketFile'.
This commit is contained in:
parent
5ea138dc4b
commit
3e067ac11c
|
@ -10,6 +10,14 @@
|
||||||
namespace nix {
|
namespace nix {
|
||||||
|
|
||||||
|
|
||||||
|
/* The default location of the daemon socket, relative to nixStateDir.
|
||||||
|
The socket is in a directory to allow you to control access to the
|
||||||
|
Nix daemon by setting the mode/ownership of the directory
|
||||||
|
appropriately. (This wouldn't work on the socket itself since it
|
||||||
|
must be deleted and recreated on startup.) */
|
||||||
|
#define DEFAULT_SOCKET_PATH "/daemon-socket/socket"
|
||||||
|
|
||||||
|
|
||||||
Settings settings;
|
Settings settings;
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,6 +66,7 @@ void Settings::processEnvironment()
|
||||||
nixConfDir = canonPath(getEnv("NIX_CONF_DIR", NIX_CONF_DIR));
|
nixConfDir = canonPath(getEnv("NIX_CONF_DIR", NIX_CONF_DIR));
|
||||||
nixLibexecDir = canonPath(getEnv("NIX_LIBEXEC_DIR", NIX_LIBEXEC_DIR));
|
nixLibexecDir = canonPath(getEnv("NIX_LIBEXEC_DIR", NIX_LIBEXEC_DIR));
|
||||||
nixBinDir = canonPath(getEnv("NIX_BIN_DIR", NIX_BIN_DIR));
|
nixBinDir = canonPath(getEnv("NIX_BIN_DIR", NIX_BIN_DIR));
|
||||||
|
nixDaemonSocketFile = canonPath(nixStateDir + DEFAULT_SOCKET_PATH);
|
||||||
|
|
||||||
string subs = getEnv("NIX_SUBSTITUTERS", "default");
|
string subs = getEnv("NIX_SUBSTITUTERS", "default");
|
||||||
if (subs == "default") {
|
if (subs == "default") {
|
||||||
|
|
|
@ -50,6 +50,9 @@ struct Settings {
|
||||||
/* The directory where the main programs are stored. */
|
/* The directory where the main programs are stored. */
|
||||||
Path nixBinDir;
|
Path nixBinDir;
|
||||||
|
|
||||||
|
/* File name of the socket the daemon listens to. */
|
||||||
|
Path nixDaemonSocketFile;
|
||||||
|
|
||||||
/* Whether to keep temporary directories of failed builds. */
|
/* Whether to keep temporary directories of failed builds. */
|
||||||
bool keepFailed;
|
bool keepFailed;
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ void RemoteStore::connectToDaemon()
|
||||||
throw SysError("cannot create Unix domain socket");
|
throw SysError("cannot create Unix domain socket");
|
||||||
closeOnExec(fdSocket);
|
closeOnExec(fdSocket);
|
||||||
|
|
||||||
string socketPath = settings.nixStateDir + DEFAULT_SOCKET_PATH;
|
string socketPath = settings.nixDaemonSocketFile;
|
||||||
|
|
||||||
/* Urgh, sockaddr_un allows path names of only 108 characters. So
|
/* Urgh, sockaddr_un allows path names of only 108 characters. So
|
||||||
chdir to the socket directory so that we can pass a relative
|
chdir to the socket directory so that we can pass a relative
|
||||||
|
|
|
@ -53,14 +53,6 @@ typedef enum {
|
||||||
#define STDERR_ERROR 0x63787470
|
#define STDERR_ERROR 0x63787470
|
||||||
|
|
||||||
|
|
||||||
/* The default location of the daemon socket, relative to nixStateDir.
|
|
||||||
The socket is in a directory to allow you to control access to the
|
|
||||||
Nix daemon by setting the mode/ownership of the directory
|
|
||||||
appropriately. (This wouldn't work on the socket itself since it
|
|
||||||
must be deleted and recreated on startup.) */
|
|
||||||
#define DEFAULT_SOCKET_PATH "/daemon-socket/socket"
|
|
||||||
|
|
||||||
|
|
||||||
Path readStorePath(Source & from);
|
Path readStorePath(Source & from);
|
||||||
template<class T> T readStorePaths(Source & from);
|
template<class T> T readStorePaths(Source & from);
|
||||||
|
|
||||||
|
|
|
@ -774,7 +774,7 @@ static void daemonLoop()
|
||||||
if (fdSocket == -1)
|
if (fdSocket == -1)
|
||||||
throw SysError("cannot create Unix domain socket");
|
throw SysError("cannot create Unix domain socket");
|
||||||
|
|
||||||
string socketPath = settings.nixStateDir + DEFAULT_SOCKET_PATH;
|
string socketPath = settings.nixDaemonSocketFile;
|
||||||
|
|
||||||
createDirs(dirOf(socketPath));
|
createDirs(dirOf(socketPath));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue