<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/nix/nix-daemon/nix-daemon.cc, branch master</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://www.git.jakob.space/guix.git/atom?h=master</id>
<link rel='self' href='https://www.git.jakob.space/guix.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/'/>
<updated>2018-12-16T15:28:07Z</updated>
<entry>
<title>daemon: Use unbranded phrases in comments and messages.</title>
<updated>2018-12-16T15:28:07Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-12-15T22:50:24Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=8327e733966cc4a93dfaadd1a761ca1088078baa'/>
<id>urn:sha1:8327e733966cc4a93dfaadd1a761ca1088078baa</id>
<content type='text'>
* nix/libstore/build.cc, nix/libstore/globals.cc,
nix/libstore/gc.cc, nix/libstore/local-store.cc,
nix/libstore/optimise-store.cc, nix/libstore/store-api.cc,
nix/libutil/archive.cc, nix/nix-daemon/nix-daemon.cc: Replace "Nix
store" by "store", and "Nix daemon" by "build daemon".
</content>
</entry>
<entry>
<title>daemon: Ignore '--keep-failed' for TCP/IP clients.</title>
<updated>2018-11-24T18:52:16Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-11-24T14:59:26Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=bb640d6133dea0ede7e80db9ca64a9b2e451317a'/>
<id>urn:sha1:bb640d6133dea0ede7e80db9ca64a9b2e451317a</id>
<content type='text'>
* nix/nix-daemon/nix-daemon.cc (performOp) &lt;wopSetOptions&gt;: When
'isRemoteConnection' is true, set 'settings.keepFailed' to zero.
* doc/guix.texi (Common Build Options): Document this behavior.
</content>
</entry>
<entry>
<title>daemon: Support multiplexed build output.</title>
<updated>2018-10-15T20:40:35Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-10-15T20:40:35Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=6ef61cc4c30e94acbd7437f19c893f63a7112267'/>
<id>urn:sha1:6ef61cc4c30e94acbd7437f19c893f63a7112267</id>
<content type='text'>
This allows clients to tell whether output comes from the daemon or, if
it comes from a builder, from which builder it comes.  The latter is
particularly useful when MAX-BUILD-JOBS &gt; 1.

* nix/libstore/build.cc (DerivationGoal::tryBuildHook)
(DerivationGoal::startBuilder): Print the child's PID in "@ build-started"
traces.
(DerivationGoal::handleChildOutput): Define 'prefix', pass it to
'writeToStderr'.
* nix/libstore/globals.cc (Settings:Settings): Initialize
'multiplexedBuildOutput'.
(Settings::update): Likewise.
* nix/libstore/globals.hh (Settings)[multiplexedBuildOutput]: New field.
Update 'printBuildTrace' documentation.
* nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0.163.
* nix/nix-daemon/nix-daemon.cc (performOp) &lt;wopSetOptions&gt;: Special-case
"multiplexed-build-output" and remove "use-ssh-substituter".
* guix/store.scm (set-build-options): Add #:multiplexed-build-output?
and honor it.
(%protocol-version): Bump to #x163.
* tests/store.scm ("multiplexed-build-output"): New test.

fixlet
</content>
</entry>
<entry>
<title>guix-daemon: Disable garbage collection for remote connections.</title>
<updated>2018-04-19T17:06:26Z</updated>
<author>
<name>Roel Janssen</name>
<email>roel@gnu.org</email>
</author>
<published>2018-04-19T15:11:30Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=5cefb13ddd4d51a63a387e74c138035b7b8b8537'/>
<id>urn:sha1:5cefb13ddd4d51a63a387e74c138035b7b8b8537</id>
<content type='text'>
* nix/nix-daemon/nix-daemon.cc (isRemoteConnection): New variable.
  (performOp): For wopCollectGarbage, throw an error when isRemoteConnection
  is set.
  (acceptConnection): Set isRemoteConnection when connection is not AF_UNIX.
* tests/guix-daemon.sh: Add a test for the new behavior.
</content>
</entry>
<entry>
<title>daemon: Flush the sink upon 'exportPath' errors.</title>
<updated>2017-07-17T13:13:41Z</updated>
<author>
<name>Jan Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2017-07-17T13:00:01Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=2e009ae7cdaee4ce871b3a79d50118762ee29fb6'/>
<id>urn:sha1:2e009ae7cdaee4ce871b3a79d50118762ee29fb6</id>
<content type='text'>
Prior to this change, errors such as wrong permissions on
/etc/guix/signing-key.sec would give:

  guix-daemon: nix/libutil/serialise.cc:15: virtual nix::BufferedSink::~BufferedSink(): Assertion `!bufPos' failed.

This patch correctly propagates the error to the client and thus changes
that to:

  error: build failed: file `/etc/guix/signing-key.sec' should be secret (inaccessible to everybody else)!

* nix/nix-daemon/nix-daemon.cc (performOp): Wrap 'exportPath' call in
'try' block.

Co-authored-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>daemon: Allow compilation with GCC 4.9.</title>
<updated>2017-07-10T09:55:54Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludovic.courtes@inria.fr</email>
</author>
<published>2017-07-10T09:54:25Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=5c82722cac1dba6cd8f471ca672ff88e04597a55'/>
<id>urn:sha1:5c82722cac1dba6cd8f471ca672ff88e04597a55</id>
<content type='text'>
Reported by Ricardo Wurmus.

* nix/nix-daemon/nix-daemon.cc (acceptConnection): Remove intermediate
'inaddr' variables that relied on implicit casts.  This fixes
compilation with GCC 4.9.
</content>
</entry>
<entry>
<title>daemon: Set TCP_NODELAY and TCP_QUICKACK on remote sockets.</title>
<updated>2017-06-22T08:59:07Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludovic.courtes@inria.fr</email>
</author>
<published>2017-06-22T08:56:18Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=6efb578a1412bae959dd6b1755e2c333eb4e4cd8'/>
<id>urn:sha1:6efb578a1412bae959dd6b1755e2c333eb4e4cd8</id>
<content type='text'>
* nix/nix-daemon/nix-daemon.cc (acceptConnection): Set TCP_NODELAY and
TCP_QUICKACK on REMOTE.
</content>
</entry>
<entry>
<title>daemon: '--listen' can be passed several times, can specify TCP endpoints.</title>
<updated>2017-06-22T08:59:07Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludovic.courtes@inria.fr</email>
</author>
<published>2017-06-19T15:39:24Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=1071f781d97509347144754b3248581cf7c6c1d5'/>
<id>urn:sha1:1071f781d97509347144754b3248581cf7c6c1d5</id>
<content type='text'>
* nix/nix-daemon/guix-daemon.cc (DEFAULT_GUIX_PORT): New macro.
(listen_options): New variable.
(parse_opt): Push back '--listen' options to LISTEN_OPTIONS.
(open_unix_domain_socket, open_inet_socket)
(listening_sockets): New functions.
(main): Use it.  Pass SOCKETS to 'run'.
* nix/nix-daemon/nix-daemon.cc (matchUser): Remove.
(SD_LISTEN_FDS_START): Remove.
(acceptConnection): New function.
(daemonLoop): Rewrite to take a vector of file descriptors, to select(2)
on them, and to call 'acceptConnection'.
(run): Change to take a vector of file descriptors.
* tests/guix-daemon.sh: Add test.
</content>
</entry>
<entry>
<title>daemon: Client settings no longer override daemon settings.</title>
<updated>2017-01-15T14:43:22Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-01-15T14:13:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=deac976d3d26c7b85b9c90efb424b0aa94f1027c'/>
<id>urn:sha1:deac976d3d26c7b85b9c90efb424b0aa94f1027c</id>
<content type='text'>
Fixes &lt;http://bugs.gnu.org/20217&gt;.

* nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x161.
* nix/nix-daemon/nix-daemon.cc (performOp): "build-max-jobs",
"build-max-silent-time", and "build-cores" are no longer read upfront;
instead, read them from the key/value list at the end.
* nix/nix-daemon/guix-daemon.cc (main): Explicitly set
'settings.maxBuildJobs'.
* guix/store.scm (%protocol-version): Bump to #x161.
(set-build-options): #:max-build-jobs, #:max-silent-time, and
 #:build-cores now default to #f.  Adjust handshake to new protocol.
* tests/store.scm ("build-cores"): New test.
* tests/guix-daemon.sh: Add test for default "build-cores" value.
</content>
</entry>
<entry>
<title>daemon: Set ownership of kept build directories to the calling user.</title>
<updated>2016-12-09T14:46:09Z</updated>
<author>
<name>Hartmut Goebel</name>
<email>h.goebel@crazy-compilers.com</email>
</author>
<published>2016-11-21T18:49:12Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=2608e40988ba8cf51723fe0d21bdedf6b3997c9c'/>
<id>urn:sha1:2608e40988ba8cf51723fe0d21bdedf6b3997c9c</id>
<content type='text'>
Fixes &lt;http://bugs.gnu.org/15890&gt;.

* nix/libstore/globals.hh (Settings) Add clientUid and clientGid.
* nix/nix-daemon/nix-daemon.cc (daemonLoop] Store UID and GID of the
  caller in settings.
* nix/libstore/build.cc (_chown): New function.
  (DerivationGoal::deleteTmpDir): Use it, change ownership of build
  directory if it is kept and the new owner is not root.
</content>
</entry>
</feed>
