<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix, branch v1.4.0rc2</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>deduplicate: Use 'sendfile' only with file ports.</title>
<updated>2022-12-10T17:13:39+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2022-12-10T17:12:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=7866294e32f1e758d06fce4e1b1035eca3a7d772'/>
<id>7866294e32f1e758d06fce4e1b1035eca3a7d772</id>
<content type='text'>
Fixes a regression introduced in b129026e2e242e9068158ae6e6fcd8d7c5ea092e.

* guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile'
only when INPUT' is a file port.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a regression introduced in b129026e2e242e9068158ae6e6fcd8d7c5ea092e.

* guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile'
only when INPUT' is a file port.
</pre>
</div>
</content>
</entry>
<entry>
<title>install: 'umount-cow-store' retries upon EBUSY.</title>
<updated>2022-12-10T13:34:35+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2022-12-10T13:33:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=61b7e9687757aff013b99e4ab15669a950c8b222'/>
<id>61b7e9687757aff013b99e4ab15669a950c8b222</id>
<content type='text'>
Possibly fixes &lt;https://issues.guix.gnu.org/59884&gt;.

* gnu/build/install.scm (umount*): New procedure.
(unmount-cow-store): Use it instead of 'umount'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Possibly fixes &lt;https://issues.guix.gnu.org/59884&gt;.

* gnu/build/install.scm (umount*): New procedure.
(unmount-cow-store): Use it instead of 'umount'.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Detect mapped installation devices.</title>
<updated>2022-12-10T10:23:27+00:00</updated>
<author>
<name>Mathieu Othacehe</name>
<email>othacehe@gnu.org</email>
</author>
<published>2022-12-08T12:24:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=1ab48edb1674e0454d4368fdbed16cbbdfd9bf06'/>
<id>1ab48edb1674e0454d4368fdbed16cbbdfd9bf06</id>
<content type='text'>
Fixes: &lt;https://issues.guix.gnu.org/59823&gt;

* gnu/installer/parted.scm (mapped-device?,
mapped-device-parent-partition): New procedures.
(eligible-devices): Detect mapped installation devices using the new
procedures.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: &lt;https://issues.guix.gnu.org/59823&gt;

* gnu/installer/parted.scm (mapped-device?,
mapped-device-parent-partition): New procedures.
(eligible-devices): Detect mapped installation devices using the new
procedures.
</pre>
</div>
</content>
</entry>
<entry>
<title>deduplicate: Use 'sendfile' for small file copies.</title>
<updated>2022-12-10T09:56:48+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2022-12-10T09:56:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=b129026e2e242e9068158ae6e6fcd8d7c5ea092e'/>
<id>b129026e2e242e9068158ae6e6fcd8d7c5ea092e</id>
<content type='text'>
* guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile'
instead of 'dump-port'.
* tests/store-deduplication.scm ("copy-file/deduplicate, below %deduplication-minimum-size"):
New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile'
instead of 'dump-port'.
* tests/store-deduplication.scm ("copy-file/deduplicate, below %deduplication-minimum-size"):
New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Print progress bars and such as soon as \r is read.</title>
<updated>2022-12-09T16:49:22+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2022-12-09T16:47:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=591af24ade1021d91a3e7c62fcc7a8c90f00d4bb'/>
<id>591af24ade1021d91a3e7c62fcc7a8c90f00d4bb</id>
<content type='text'>
Fixes &lt;https://issues.guix.gnu.org/59922&gt;.

Previously progress bars and related things would be buffered by
'run-external-command-with-line-hooks' until \n is read.

* gnu/installer/utils.scm (run-external-command-with-line-hooks): Use
'read-delimited' rather than 'get-line'.  Pass 'concat as the last
argument.
(%display-line-hook): Remove.
(run-command): Use 'display' instead of '%display-line-hook'.
(%syslog-line-hook): Add "\n" when LINE doesn't end in \n.
(%installer-log-line-hook): Do not add an extra newline.
(installer-log-line): Add an extra newline.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://issues.guix.gnu.org/59922&gt;.

Previously progress bars and related things would be buffered by
'run-external-command-with-line-hooks' until \n is read.

* gnu/installer/utils.scm (run-external-command-with-line-hooks): Use
'read-delimited' rather than 'get-line'.  Pass 'concat as the last
argument.
(%display-line-hook): Remove.
(run-command): Use 'display' instead of '%display-line-hook'.
(%syslog-line-hook): Add "\n" when LINE doesn't end in \n.
(%installer-log-line-hook): Do not add an extra newline.
(installer-log-line): Add an extra newline.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: nscd: Use nscd from 'glibc-final' on native builds.</title>
<updated>2022-12-09T15:43:25+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2022-12-09T15:43:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=556520a33c8a62fc80ac9ab925f86f08986d138b'/>
<id>556520a33c8a62fc80ac9ab925f86f08986d138b</id>
<content type='text'>
This reduces the closure size of systems by removing one glibc
copy--namely (@ (gnu packages base) glibc) in addition to (@ (gnu
packages commencement) glibc-final).

* gnu/services/base.scm (&lt;nscd-configuration&gt;)[glibc]: Change default
value to use 'let-system' and 'canonical-package' as appropriate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reduces the closure size of systems by removing one glibc
copy--namely (@ (gnu packages base) glibc) in addition to (@ (gnu
packages commencement) glibc-final).

* gnu/services/base.scm (&lt;nscd-configuration&gt;)[glibc]: Change default
value to use 'let-system' and 'canonical-package' as appropriate.
</pre>
</div>
</content>
</entry>
<entry>
<title>system: Remove unused yggdrasil OS template.</title>
<updated>2022-12-09T15:40:53+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2022-12-09T15:40:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=755c4b496e24f2df5f1b0f4a3873e9e00bae1fdc'/>
<id>755c4b496e24f2df5f1b0f4a3873e9e00bae1fdc</id>
<content type='text'>
This file was added in fe1cd098d2b83737e96f19438612291f5a9316e4 but it's
not referenced from anywhere, not even gnu/local.mk.  Furthermore, we
don't normally add full OS examples for the purposes of illustrating the
use of a single service.

* gnu/system/examples/yggdrasil.tmpl: Remove.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This file was added in fe1cd098d2b83737e96f19438612291f5a9316e4 but it's
not referenced from anywhere, not even gnu/local.mk.  Furthermore, we
don't normally add full OS examples for the purposes of illustrating the
use of a single service.

* gnu/system/examples/yggdrasil.tmpl: Remove.
</pre>
</div>
</content>
</entry>
<entry>
<title>environment: '-C' doesn't throw when the NSS is dysfunctional.</title>
<updated>2022-12-09T08:59:53+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2022-12-08T15:30:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=0406df0b9b1bf39caa39eba50f918c897ea204e6'/>
<id>0406df0b9b1bf39caa39eba50f918c897ea204e6</id>
<content type='text'>
Previously, if the name service switch was dysfunctional, as can happen
on foreign distros lacking nscd, "guix shell -C" would crash with a
backtrace on the uncaught 'getpwuid' exception.  To address that, catch
the exception and deal with it gracefully.

Reported by remsd1 on #guix.

* guix/scripts/environment.scm (launch-environment/container): Wrap
'getpwuid' call in 'false-if-exception'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, if the name service switch was dysfunctional, as can happen
on foreign distros lacking nscd, "guix shell -C" would crash with a
backtrace on the uncaught 'getpwuid' exception.  To address that, catch
the exception and deal with it gracefully.

Reported by remsd1 on #guix.

* guix/scripts/environment.scm (launch-environment/container): Wrap
'getpwuid' call in 'false-if-exception'.
</pre>
</div>
</content>
</entry>
<entry>
<title>guix-install.sh: Authorize all project build farms at once.</title>
<updated>2022-12-09T08:59:32+00:00</updated>
<author>
<name>Tobias Geerinckx-Rice</name>
<email>me@tobias.gr</email>
</author>
<published>2021-09-29T15:43:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=416a691cff8b75d0fcba50412c6e347212ab5973'/>
<id>416a691cff8b75d0fcba50412c6e347212ab5973</id>
<content type='text'>
* etc/guix-install.sh (sys_authorize_build_farms):
Iterate over all hosts.

Co-authored-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* etc/guix-install.sh (sys_authorize_build_farms):
Iterate over all hosts.

Co-authored-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>services: base: Use 'match-record' instead of 'match'.</title>
<updated>2022-12-08T12:21:53+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2022-11-19T16:54:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=156a8810019dd5b8d19f2026be80f199f8e40015'/>
<id>156a8810019dd5b8d19f2026be80f199f8e40015</id>
<content type='text'>
* gnu/services/base.scm (agetty-shepherd-service)
(mingetty-shepherd-service)
(nscd.conf-file)
(udev-shepherd-service)
(udev-etc)
(gpm-shepherd-service)
(network-set-up/linux)
(network-tear-down/linux)
(static-networking-shepherd-service)
(greetd-agreety-tty-session-command)
(greetd-agreety-tty-xdg-session-command): Use 'match-record' instead of
'match'.
(guix-accounts): Use &lt;guix-configuration&gt; accessors.
(udev-service-type): Use &lt;udev-configuration&gt; accessors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services/base.scm (agetty-shepherd-service)
(mingetty-shepherd-service)
(nscd.conf-file)
(udev-shepherd-service)
(udev-etc)
(gpm-shepherd-service)
(network-set-up/linux)
(network-tear-down/linux)
(static-networking-shepherd-service)
(greetd-agreety-tty-session-command)
(greetd-agreety-tty-xdg-session-command): Use 'match-record' instead of
'match'.
(guix-accounts): Use &lt;guix-configuration&gt; accessors.
(udev-service-type): Use &lt;udev-configuration&gt; accessors.
</pre>
</div>
</content>
</entry>
</feed>
