<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/store, 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>
<email>me@tobias.gr</email>
</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>Add (guix store roots).</title>
<updated>2019-04-10T15:09:47Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-06T20:27:57Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=72eda0624be89ed18302fd7d7f22976071ab020c'/>
<id>urn:sha1:72eda0624be89ed18302fd7d7f22976071ab020c</id>
<content type='text'>
* guix/store/roots.scm, tests/store-roots.scm: New files.
* Makefile.am (STORE_MODULES): Add guix/store/roots.scm.
(SCM_TESTS): Add tests/store-roots.scm.
</content>
</entry>
<entry>
<title>database: Make 'register-items' transactional.</title>
<updated>2019-03-06T23:00:18Z</updated>
<author>
<name>Caleb Ristvedt</name>
<email>caleb.ristvedt@cune.org</email>
</author>
<published>2019-01-30T23:03:38Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=a4678c6ba18d8dbd79d931f80426eebf61be7ebe'/>
<id>urn:sha1:a4678c6ba18d8dbd79d931f80426eebf61be7ebe</id>
<content type='text'>
* guix/store/database.scm (SQLITE_BUSY, register-output-sql): New variables.
(add-references): Don't try finalizing after each use, only after all the
uses (otherwise a finalized statement would be used if #:cache? was #f).
(call-with-transaction): New procedure.
(register-items): Use call-with-transaction to prevent broken intermediate
states from being visible.

* .dir-locals.el (call-with-transaction): indent it.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>deduplication: Ignore EMLINK.</title>
<updated>2019-01-23T22:35:12Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</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>database: Use "write-ahead log" mode and set a long "busy timeout".</title>
<updated>2018-12-21T22:50:13Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-12-21T22:35:20Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=bdf860c2e99077d431da0cc1db4fc14db2a35d31'/>
<id>urn:sha1:bdf860c2e99077d431da0cc1db4fc14db2a35d31</id>
<content type='text'>
This should avoid "database is locked" errors when there's a lot of
concurrency, for instance when offloading simultaneously a lot of
builds.

* guix/store/database.scm (call-with-database): Add two 'sqlite-exec'
calls to set 'journal_mode' and 'busy_timeout'.
</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>
<email>ludo@gnu.org</email>
</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>Update Guile-SQLite3 URL everywhere.</title>
<updated>2018-11-23T14:42:00Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-11-22T15:46:50Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=60e1c1099fc3d73ed7d3235e71aae5d00ab7d773'/>
<id>urn:sha1:60e1c1099fc3d73ed7d3235e71aae5d00ab7d773</id>
<content type='text'>
* README: Update Guile-SQLite3 URL.
* doc/guix.texi (Requirements): Likewise.
* guix/store/database.scm (sqlite-exec): Likewise.
* m4/guix.m4 (GUIX_CHECK_GUILE_SQLITE3): Likewise.
</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>
<email>ludo@gnu.org</email>
</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>nar: Access the database instead of connecting to the daemon.</title>
<updated>2018-11-13T13:59:45Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-11-13T08:46:40Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=1afe1985f5bffef76872f4c9e87115b46a4a3d47'/>
<id>urn:sha1:1afe1985f5bffef76872f4c9e87115b46a4a3d47</id>
<content type='text'>
* guix/store/database.scm (%default-database-file): New variable.
(path-id): Export.
* guix/nar.scm (finalize-store-file): Use 'with-database' instead of
'with-store', and use 'path-id' instead of 'valid-path?'.
</content>
</entry>
<entry>
<title>database: Register each store item only once.</title>
<updated>2018-09-23T21:34:17Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-09-23T21:11:30Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=bb3b6ccb05550fbfbeb459c68819a752327d6e1e'/>
<id>urn:sha1:bb3b6ccb05550fbfbeb459c68819a752327d6e1e</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/32600&gt;.
Reported by Leo Famulari.

* guix/store/database.scm (register-items): Check whether TO-REGISTER is
in DB by calling 'path-id',  and skip the reset-timestamps,
registration, and deduplication phases when it is.
</content>
</entry>
</feed>
