aboutsummaryrefslogtreecommitdiff
path: root/nix/nix-daemon/guix-daemon.cc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-02-19 22:48:13 +0100
committerLudovic Courtès <ludo@gnu.org>2013-02-27 20:55:41 +0100
commit353283bbe99fdb458b2e6bf03bb6c62344e29cfe (patch)
tree55cc81dee4c54605ded8264afcd0394e9e942390 /nix/nix-daemon/guix-daemon.cc
parent8faece2280dbad907fe57edd8c41732d87c35e76 (diff)
downloadguix-353283bbe99fdb458b2e6bf03bb6c62344e29cfe.tar.gz
guix-353283bbe99fdb458b2e6bf03bb6c62344e29cfe.zip
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.
Diffstat (limited to 'nix/nix-daemon/guix-daemon.cc')
-rw-r--r--nix/nix-daemon/guix-daemon.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc
index 604a26f0b1..1611840bd4 100644
--- a/nix/nix-daemon/guix-daemon.cc
+++ b/nix/nix-daemon/guix-daemon.cc
@@ -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)