<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chuix.git/nix, branch fix-out-of-tree-make</title>
<subtitle>guix
</subtitle>
<id>http://cgit.adnoto.dev/chuix.git/atom?h=fix-out-of-tree-make</id>
<link rel='self' href='http://cgit.adnoto.dev/chuix.git/atom?h=fix-out-of-tree-make'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/'/>
<updated>2026-05-01T09:11:55Z</updated>
<entry>
<title>build: Fix out-of-tree make.</title>
<updated>2026-05-01T09:11:55Z</updated>
<author>
<name>Charles Roelli</name>
<email>charles@aurox.ch</email>
</author>
<published>2026-05-01T08:42:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=2feb4689c73491cd7d827bcc42d10dfd67cf1868'/>
<id>urn:sha1:2feb4689c73491cd7d827bcc42d10dfd67cf1868</id>
<content type='text'>
* doc/local.mk (lang_to_texinfo): Refer to .texi files using srcdir.
(xref_command): Reference pre-inst-env using builddir.
($(srcdir)/%D%/guix.%.texi):
($(srcdir)/%D%/guix-cookbook.%.texi):
($(srcdir)/%D%/contributing.%.texi): Refer to source files using srcdir.
* nix/local.mk (etc/guix-gc.timer): Use the name of the prerequisite,
not just its file name.

Change-Id: I247bcd873c8355d0eae07870ec849d2eb8cfa6c5
</content>
</entry>
<entry>
<title>daemon: Dereference symlinks for /etc/services &amp; co.</title>
<updated>2026-03-29T20:20:58Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2026-03-25T17:58:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=425aa1bf7c35839f5e500515ff3b5a861a7533d6'/>
<id>urn:sha1:425aa1bf7c35839f5e500515ff3b5a861a7533d6</id>
<content type='text'>
Fixes a regression on Guix System introduced in
c4298638ca27717be4a83cb033dcbfecdea88093 (from guix/guix#4178) where files in
/etc, such as /etc/services, would be symlinks.  Consequently, the chroot of
fixed-output derivations would contain a dangling symlink for /etc/services,
leading to name resolution failures in the chroot.

This also relates to 82f84f5e7fb34cc719ed6ea538a3d1ca7516f23d.

* nix/libstore/build.cc (DerivationGoal::startBuilder): Add call to
‘canonPath’.

Change-Id: If34c8e74447ffc03d9fa81a1ea6bc0aef7c4d0b3
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>daemon: Resolve symlinks in /etc/resolv.conf for slirp4netns chroot.</title>
<updated>2026-03-19T14:32:46Z</updated>
<author>
<name>Roman Scherer</name>
<email>roman@burningswell.com</email>
</author>
<published>2026-03-07T12:10:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=82f84f5e7fb34cc719ed6ea538a3d1ca7516f23d'/>
<id>urn:sha1:82f84f5e7fb34cc719ed6ea538a3d1ca7516f23d</id>
<content type='text'>
* nix/libstore/build.cc (prepareSlirpChrootAction): Use
canonPath(i, true) to resolve symlinks when adding /etc/resolv.conf
and /etc/hosts to the slirp4netns chroot, so that bindMount receives
a regular file path instead of a symlink.

On systems using systemd-resolved, /etc/resolv.conf is typically a
symlink:

  /etc/resolv.conf -&gt; /run/systemd/resolve/stub-resolv.conf

The slirp4netns chroot creates an empty /run/ directory, so when
bindMount copies the symlink verbatim (spawn.cc line 537-542), the
target does not exist and slirp4netns cannot determine the upstream
DNS server.  This causes all DNS resolution to fail for fixed-output
derivations that use the Guile-based git-fetch builder (e.g.
git-fetch/lfs), since they rely on slirp4netns for network access
in the build chroot.

Derivations using builtin:git-download are unaffected because they
run in the daemon process itself, which has full network access.

Change-Id: Ib73e69a8760e74eb8141dd0408c27aa8b3001e37
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #6959
</content>
</entry>
<entry>
<title>daemon: Actually remove unreadable directories.</title>
<updated>2026-02-27T22:54:00Z</updated>
<author>
<name>Reepca Russelstein</name>
<email>reepca@russelstein.xyz</email>
</author>
<published>2026-02-15T18:39:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=865cb0188c282726008c56319a853c7dd82c4057'/>
<id>urn:sha1:865cb0188c282726008c56319a853c7dd82c4057</id>
<content type='text'>
Fixes a regression introduced in 7173c2c0ca.  Additional discussion at
https://codeberg.org/guix/guix/pulls/5977.

* nix/libutil/util.cc (_deletePathAt): chmod directory and retry open when it
  fails with EACCES.  Do this using an O_PATH file descriptor referenced via
  /proc/self/fd whenever possible to avoid it being replaced by a
  non-directory immediately before being chmod'ed.
* nix/libutil/util.hh (deletePath): document TOCTTOU race on non-linux systems
  where hardlinks aren't protected.
* tests/derivations.scm ("unreadable directories in build tree can be
  removed"): new test.

Fixes: guix/guix#5891
Reported-by: Liliana Marie Prikler &lt;liliana.prikler@gmail.com&gt;
Change-Id: I749127fe5254ebabc8387a2f0ef47e3c116bfcc5
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #6460
</content>
</entry>
<entry>
<title>daemon: Remove unused entities in globals.{hh, cc}.</title>
<updated>2026-02-06T19:49:01Z</updated>
<author>
<name>Congcong Kuo</name>
<email>congcong.kuo@gmail.com</email>
</author>
<published>2026-01-29T14:39:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=dab3b8f64cd1b5255aa29150ace86610a13e1097'/>
<id>urn:sha1:dab3b8f64cd1b5255aa29150ace86610a13e1097</id>
<content type='text'>
All these entities are not been used anywhere.

* nix/libstore/globals.hh (Settings): Remove 'overrides' member
and 'getOverrides' method declaration.
(nixVersion): Removed.
* nix/libstore/globals.cc (Settings::set): Do not update the 'overrides' map.
(Settings::getOverrides): Remove function definition.

Change-Id: If7dbb6df79178d2569cda21e1fe5e0ea3d8e59ba
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #6009
</content>
</entry>
<entry>
<title>Merge branch 'version-1.5.0'</title>
<updated>2026-01-22T12:27:13Z</updated>
<author>
<name>Rutherther</name>
<email>rutherther@ditigal.xyz</email>
</author>
<published>2026-01-22T12:27:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=7c0cd7e45b0240b842b4f3e767599501eac42ee1'/>
<id>urn:sha1:7c0cd7e45b0240b842b4f3e767599501eac42ee1</id>
<content type='text'>
Change-Id: Id73c0c74600a3da3373b3a37236b505af65bfe31
</content>
</entry>
<entry>
<title>nix: Spelling corrections.</title>
<updated>2026-01-14T08:16:45Z</updated>
<author>
<name>Efraim Flashner</name>
<email>efraim@flashner.co.il</email>
</author>
<published>2026-01-08T11:55:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=9efc2a690e5b5ea891457e2ae170597a548a19e6'/>
<id>urn:sha1:9efc2a690e5b5ea891457e2ae170597a548a19e6</id>
<content type='text'>
* nix/libstore/globals.hh,
nix/libstore/store-api.hh,
nix/libutil/util.hh: Fix misspellings in comments.

Change-Id: Id77ea2bde1c2582d1a7bec4ed256ea900998c4b8
</content>
</entry>
<entry>
<title>daemon: Fix several format strings.</title>
<updated>2026-01-12T09:56:37Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2026-01-12T08:15:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=5ff038473e3f3d6a84e69c712446ba3e200aa9b2'/>
<id>urn:sha1:5ff038473e3f3d6a84e69c712446ba3e200aa9b2</id>
<content type='text'>
This is a followup to 3af52f845fe2ceb448416ac7b9f48925673c594e and
6f1448ef89c8ad29e2a479099531fd3a87701e46.

* nix/libstore/local-store.cc (LocalStore::queryValidPathId): Change %1% to {}.
* nix/libstore/optimise-store.cc (LocalStore::optimisePath_): Likewise.
* nix/nix-daemon/guix-daemon.cc (open_unix_domain_socket): Likewise.
(main): Likewise.
* nix/libutil/affinity.cc (restoreAffinity): Remove useless %1%.

Change-Id: I3a7cd79cd69ab58f14118662f1dcf2fef067a6b7
</content>
</entry>
<entry>
<title>daemon: Fix typo in format string.</title>
<updated>2025-12-25T23:01:43Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2025-12-22T22:50:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=6f1448ef89c8ad29e2a479099531fd3a87701e46'/>
<id>urn:sha1:6f1448ef89c8ad29e2a479099531fd3a87701e46</id>
<content type='text'>
* nix/libstore/build.cc (Worker::waitForInput): Fix typo in format string.

Change-Id: I0a39ada8a347c8c8daddd9f34292cbbb03ba0076
</content>
</entry>
<entry>
<title>daemon: Ensure store is writable even as non-root.</title>
<updated>2025-12-22T10:00:17Z</updated>
<author>
<name>Rutherther</name>
<email>rutherther@ditigal.xyz</email>
</author>
<published>2025-12-21T12:25:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chuix.git/commit/?id=2a0ac4cba5e3816e203b412934ee66345667c5ca'/>
<id>urn:sha1:2a0ac4cba5e3816e203b412934ee66345667c5ca</id>
<content type='text'>
If the store is read only, return an error early.
This is bit of a compromise. Not all operations of the daemon need the store
as writable. For example, if hello package is built already `guix build hello`
could previously succeed even if store is RO.

* nix/libstore/local-store.cc
(makeStoreWritable): Rename to ensureStoreWritable.
(ensureStoreWritable): As non-root, check that the store is writable and if
not, throw an error.
(LocalStore::LocalStore): Use it.

* nix/libstore/local-store.hh: Rename makeStoreWritable to ensureStoreWritable.

Change-Id: I94783ba7e32d57bfa77e37e84b6ac316f95e31e2
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</content>
</entry>
</feed>
