<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests, branch v1.2.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>Properly deal with build directories containing '~'.</title>
<updated>2020-11-16T10:21:42+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-11-16T10:03:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=977eb5d023cfdf8e336f1896480eea9cef5c04e9'/>
<id>977eb5d023cfdf8e336f1896480eea9cef5c04e9</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/44626&gt;.
Reported by Vagrant Cascadian &lt;vagrant@debian.org&gt;.

* tests/build-utils.scm ("wrap-script, simple case"): Pass
SCRIPT-CONTENTS to 'display' rather than 'format'.
* gnu/services/base.scm (file-system-&gt;shepherd-service-name)
[valid-characters, mount-point]: New variables.
Filter out invalid store file name characters from the mount point of
FILE-SYSTEM.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://bugs.gnu.org/44626&gt;.
Reported by Vagrant Cascadian &lt;vagrant@debian.org&gt;.

* tests/build-utils.scm ("wrap-script, simple case"): Pass
SCRIPT-CONTENTS to 'display' rather than 'format'.
* gnu/services/base.scm (file-system-&gt;shepherd-service-name)
[valid-characters, mount-point]: New variables.
Filter out invalid store file name characters from the mount point of
FILE-SYSTEM.
</pre>
</div>
</content>
</entry>
<entry>
<title>publish: Create files in the cache as #o644.</title>
<updated>2020-11-09T22:27:09+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-11-08T22:35:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d75475762824a4fa7e743138da6a9d59d8690a33'/>
<id>d75475762824a4fa7e743138da6a9d59d8690a33</id>
<content type='text'>
Reported by Ricardo Wurmus &lt;rekado@elephly.net&gt;.

* guix/scripts/publish.scm (compress-nar): Add 'chmod' call to ensure
PORT is #o644, in the uncompressed case.
(bake-narinfo+nar): Likewise for the narinfo file.
* tests/publish.scm ("with cache"): Check permissions on CACHED and NAR.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reported by Ricardo Wurmus &lt;rekado@elephly.net&gt;.

* guix/scripts/publish.scm (compress-nar): Add 'chmod' call to ensure
PORT is #o644, in the uncompressed case.
(bake-narinfo+nar): Likewise for the narinfo file.
* tests/publish.scm ("with cache"): Check permissions on CACHED and NAR.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Test "guix system search .".</title>
<updated>2020-11-06T15:38:12+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-11-06T15:33:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9e2523c25f7b8d6e8c29c679ad899703a120eed8'/>
<id>9e2523c25f7b8d6e8c29c679ad899703a120eed8</id>
<content type='text'>
This is a followup to 0c5d0c57d370b34f3ba677838deaa8baf7bca58a.

* tests/guix-system.sh: Run "guix system search .".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a followup to 0c5d0c57d370b34f3ba677838deaa8baf7bca58a.

* tests/guix-system.sh: Run "guix system search .".
</pre>
</div>
</content>
</entry>
<entry>
<title>gexp: Warn when importing (guix config) or (ice-9 …).</title>
<updated>2020-11-05T15:13:50+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-11-05T13:52:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=ca465a9c8454289b7aded22719cd5d919e441780'/>
<id>ca465a9c8454289b7aded22719cd5d919e441780</id>
<content type='text'>
While importing those modules from the host system is valid, it is often
a mistake that introduces non-reproducibility.  This patch prints a
warning when that happens.

* guix/gexp.scm (gexp-attribute): Add #:validate parameter and honor it.
(gexp-modules)[validate-modules]: New procedure.
Pass it to 'gexp-attribute'.
* tests/gexp.scm ("gexp-modules, warning"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While importing those modules from the host system is valid, it is often
a mistake that introduces non-reproducibility.  This patch prints a
warning when that happens.

* guix/gexp.scm (gexp-attribute): Add #:validate parameter and honor it.
(gexp-modules)[validate-modules]: New procedure.
Pass it to 'gexp-attribute'.
* tests/gexp.scm ("gexp-modules, warning"): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>gexp: Store the source code location in &lt;gexp&gt;.</title>
<updated>2020-11-05T15:13:50+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-11-05T13:32:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=18fc84bce86eedb85d44a8708a9a5ef7c1b23da5'/>
<id>18fc84bce86eedb85d44a8708a9a5ef7c1b23da5</id>
<content type='text'>
* guix/gexp.scm (&lt;gexp&gt;)[location]: New field.
(gexp-location): New procedure.
(write-gexp): Print the location of GEXP.
(gexp-&gt;derivation): Adjust call to 'make-gexp'.
(gexp): Likewise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/gexp.scm (&lt;gexp&gt;)[location]: New field.
(gexp-location): New procedure.
(write-gexp): Print the location of GEXP.
(gexp-&gt;derivation): Adjust call to 'make-gexp'.
(gexp): Likewise.
</pre>
</div>
</content>
</entry>
<entry>
<title>publish: Do not path the empty string to 'query-path-info'.</title>
<updated>2020-11-04T15:02:53+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-11-04T14:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=5e7cf66fb35780f930ad0bc5fe21ac330df4411d'/>
<id>5e7cf66fb35780f930ad0bc5fe21ac330df4411d</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/44442&gt;.
Regression introduced in 2b2ab7796ac186d88060793b8873fc0e21462758.

* guix/scripts/publish.scm (render-nar/cached): Do not call
'bypass-cache?' when ITEM is the empty string.
* tests/publish.scm ("with cache, cache bypass, unmapped hash part"):
New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://bugs.gnu.org/44442&gt;.
Regression introduced in 2b2ab7796ac186d88060793b8873fc0e21462758.

* guix/scripts/publish.scm (render-nar/cached): Do not call
'bypass-cache?' when ITEM is the empty string.
* tests/publish.scm ("with cache, cache bypass, unmapped hash part"):
New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>system: Add store-directory-prefix to boot-parameters.</title>
<updated>2020-11-01T01:28:38+00:00</updated>
<author>
<name>Miguel Ángel Arruga Vivas</name>
<email>rosen644835@gmail.com</email>
</author>
<published>2020-10-24T16:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=582cf9257cd1f9c969fbba5eb1c336ac8b975cde'/>
<id>582cf9257cd1f9c969fbba5eb1c336ac8b975cde</id>
<content type='text'>
Fixes &lt;http://issues.guix.gnu.org/44196&gt;

* gnu/machine/ssh.scm (roll-back-managed-host): Use
boot-parameters-store-directory-prefix.
* gnu/system.scm (define-module): Export
boot-parameters-store-directory-prefix.
(&lt;boot-parameters&gt;)[store-directory-prefix]: New field. It is used to
generate the correct paths when /gnu/store is installed on a btrfs
subvolume whose name doesn't match the final runtime path, as the
bootloader doesn't have knowledge about the final mounting points.
[boot-parameters-store-directory-prefix]: New accessor.
(read-boot-parameters): Read directory-prefix from store field.
(operating-system-boot-parameters-file): Add directory-prefix to
store field.
* guix/scripts/system.scm (reinstall-bootloader): Use
boot-parameters-store-directory-prefix.
* test/boot-parameters.scm (%default-btrfs-subvolume,
%default-store-directory-prefix): New variables.
(%grub-boot-parameters): Use %default-store-directory-prefix.
(%default-operating-system): Use %default-btrfs-subvolume.
(test-boot-parameters): Add directory-prefix.
(test optional fields): Add test for directory-prefix.
(test os store-directory-prefix): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;http://issues.guix.gnu.org/44196&gt;

* gnu/machine/ssh.scm (roll-back-managed-host): Use
boot-parameters-store-directory-prefix.
* gnu/system.scm (define-module): Export
boot-parameters-store-directory-prefix.
(&lt;boot-parameters&gt;)[store-directory-prefix]: New field. It is used to
generate the correct paths when /gnu/store is installed on a btrfs
subvolume whose name doesn't match the final runtime path, as the
bootloader doesn't have knowledge about the final mounting points.
[boot-parameters-store-directory-prefix]: New accessor.
(read-boot-parameters): Read directory-prefix from store field.
(operating-system-boot-parameters-file): Add directory-prefix to
store field.
* guix/scripts/system.scm (reinstall-bootloader): Use
boot-parameters-store-directory-prefix.
* test/boot-parameters.scm (%default-btrfs-subvolume,
%default-store-directory-prefix): New variables.
(%grub-boot-parameters): Use %default-store-directory-prefix.
(%default-operating-system): Use %default-btrfs-subvolume.
(test-boot-parameters): Add directory-prefix.
(test optional fields): Add test for directory-prefix.
(test os store-directory-prefix): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>pack: Relocatable wrapper leaves root available to child processes.</title>
<updated>2020-10-31T22:16:43+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-10-31T22:02:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=bfe82fe2f6e9f34c0774fe2114cdc7e937ba8bd2'/>
<id>bfe82fe2f6e9f34c0774fe2114cdc7e937ba8bd2</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/44261&gt;.
Reported by Jan Nieuwenhuizen &lt;janneke@gnu.org&gt;.

* gnu/packages/aux-files/run-in-namespace.c (exec_in_user_namespace):
Add call to 'prctl'.  Call 'mount' for NEW_ROOT and define 'is_tmpfs'.
When IS_TMPFS is true, call 'umount' and 'rmdir' after 'waitpid';
otherwise, call 'rm_rf' only when 'waitpid' returns -1 the second time.
(exec_with_loader): Call 'prctl'.  Remove NEW_ROOT only when 'waitpid'
returns -1 the second time, otherwise leave it behind.
* tests/guix-pack-relocatable.sh (wait_for_file): New function.
Add test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://bugs.gnu.org/44261&gt;.
Reported by Jan Nieuwenhuizen &lt;janneke@gnu.org&gt;.

* gnu/packages/aux-files/run-in-namespace.c (exec_in_user_namespace):
Add call to 'prctl'.  Call 'mount' for NEW_ROOT and define 'is_tmpfs'.
When IS_TMPFS is true, call 'umount' and 'rmdir' after 'waitpid';
otherwise, call 'rm_rf' only when 'waitpid' returns -1 the second time.
(exec_with_loader): Call 'prctl'.  Remove NEW_ROOT only when 'waitpid'
returns -1 the second time, otherwise leave it behind.
* tests/guix-pack-relocatable.sh (wait_for_file): New function.
Add test.
</pre>
</div>
</content>
</entry>
<entry>
<title>guix build: Move transformation options to (guix transformations).</title>
<updated>2020-10-31T22:16:43+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-10-29T17:30:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f68b3ba12dc7532dddde7dc63afb81a8492c661e'/>
<id>f68b3ba12dc7532dddde7dc63afb81a8492c661e</id>
<content type='text'>
* guix/transformations.scm: New file.
* tests/scripts-build.scm: Rename to...
* tests/transformations.scm: ... this.
* Makefile.am (MODULES): Add 'guix/transformations.scm'.
(SCM_TESTS): Adjust to rename.
* guix/scripts/build.scm (numeric-extension?)
(tarball-base-name, &lt;downloaded-file&gt;, download-to-store*)
(compile-downloaded-file, package-with-source)
(transform-package-source, evaluate-replacement-specs)
(transform-package-inputs, transform-package-inputs/graft)
(%not-equal, package-git-url, evaluate-git-replacement-specs)
(transform-package-source-branch, transform-package-source-commit)
(transform-package-source-git-url, package-dependents/spec)
(package-toolchain-rewriting, transform-package-toolchain)
(transform-package-with-debug-info, transform-package-tests)
(%transformations, transformation-procedure, %transformation-options)
(show-transformation-options-help, options-&gt;transformation)
(package-transformations): Move to (guix transformations).
* guix/scripts/environment.scm: Adjust accordingly.
* guix/scripts/graph.scm: Likewise.
* guix/scripts/install.scm: Likewise.
* guix/scripts/pack.scm: Likewise.
* guix/scripts/package.scm: Likewise.
* guix/scripts/upgrade.scm: Likewise.
* po/guix/POTFILES.in: Add 'guix/transformations.scm'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/transformations.scm: New file.
* tests/scripts-build.scm: Rename to...
* tests/transformations.scm: ... this.
* Makefile.am (MODULES): Add 'guix/transformations.scm'.
(SCM_TESTS): Adjust to rename.
* guix/scripts/build.scm (numeric-extension?)
(tarball-base-name, &lt;downloaded-file&gt;, download-to-store*)
(compile-downloaded-file, package-with-source)
(transform-package-source, evaluate-replacement-specs)
(transform-package-inputs, transform-package-inputs/graft)
(%not-equal, package-git-url, evaluate-git-replacement-specs)
(transform-package-source-branch, transform-package-source-commit)
(transform-package-source-git-url, package-dependents/spec)
(package-toolchain-rewriting, transform-package-toolchain)
(transform-package-with-debug-info, transform-package-tests)
(%transformations, transformation-procedure, %transformation-options)
(show-transformation-options-help, options-&gt;transformation)
(package-transformations): Move to (guix transformations).
* guix/scripts/environment.scm: Adjust accordingly.
* guix/scripts/graph.scm: Likewise.
* guix/scripts/install.scm: Likewise.
* guix/scripts/pack.scm: Likewise.
* guix/scripts/package.scm: Likewise.
* guix/scripts/upgrade.scm: Likewise.
* po/guix/POTFILES.in: Add 'guix/transformations.scm'.
</pre>
</div>
</content>
</entry>
<entry>
<title>guix build: 'options-&gt;transformation' no longer takes a 'store' parameter.</title>
<updated>2020-10-31T22:16:43+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-10-28T22:35:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=1ae33664a67d9588ee730a2a1d46c29e20a92bcb'/>
<id>1ae33664a67d9588ee730a2a1d46c29e20a92bcb</id>
<content type='text'>
* guix/scripts/build.scm (transform-package-source)
(transform-package-inputs, transform-package-inputs/graft)
(transform-package-source-branch, transform-package-source-commit)
(transform-package-source-git-url, transform-package-toolchain)
(transform-package-with-debug-info, transform-package-tests): Remove
'store' parameter.
(options-&gt;transformation, options-&gt;derivations): Adjust accordingly.
* guix/scripts/environment.scm (options/resolve-packages): Likewise.
* guix/scripts/graph.scm (guix-graph): Likewise.
* guix/scripts/pack.scm (guix-pack): Likewise.
* guix/scripts/package.scm (transaction-upgrade-entry): Likewise.
(process-actions): Likewise.
* tests/scripts-build.scm ("options-&gt;transformation, no transformations")
("options-&gt;transformation, with-source, replacement"):
Adjust tests.
("options-&gt;transformation, with-source")
("options-&gt;transformation, with-source, with version")
("options-&gt;transformation, with-source, PKG=URI"): Use 'lower-object' to
compute the store file name of the source.
("options-&gt;transformation, with-source, no matches"): Remove
'with-store' and adjust accordingly.
("options-&gt;transformation, with-input"): Likewise.
("options-&gt;transformation, with-graft"): Likewise.
("options-&gt;transformation, with-branch"): Likewise.
("options-&gt;transformation, with-commit"): Likewise.
("options-&gt;transformation, with-git-url"): Likewise.
("options-&gt;transformation, with-git-url + with-branch"): Likewise.
("options-&gt;transformation, with-c-toolchain"): Likewise.
("options-&gt;transformation, with-c-toolchain twice"): Likewise.
("options-&gt;transformation, with-c-toolchain, no effect"): Likewise.
("options-&gt;transformation, with-debug-info"): Likewise.
("options-&gt;transformation, without-tests"): Likewise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/scripts/build.scm (transform-package-source)
(transform-package-inputs, transform-package-inputs/graft)
(transform-package-source-branch, transform-package-source-commit)
(transform-package-source-git-url, transform-package-toolchain)
(transform-package-with-debug-info, transform-package-tests): Remove
'store' parameter.
(options-&gt;transformation, options-&gt;derivations): Adjust accordingly.
* guix/scripts/environment.scm (options/resolve-packages): Likewise.
* guix/scripts/graph.scm (guix-graph): Likewise.
* guix/scripts/pack.scm (guix-pack): Likewise.
* guix/scripts/package.scm (transaction-upgrade-entry): Likewise.
(process-actions): Likewise.
* tests/scripts-build.scm ("options-&gt;transformation, no transformations")
("options-&gt;transformation, with-source, replacement"):
Adjust tests.
("options-&gt;transformation, with-source")
("options-&gt;transformation, with-source, with version")
("options-&gt;transformation, with-source, PKG=URI"): Use 'lower-object' to
compute the store file name of the source.
("options-&gt;transformation, with-source, no matches"): Remove
'with-store' and adjust accordingly.
("options-&gt;transformation, with-input"): Likewise.
("options-&gt;transformation, with-graft"): Likewise.
("options-&gt;transformation, with-branch"): Likewise.
("options-&gt;transformation, with-commit"): Likewise.
("options-&gt;transformation, with-git-url"): Likewise.
("options-&gt;transformation, with-git-url + with-branch"): Likewise.
("options-&gt;transformation, with-c-toolchain"): Likewise.
("options-&gt;transformation, with-c-toolchain twice"): Likewise.
("options-&gt;transformation, with-c-toolchain, no effect"): Likewise.
("options-&gt;transformation, with-debug-info"): Likewise.
("options-&gt;transformation, without-tests"): Likewise.
</pre>
</div>
</content>
</entry>
</feed>
