<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests/guix-environment-container.sh, branch master</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>shell: Add --cwd.</title>
<updated>2026-04-30T00:07:20+00:00</updated>
<author>
<name>Danny Milosavljevic</name>
<email>dannym@friendly-machines.com</email>
</author>
<published>2026-04-13T15:59:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=62992295d67958683e97c4dbafeb3f5396bb6742'/>
<id>62992295d67958683e97c4dbafeb3f5396bb6742</id>
<content type='text'>
* guix/scripts/environment.scm (show-environment-options-help): Document
--cwd.
(%options): Add cwd.
(launch-environment/container): Add cwd parameter.  Implement passing it to
the container.
(guix-environment*): Reject --cwd without --container.
* doc/guix.texi (Invoking guix shell): Document it.
* tests/guix-environment-container.sh: Add tests.
* tests/guix-shell.sh: Add tests.

Fixes: guix/guix# 7825
Change-Id: Iba4ff3d2058e92f504fbcbf688346357ce913213
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/scripts/environment.scm (show-environment-options-help): Document
--cwd.
(%options): Add cwd.
(launch-environment/container): Add cwd parameter.  Implement passing it to
the container.
(guix-environment*): Reject --cwd without --container.
* doc/guix.texi (Invoking guix shell): Document it.
* tests/guix-environment-container.sh: Add tests.
* tests/guix-shell.sh: Add tests.

Fixes: guix/guix# 7825
Change-Id: Iba4ff3d2058e92f504fbcbf688346357ce913213
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Increase test timeout and honor ‘GUIX_TESTS_BUILD_TIMEOUT’.</title>
<updated>2025-10-17T10:23:54+00:00</updated>
<author>
<name>Martin Schitter</name>
<email>ms@mur.at</email>
</author>
<published>2025-10-04T17:38:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=590eb9ef40dd2b902f966dba285262d1a0d9df29'/>
<id>590eb9ef40dd2b902f966dba285262d1a0d9df29</id>
<content type='text'>
Rigid build time limits let some unit tests fail on slow hardware.

Set default timeout to 5 minutes and make it configurable via
`GUIX_TESTS_BUILD_TIMEOUT` environment variable.

* guix/tests.scm (%tests-build-timeout): New variable.
(open-connection-for-tests, call-with-external-store): Use it.
* tests/guix-environment-container.sh, tests/guix-home.sh,
tests/guix-pack-localstatedir.sh, tests/guix-pack-relocatable.sh: Use it to
define ‘GUIX_BUILD_OPTIONS’.

Change-Id: Iab63c2dcf4a3ad311a0cf2f39d7ea2ec158ddbb4
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rigid build time limits let some unit tests fail on slow hardware.

Set default timeout to 5 minutes and make it configurable via
`GUIX_TESTS_BUILD_TIMEOUT` environment variable.

* guix/tests.scm (%tests-build-timeout): New variable.
(open-connection-for-tests, call-with-external-store): Use it.
* tests/guix-environment-container.sh, tests/guix-home.sh,
tests/guix-pack-localstatedir.sh, tests/guix-pack-relocatable.sh: Use it to
define ‘GUIX_BUILD_OPTIONS’.

Change-Id: Iab63c2dcf4a3ad311a0cf2f39d7ea2ec158ddbb4
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Pass ‘--timeout’ for builds with the host store.</title>
<updated>2025-09-03T10:34:13+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2025-08-29T12:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=128f07cd011d37cd63b2650ffe798ff83f3d1803'/>
<id>128f07cd011d37cd63b2650ffe798ff83f3d1803</id>
<content type='text'>
This ensures ‘make check’ doesn’t accidentally start building the world.

* tests/guix-environment-container.sh (GUIX_BUILD_OPTIONS): New environment
variable.
* tests/guix-home.sh (GUIX_BUILD_OPTIONS): Likewise.
* tests/guix-pack-localstatedir.sh (GUIX_BUILD_OPTIONS): Likewise.
* tests/guix-pack-relocatable.sh (GUIX_BUILD_OPTIONS): Likewise.

Change-Id: If8afe9cfc5c0f1f72cd6f3d39dd5d4f6415d1e02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ensures ‘make check’ doesn’t accidentally start building the world.

* tests/guix-environment-container.sh (GUIX_BUILD_OPTIONS): New environment
variable.
* tests/guix-home.sh (GUIX_BUILD_OPTIONS): Likewise.
* tests/guix-pack-localstatedir.sh (GUIX_BUILD_OPTIONS): Likewise.
* tests/guix-pack-relocatable.sh (GUIX_BUILD_OPTIONS): Likewise.

Change-Id: If8afe9cfc5c0f1f72cd6f3d39dd5d4f6415d1e02
</pre>
</div>
</content>
</entry>
<entry>
<title>environment: Provide a writable /run/user/$UID.</title>
<updated>2025-05-24T10:48:05+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2025-05-19T19:28:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f8527e7f2044ec7bb19efcb25158ec7aa0fe5fa3'/>
<id>f8527e7f2044ec7bb19efcb25158ec7aa0fe5fa3</id>
<content type='text'>
* guix/scripts/environment.scm (launch-environment/container): Add
/run/user/UID to ‘file-systems’.
* tests/guix-environment-container.sh: Test it.

Change-Id: I44c70a7554a06f40d073c25929ea7c6ded356d08
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/scripts/environment.scm (launch-environment/container): Add
/run/user/UID to ‘file-systems’.
* tests/guix-environment-container.sh: Test it.

Change-Id: I44c70a7554a06f40d073c25929ea7c6ded356d08
</pre>
</div>
</content>
</entry>
<entry>
<title>environment: Make home writable.</title>
<updated>2025-05-18T20:55:54+00:00</updated>
<author>
<name>Tomas Volf</name>
<email>~@wolfsden.cz</email>
</author>
<published>2025-05-18T13:39:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=11e88de06043d367d02ceceade84733a65f84e27'/>
<id>11e88de06043d367d02ceceade84733a65f84e27</id>
<content type='text'>
Fixes &lt;https://issues.guix.gnu.org/78363&gt;.

* guix/scripts/environment.scm (launch-environment/container): Add tmpfs for
home.
* tests/guix-environment-container.sh: Add test.

Change-Id: Iadd9b838f6442a8080998ed7e07414db562068bf
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://issues.guix.gnu.org/78363&gt;.

* guix/scripts/environment.scm (launch-environment/container): Add tmpfs for
home.
* tests/guix-environment-container.sh: Add test.

Change-Id: Iadd9b838f6442a8080998ed7e07414db562068bf
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>environment, home: Make /tmp writable.</title>
<updated>2025-05-06T10:22:34+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2025-05-06T09:29:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=edc799dabfb059735f1a3084384925fe573d9de1'/>
<id>edc799dabfb059735f1a3084384925fe573d9de1</id>
<content type='text'>
Fixes &lt;https://issues.guix.gnu.org/78272&gt;.

Fixes a bug caused by commit ce363c1dc7bd63a74dcf7788d340819f6d5db89f,
which inadvertently made /tmp read-only as well.

* guix/scripts/environment.scm (launch-environment/container)[tmpfs]:
New variable.
Add it to ‘file-systems’.
* guix/scripts/home.scm (spawn-home-container): Add /tmp file system
to #:mounts.
* tests/guix-environment-container.sh: Add test.

Reported-by: Tomas Volf &lt;~@wolfsden.cz&gt;
Change-Id: I5cb449e6d0c213d4b5866cbcbd14990437a7d4c5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://issues.guix.gnu.org/78272&gt;.

Fixes a bug caused by commit ce363c1dc7bd63a74dcf7788d340819f6d5db89f,
which inadvertently made /tmp read-only as well.

* guix/scripts/environment.scm (launch-environment/container)[tmpfs]:
New variable.
Add it to ‘file-systems’.
* guix/scripts/home.scm (spawn-home-container): Add /tmp file system
to #:mounts.
* tests/guix-environment-container.sh: Add test.

Reported-by: Tomas Volf &lt;~@wolfsden.cz&gt;
Change-Id: I5cb449e6d0c213d4b5866cbcbd14990437a7d4c5
</pre>
</div>
</content>
</entry>
<entry>
<title>environment: Add ‘--writable-root’ and default to read-only root.</title>
<updated>2025-05-05T12:33:59+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2025-04-04T21:38:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=ce363c1dc7bd63a74dcf7788d340819f6d5db89f'/>
<id>ce363c1dc7bd63a74dcf7788d340819f6d5db89f</id>
<content type='text'>
This is an incompatible change where the root file system in
‘guix shell -C’ is now read-only by default.

* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add ‘--writable-root’.
* guix/scripts/environment.scm (setup-fhs): Invoke /sbin/ldconfig; moved
from…
(launch-environment): … here.
(launch-environment/container): Add #:writable-root? and pass it to
‘call-with-container’.  Move root file system setup to #:populate-file-system.
(guix-environment*): Honor ‘--writable-root’.
* tests/guix-environment-container.sh: Test it.
* doc/guix.texi (Invoking guix shell): Document ‘--writable-root’.
(Debugging Build Failures): Mention it before “rm /bin/sh”.

Change-Id: I2e8517d6f01eb8093160bffc0f9f56071ad6fee6
Reviewed-by: Maxim Cournoyer &lt;maxim.cournoyer@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is an incompatible change where the root file system in
‘guix shell -C’ is now read-only by default.

* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add ‘--writable-root’.
* guix/scripts/environment.scm (setup-fhs): Invoke /sbin/ldconfig; moved
from…
(launch-environment): … here.
(launch-environment/container): Add #:writable-root? and pass it to
‘call-with-container’.  Move root file system setup to #:populate-file-system.
(guix-environment*): Honor ‘--writable-root’.
* tests/guix-environment-container.sh: Test it.
* doc/guix.texi (Invoking guix shell): Document ‘--writable-root’.
(Debugging Build Failures): Mention it before “rm /bin/sh”.

Change-Id: I2e8517d6f01eb8093160bffc0f9f56071ad6fee6
Reviewed-by: Maxim Cournoyer &lt;maxim.cournoyer@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Adjust to cope with glibc graft.</title>
<updated>2023-10-27T23:30:37+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2023-10-27T23:30:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=ff1146fb4f7254a8f644f89d7af6b4b566528603'/>
<id>ff1146fb4f7254a8f644f89d7af6b4b566528603</id>
<content type='text'>
This is a followup to 1328c4cca531318e3ed90c6aecb522a5b22a4bcc, which
led to failures for tests that were not prepared to cope with that.

* tests/guix-environment-container.sh (hello_drv_nested): Pass “-E
GUIX_BUILD_OPTIONS” so ‘--no-grafts’ is passed.
* tests/guix-pack.sh (GUIX_BUILD_OPTIONS): Add ‘--no-grafts’.
* tests/transformations.scm ("options-&gt;transformation, with-graft"):
Skip when ‘glibc-final’ has a replacement.

Change-Id: Ia65c9aeb06f524252815b8290a5ca7bf97ee8136
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a followup to 1328c4cca531318e3ed90c6aecb522a5b22a4bcc, which
led to failures for tests that were not prepared to cope with that.

* tests/guix-environment-container.sh (hello_drv_nested): Pass “-E
GUIX_BUILD_OPTIONS” so ‘--no-grafts’ is passed.
* tests/guix-pack.sh (GUIX_BUILD_OPTIONS): Add ‘--no-grafts’.
* tests/transformations.scm ("options-&gt;transformation, with-graft"):
Skip when ‘glibc-final’ has a replacement.

Change-Id: Ia65c9aeb06f524252815b8290a5ca7bf97ee8136
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Fix checks for expected failures.</title>
<updated>2023-04-21T14:16:38+00:00</updated>
<author>
<name>Eric Bavier</name>
<email>bavier@posteo.net</email>
</author>
<published>2023-04-20T05:11:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=37dd69b44511dc73eb04bdebe8d82c9a0386338e'/>
<id>37dd69b44511dc73eb04bdebe8d82c9a0386338e</id>
<content type='text'>
Addresses &lt;https://issues.guix.gnu.org/62406&gt;.

With 'set -e', a return status inverted with '!' does not cause the shell to
exit immediately.  Instead use '&amp;&amp; false' to indicate an expected failure.

* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh,
tests/guix-daemon.sh, tests/guix-download.sh,
tests/guix-environment-container.sh, tests/guix-environment.sh,
tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh,
tests/guix-hash.sh, tests/guix-home.sh, tests/guix-pack-relocatable.sh,
tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh,
tests/guix-package.sh, tests/guix-refresh.sh, tests/guix-shell.sh,
tests/guix-style.sh, tests/guix-system.sh: Replace uses of '! ...' with
'... &amp;&amp; false' or `test ! ...` as appropriate.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Addresses &lt;https://issues.guix.gnu.org/62406&gt;.

With 'set -e', a return status inverted with '!' does not cause the shell to
exit immediately.  Instead use '&amp;&amp; false' to indicate an expected failure.

* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh,
tests/guix-daemon.sh, tests/guix-download.sh,
tests/guix-environment-container.sh, tests/guix-environment.sh,
tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh,
tests/guix-hash.sh, tests/guix-home.sh, tests/guix-pack-relocatable.sh,
tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh,
tests/guix-package.sh, tests/guix-refresh.sh, tests/guix-shell.sh,
tests/guix-style.sh, tests/guix-system.sh: Replace uses of '! ...' with
'... &amp;&amp; false' or `test ! ...` as appropriate.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>environment: Add '--nesting'.</title>
<updated>2023-04-06T16:34:15+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludovic.courtes@inria.fr</email>
</author>
<published>2023-03-23T16:22:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=57db09aae73e3713a10c5253758d84e1046f80dc'/>
<id>57db09aae73e3713a10c5253758d84e1046f80dc</id>
<content type='text'>
* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add '--nesting'.
(options/resolve-packages): Handle it.
(launch-environment/container): Add #:nesting? and honor it.
[nesting-mappings]: New procedure.
(guix-environment*): Add support for '--nesting'.
* guix/scripts/shell.scm (profile-cached-gc-root): Special-case
'nesting?'.
* tests/guix-environment-container.sh: Test it.
* doc/guix.texi (Invoking guix shell): Document it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add '--nesting'.
(options/resolve-packages): Handle it.
(launch-environment/container): Add #:nesting? and honor it.
[nesting-mappings]: New procedure.
(guix-environment*): Add support for '--nesting'.
* guix/scripts/shell.scm (profile-cached-gc-root): Special-case
'nesting?'.
* tests/guix-environment-container.sh: Test it.
* doc/guix.texi (Invoking guix shell): Document it.
</pre>
</div>
</content>
</entry>
</feed>
