daemon: Add `--listen'.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LISTEN): New macro. (options): Add `--listen'. (parse_opt): Handle it. * doc/guix.texi (Invoking guix-daemon): Mention it.
This commit is contained in:
parent
15b673ebe8
commit
b8d2aa264d
@ -367,6 +367,13 @@ Do not keep build logs. By default they are kept under
|
||||
Assume @var{system} as the current system type. By default it is the
|
||||
architecture/kernel pair found at configure time, such as
|
||||
@code{x86_64-linux}.
|
||||
|
||||
@item --listen=@var{socket}
|
||||
Listen for connections on @var{socket}, the file name of a Unix-domain
|
||||
socket. The default socket is
|
||||
@file{@var{localstatedir}/daemon-socket/socket}. This option is only
|
||||
useful in exceptional circumstances, such as if you need to run several
|
||||
daemons on the same machine.
|
||||
@end table
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* GNU Guix --- Functional package management for GNU
|
||||
Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
This file is part of GNU Guix.
|
||||
|
||||
@ -64,6 +64,7 @@ builds derivations on behalf of its clients.";
|
||||
#define GUIX_OPT_IMPERSONATE_LINUX_26 8
|
||||
#define GUIX_OPT_DEBUG 9
|
||||
#define GUIX_OPT_CHROOT_DIR 10
|
||||
#define GUIX_OPT_LISTEN 11
|
||||
|
||||
static const struct argp_option options[] =
|
||||
{
|
||||
@ -103,6 +104,8 @@ static const struct argp_option options[] =
|
||||
" (this option has no effect in this configuration)"
|
||||
#endif
|
||||
},
|
||||
{ "listen", GUIX_OPT_LISTEN, "SOCKET", 0,
|
||||
"Listen for connections on SOCKET" },
|
||||
{ "debug", GUIX_OPT_DEBUG, 0, 0,
|
||||
"Produce debugging output" },
|
||||
{ 0, 0, 0, 0, 0 }
|
||||
@ -138,6 +141,17 @@ parse_opt (int key, char *arg, struct argp_state *state)
|
||||
case GUIX_OPT_LOSE_LOGS:
|
||||
settings.keepLog = false;
|
||||
break;
|
||||
case GUIX_OPT_LISTEN:
|
||||
try
|
||||
{
|
||||
settings.nixDaemonSocketFile = canonPath (arg);
|
||||
}
|
||||
catch (std::exception &e)
|
||||
{
|
||||
fprintf (stderr, "error: %s\n", e.what ());
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
break;
|
||||
case GUIX_OPT_DEBUG:
|
||||
verbosity = lvlDebug;
|
||||
break;
|
||||
@ -207,6 +221,9 @@ main (int argc, char *argv[])
|
||||
}
|
||||
#endif
|
||||
|
||||
printMsg (lvlDebug,
|
||||
format ("listening on `%1%'") % settings.nixDaemonSocketFile);
|
||||
|
||||
run (nothing);
|
||||
}
|
||||
catch (std::exception &e)
|
||||
|
Loading…
Reference in New Issue
Block a user