<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/store/deduplication.scm, branch master</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://git.jakob.space/guix.git/atom?h=master</id>
<link rel='self' href='https://git.jakob.space/guix.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/'/>
<updated>2019-04-25T02:42:16Z</updated>
<entry>
<title>gnu, guix: Yearly ritual purging of the filesystems.</title>
<updated>2019-04-25T02:42:16Z</updated>
<author>
<name>Tobias Geerinckx-Rice</name>
</author>
<published>2019-04-24T17:31:39Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=52beae7b8a33717259895add631b8ae71e958e0e'/>
<id>urn:sha1:52beae7b8a33717259895add631b8ae71e958e0e</id>
<content type='text'>
* gnu/packages/android.scm (android-ext4-utils)[synopsis]: Fix ‘file
system’ spelling.
* gnu/packages/disk.scm (rmlint)[synopsis, description]: Likewise.
* gnu/packages/golang.scm (go-github-com-kr-fs)[synopsis, description]:
Likewise &amp; edit for grammar.
* gnu/packages/ipfs.scm (gx, go-ipfs)[description]: Likewise.
* /gnu/packages/java.scm (java-commons-vfs)[synopsis]: Likewise.
* gnu/packages/linux.scm (fuseiso)[description]: Likewise.
(genext2fs)[synopsis, description]: Likewise.
* gnu/packages/package-management.scm (libostree)[description]: Likewise.
* gnu/packages/python-xyz.scm (python-requests-file)[description]:
Likewise &amp; mark up.
* gnu/packages/rails.scm (ruby-with-advisory-lock)[description]:
Likewise.
* gnu/packages/ruby.scm (ruby-rerun)[description]: Likewise.
* guix/build/go-build-system.scm (setup-go-environment)&lt;docstring&gt;:
Likewise.
* guix/store/deduplication.scm (get-temp-link)&lt;docstring&gt;: Likewise.
</content>
</entry>
<entry>
<title>deduplication: Ignore EMLINK.</title>
<updated>2019-01-23T22:35:12Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2019-01-23T21:27:29Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=ba5e89be8cfa3428d7b41954df8af792986eb5ee'/>
<id>urn:sha1:ba5e89be8cfa3428d7b41954df8af792986eb5ee</id>
<content type='text'>
Until now 'guix offload' would fail (transient failure) upon EMLINK.

* guix/store/deduplication.scm (replace-with-link)
(deduplicate): Ignore EMLINK.
</content>
</entry>
<entry>
<title>deduplication: Gracefully handle ENOSPC raised by 'link' calls.</title>
<updated>2018-12-14T11:07:24Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-12-14T10:10:25Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=adb158b7396cbdcda347fa298978408e531a03fd'/>
<id>urn:sha1:adb158b7396cbdcda347fa298978408e531a03fd</id>
<content type='text'>
Reported by Andreas Enge &lt;andreas@enge.fr&gt;
in &lt;https://bugs.gnu.org/33676&gt;.

* guix/store/deduplication.scm (replace-with-link): Catch ENOSPC around
'get-temp-link'.  Do nothing when 'get-temp-link' throws ENOSPC.  Move
code to restore PARENT's permissions outside of 'catch'.
* tests/store-deduplication.scm ("deduplicate, ENOSPC"): New test.
</content>
</entry>
<entry>
<title>deduplication: Restore directory mtime and permissions after deduplication.</title>
<updated>2018-11-13T13:59:46Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-11-13T13:20:27Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=f5a2724ae453f4a4b55ff848f4ad7e30efb6eef8'/>
<id>urn:sha1:f5a2724ae453f4a4b55ff848f4ad7e30efb6eef8</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/33361&gt;.

* guix/store/deduplication.scm (replace-with-link): Call 'set-file-time'
and 'chmod' after 'rename-file'.
* tests/nar.scm ("restore-file-set with directories (signed, valid)"):
New test.
</content>
</entry>
<entry>
<title>Switch to Guile-Gcrypt.</title>
<updated>2018-09-04T15:25:11Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-08-31T15:07:07Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=ca719424455465fca4b872c371daf2a46de88b33'/>
<id>urn:sha1:ca719424455465fca4b872c371daf2a46de88b33</id>
<content type='text'>
This removes (guix hash) and (guix pk-crypto), which now live as part of
Guile-Gcrypt (version 0.1.0.)

* guix/gcrypt.scm, guix/hash.scm, guix/pk-crypto.scm,
tests/hash.scm, tests/pk-crypto.scm: Remove.
* configure.ac: Test for Guile-Gcrypt.  Remove LIBGCRYPT and
LIBGCRYPT_LIBDIR assignments.
* m4/guix.m4 (GUIX_ASSERT_LIBGCRYPT_USABLE): Remove.
* README: Add Guile-Gcrypt to the dependencies; move libgcrypt as
"required unless --disable-daemon".
* doc/guix.texi (Requirements): Likewise.
* gnu/packages/bash.scm, guix/derivations.scm, guix/docker.scm,
guix/git.scm, guix/http-client.scm, guix/import/cpan.scm,
guix/import/cran.scm, guix/import/crate.scm, guix/import/elpa.scm,
guix/import/gnu.scm, guix/import/hackage.scm,
guix/import/texlive.scm, guix/import/utils.scm, guix/nar.scm,
guix/pki.scm, guix/scripts/archive.scm,
guix/scripts/authenticate.scm, guix/scripts/download.scm,
guix/scripts/hash.scm, guix/scripts/pack.scm,
guix/scripts/publish.scm, guix/scripts/refresh.scm,
guix/scripts/substitute.scm, guix/store.scm,
guix/store/deduplication.scm, guix/tests.scm, tests/base32.scm,
tests/builders.scm, tests/challenge.scm, tests/cpan.scm,
tests/crate.scm, tests/derivations.scm, tests/gem.scm,
tests/nar.scm, tests/opam.scm, tests/pki.scm,
tests/publish.scm, tests/pypi.scm, tests/store-deduplication.scm,
tests/store.scm, tests/substitute.scm: Adjust imports.
* gnu/system/vm.scm: Likewise.
(guile-sqlite3&amp;co): Rename to...
(gcrypt-sqlite3&amp;co): ... this.  Add GUILE-GCRYPT.
(expression-&gt;derivation-in-linux-vm)[config]: Remove.
(iso9660-image)[config]: Remove.
(qemu-image)[config]: Remove.
(system-docker-image)[config]: Remove.
* guix/scripts/pack.scm: Adjust imports.
(guile-sqlite3&amp;co): Rename to...
(gcrypt-sqlite3&amp;co): ... this.  Add GUILE-GCRYPT.
(self-contained-tarball)[build]: Call 'make-config.scm' without
 #:libgcrypt argument.
(squashfs-image)[libgcrypt]: Remove.
[build]: Call 'make-config.scm' without #:libgcrypt.
(docker-image)[config, json]: Remove.
[build]: Add GUILE-GCRYPT to the extensions  Remove (guix config) from
the imported modules.
* guix/self.scm (specification-&gt;package): Remove "libgcrypt", add
"guile-gcrypt".
(compiled-guix): Remove #:libgcrypt.
[guile-gcrypt]: New variable.
[dependencies]: Add it.
[*core-modules*]: Remove #:libgcrypt from 'make-config.scm' call.
Add #:extensions.
[*config*]: Remove #:libgcrypt from 'make-config.scm' call.
(%dependency-variables): Remove %libgcrypt.
(make-config.scm): Remove #:libgcrypt.
* build-aux/build-self.scm (guile-gcrypt): New variable.
(make-config.scm): Remove #:libgcrypt.
(build-program)[fake-gcrypt-hash]: New variable.
Add (gcrypt hash) to the imported modules.  Adjust load path
assignments.
* gnu/packages/package-management.scm (guix)[propagated-inputs]: Add
GUILE-GCRYPT.
[arguments]: In 'wrap-program' phase, add GUILE-GCRYPT to the search
path.
</content>
</entry>
<entry>
<title>deduplication: Work around Guile bug in 'seek'.</title>
<updated>2018-07-20T13:01:33Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-07-20T11:49:50Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=4f89a8eec69491b925f084381ea4de37527c9310'/>
<id>urn:sha1:4f89a8eec69491b925f084381ea4de37527c9310</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/32161&gt;.
Reported by Ricardo Wurmus &lt;rekado@elephly.net&gt;.

This mostly reverts 83099892e0cf0d9c59f5e1a0774331026e48baa8.

* guix/store/deduplication.scm (counting-wrapper-port): New procedure.
(nar-sha256): Use it.
</content>
</entry>
<entry>
<title>deduplication: Remove 'counting-wrapper-port'.</title>
<updated>2018-07-19T15:12:48Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-07-19T15:12:48Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=83099892e0cf0d9c59f5e1a0774331026e48baa8'/>
<id>urn:sha1:83099892e0cf0d9c59f5e1a0774331026e48baa8</id>
<content type='text'>
* guix/store/deduplication.scm (counting-wrapper-port): Remove.
(nar-sha256): Call 'port-position' directly on PORT.
</content>
</entry>
<entry>
<title>deduplication: Remove 'false-if-system-error', now unused.</title>
<updated>2018-07-03T15:50:04Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-07-03T08:17:09Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=a5b34d9d24cababcaa9d5e93813ccb3196e11a95'/>
<id>urn:sha1:a5b34d9d24cababcaa9d5e93813ccb3196e11a95</id>
<content type='text'>
* guix/store/deduplication.scm (false-if-system-error): Remove.
</content>
</entry>
<entry>
<title>deduplication: Place link files under /gnu/store/.links.</title>
<updated>2018-07-02T22:39:11Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-07-02T22:26:59Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=3dbf331942f11ee888ccbf849cacdd3a0ab971cd'/>
<id>urn:sha1:3dbf331942f11ee888ccbf849cacdd3a0ab971cd</id>
<content type='text'>
Previously they'd always be placed next to TO-REPLACE, which would lead
to EPERM in some cases.

* guix/store/deduplication.scm (replace-with-link): Add #:swap-directory
parameter and honor it.  Add call to 'make-file-writable'.  Catch
'system-error' around 'rename-file'.
(deduplicate): Pass #:swap-directory and remove uses of
'false-if-system-error'.
* tests/store-deduplication.scm ("deduplicate"): Add 'chmod' call.
</content>
</entry>
<entry>
<title>deduplication: Fix incorrect use of 'throw'.</title>
<updated>2018-07-02T22:39:11Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-07-02T22:01:20Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=af2f8ae5f14d272d341148764d256792d8ef06aa'/>
<id>urn:sha1:af2f8ae5f14d272d341148764d256792d8ef06aa</id>
<content type='text'>
* guix/store/deduplication.scm (get-temp-link): In handler, fix call to
'throw'.
</content>
</entry>
</feed>
