<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/gnu/build/linux-initrd.scm, 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>store-copy: 'populate-store' can optionally deduplicate files.</title>
<updated>2020-12-15T16:32:10+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-12-10T14:12:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=6a060ff27ff68384d7c90076baa36c349fff689d'/>
<id>6a060ff27ff68384d7c90076baa36c349fff689d</id>
<content type='text'>
Until now deduplication was performed as an additional pass after
copying files, which involve re-traversing all the files that had just
been copied.

* guix/store/deduplication.scm (copy-file/deduplicate): New procedure.
* tests/store-deduplication.scm ("copy-file/deduplicate"): New test.
* guix/build/store-copy.scm (populate-store): Add #:deduplicate?
parameter and honor it.
* tests/gexp.scm ("gexp-&gt;derivation, store copy"): Pass #:deduplicate? #f
to 'populate-store'.
* gnu/build/image.scm (initialize-root-partition): Pass #:deduplicate?
to 'populate-store'.  Pass #:deduplicate? #f to 'register-closure'.
* gnu/build/vm.scm (root-partition-initializer): Likewise.
* gnu/build/install.scm (populate-single-profile-directory): Pass
 #:deduplicate? #f to 'populate-store'.
* gnu/build/linux-initrd.scm (build-initrd): Likewise.
* guix/scripts/pack.scm (self-contained-tarball)[import-module?]: New
procedure.
[build]: Pass it as an argument to 'source-module-closure'.
* guix/scripts/pack.scm (squashfs-image)[build]: Wrap in
'with-extensions'.
* gnu/system/linux-initrd.scm (expression-&gt;initrd)[import-module?]: New
procedure.
[builder]: Pass it to 'source-module-closure'.
* gnu/system/install.scm (cow-store-service-type)[import-module?]: New
procedure.  Pass it to 'source-module-closure'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now deduplication was performed as an additional pass after
copying files, which involve re-traversing all the files that had just
been copied.

* guix/store/deduplication.scm (copy-file/deduplicate): New procedure.
* tests/store-deduplication.scm ("copy-file/deduplicate"): New test.
* guix/build/store-copy.scm (populate-store): Add #:deduplicate?
parameter and honor it.
* tests/gexp.scm ("gexp-&gt;derivation, store copy"): Pass #:deduplicate? #f
to 'populate-store'.
* gnu/build/image.scm (initialize-root-partition): Pass #:deduplicate?
to 'populate-store'.  Pass #:deduplicate? #f to 'register-closure'.
* gnu/build/vm.scm (root-partition-initializer): Likewise.
* gnu/build/install.scm (populate-single-profile-directory): Pass
 #:deduplicate? #f to 'populate-store'.
* gnu/build/linux-initrd.scm (build-initrd): Likewise.
* guix/scripts/pack.scm (self-contained-tarball)[import-module?]: New
procedure.
[build]: Pass it as an argument to 'source-module-closure'.
* guix/scripts/pack.scm (squashfs-image)[build]: Wrap in
'with-extensions'.
* gnu/system/linux-initrd.scm (expression-&gt;initrd)[import-module?]: New
procedure.
[builder]: Pass it to 'source-module-closure'.
* gnu/system/install.scm (cow-store-service-type)[import-module?]: New
procedure.  Pass it to 'source-module-closure'.
</pre>
</div>
</content>
</entry>
<entry>
<title>linux-initrd: Remove unnecessary timestamp reset phase.</title>
<updated>2020-11-21T11:39:14+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-11-19T21:02:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=2200bb214690ebc78b9fa42887ac9dfb8035bd4f'/>
<id>2200bb214690ebc78b9fa42887ac9dfb8035bd4f</id>
<content type='text'>
* gnu/build/linux-initrd.scm (write-cpio-archive): Mention timestamps in
docstring.
(build-initrd): Remove unnecessary timestamp reset phase.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/linux-initrd.scm (write-cpio-archive): Mention timestamps in
docstring.
(build-initrd): Remove unnecessary timestamp reset phase.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: initrd: Fix "write-cpio-archive" return value.</title>
<updated>2019-09-25T03:18:25+00:00</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim.cournoyer@gmail.com</email>
</author>
<published>2019-07-16T09:09:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=91e633f0430c8c26e6915f79365a49d8a4327c96'/>
<id>91e633f0430c8c26e6915f79365a49d8a4327c96</id>
<content type='text'>
* gnu/build/linux-initrd.scm (write-cpio-archive): Really return OUTPUT on
success, even when compression is disabled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/linux-initrd.scm (write-cpio-archive): Really return OUTPUT on
success, even when compression is disabled.
</pre>
</div>
</content>
</entry>
<entry>
<title>linux-initrd: 'expression-&gt;initrd' returns the complete file name.</title>
<updated>2018-11-21T22:26:59+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-11-21T15:19:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d422cbb3d6a1cc7e4553a2335b113475a05d68ad'/>
<id>d422cbb3d6a1cc7e4553a2335b113475a05d68ad</id>
<content type='text'>
Previously 'expression-&gt;initrd' would return the directory that contains
the 'initrd' file; now it returns the complete file name for that file.

* gnu/system/linux-initrd.scm (expression-&gt;initrd)[builder]: Change
output file name to "initrd.cpio.gz".  Tail-call 'file-append' to return
the complete file name.
* gnu/system.scm (operating-system-initrd-file): Remove 'file-append'
call.
* gnu/build/linux-initrd.scm (write-cpio-archive): Check whether OUTPUT
already has the ".gz" suffix; rename if before invoking GZIP if it does,
and otherwise after.
* gnu/system/vm.scm (expression-&gt;derivation-in-linux-vm)[builder]: Do
not append "/initrd" to #$initrd.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously 'expression-&gt;initrd' would return the directory that contains
the 'initrd' file; now it returns the complete file name for that file.

* gnu/system/linux-initrd.scm (expression-&gt;initrd)[builder]: Change
output file name to "initrd.cpio.gz".  Tail-call 'file-append' to return
the complete file name.
* gnu/system.scm (operating-system-initrd-file): Remove 'file-append'
call.
* gnu/build/linux-initrd.scm (write-cpio-archive): Check whether OUTPUT
already has the ".gz" suffix; rename if before invoking GZIP if it does,
and otherwise after.
* gnu/system/vm.scm (expression-&gt;derivation-in-linux-vm)[builder]: Do
not append "/initrd" to #$initrd.
</pre>
</div>
</content>
</entry>
<entry>
<title>linux-initrd: Make sure 'build-initrd' can delete files.</title>
<updated>2018-11-07T15:06:42+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-11-07T14:51:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=970c9993f124789cb181f399d4981cdcf5d3fc26'/>
<id>970c9993f124789cb181f399d4981cdcf5d3fc26</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/33297&gt;.
Reported by Mark H Weaver &lt;mhw@netris.org&gt;.

This fixes a regression introduced in
72dc64f8f720268930eed448abfc15d2a0eca3cf, which made files read-only.

* gnu/build/linux-initrd.scm (build-initrd): Call 'make-file-writable'
on all the files under contents/.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://bugs.gnu.org/33297&gt;.
Reported by Mark H Weaver &lt;mhw@netris.org&gt;.

This fixes a regression introduced in
72dc64f8f720268930eed448abfc15d2a0eca3cf, which made files read-only.

* gnu/build/linux-initrd.scm (build-initrd): Call 'make-file-writable'
on all the files under contents/.
</pre>
</div>
</content>
</entry>
<entry>
<title>linux-initrd: Compress cpio archives deterministically.</title>
<updated>2015-09-09T21:27:10+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2015-09-09T21:01:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=0334ef2ab06952df5c6a7582781d16d807e09ea7'/>
<id>0334ef2ab06952df5c6a7582781d16d807e09ea7</id>
<content type='text'>
* gnu/build/linux-initrd.scm (write-cpio-archive): Use '--no-name'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/linux-initrd.scm (write-cpio-archive): Use '--no-name'.
</pre>
</div>
</content>
</entry>
<entry>
<title>linux-initrd: Produce cpio archives with zeroed timestamps, etc.</title>
<updated>2015-06-24T16:05:03+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2015-06-24T16:02:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=eae5b3fff54e6f0a38d03d01187142accbed1eb8'/>
<id>eae5b3fff54e6f0a38d03d01187142accbed1eb8</id>
<content type='text'>
* guix/cpio.scm (file-&gt;cpio-header*): New procedure.
* gnu/build/linux-initrd.scm (write-cpio-archive): Add #:file-&gt;header argument
  to 'cpio:write-cpio-archive'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/cpio.scm (file-&gt;cpio-header*): New procedure.
* gnu/build/linux-initrd.scm (write-cpio-archive): Add #:file-&gt;header argument
  to 'cpio:write-cpio-archive'.
</pre>
</div>
</content>
</entry>
<entry>
<title>linux-initrd: Populate cpio archives in a deterministic order.</title>
<updated>2015-06-24T16:05:03+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2015-06-24T15:48:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=583323ca1d1af5462f1b45f4be50f96bc8f1e46b'/>
<id>583323ca1d1af5462f1b45f4be50f96bc8f1e46b</id>
<content type='text'>
* gnu/build/linux-initrd.scm (write-cpio-archive)[files]: Use 'sort' instead
  of 'reverse'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/linux-initrd.scm (write-cpio-archive)[files]: Use 'sort' instead
  of 'reverse'.
</pre>
</div>
</content>
</entry>
<entry>
<title>linux-initrd: Use (guix cpio) instead of GNU cpio.</title>
<updated>2015-06-24T16:05:03+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2015-06-24T15:41:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=e8277f90c88be9d65b948c299620fd9d6d9b28ae'/>
<id>e8277f90c88be9d65b948c299620fd9d6d9b28ae</id>
<content type='text'>
* gnu/build/linux-initrd.scm (write-cpio-archive): Remove 'open-pipe*' and
  related calls.  Compute list of files in 'files' variable.  Use
  'cpio:write-cpio-archive'.  Remove #:cpio parameter.
  (build-initrd): Remove #:cpio parameter.
* gnu/system/linux-initrd.scm (expression-&gt;initrd): Likewise, and adjust
  BUILDER accordingly.  Add (guix cpio) to #:modules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/linux-initrd.scm (write-cpio-archive): Remove 'open-pipe*' and
  related calls.  Compute list of files in 'files' variable.  Use
  'cpio:write-cpio-archive'.  Remove #:cpio parameter.
  (build-initrd): Remove #:cpio parameter.
* gnu/system/linux-initrd.scm (expression-&gt;initrd): Likewise, and adjust
  BUILDER accordingly.  Add (guix cpio) to #:modules.
</pre>
</div>
</content>
</entry>
<entry>
<title>linux-initrd: Store Linux modules in a normal store directory.</title>
<updated>2014-09-08T21:47:29+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-09-08T21:46:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=42d10464bedb43a9211d8bc187e668fe33272368'/>
<id>42d10464bedb43a9211d8bc187e668fe33272368</id>
<content type='text'>
* gnu/system/linux-initrd.scm (expression-&gt;initrd): Remove #:linux and
  #:linux-modules parameters.  Remove call to
  'float-linux-module-directory'.
  (base-initrd): Add call to 'float-linux-module-directory'.  Use it in
  #:linux-modules argument in the gexp.  Remove #:linux and
  #:linux-modules arguments to 'expression-&gt;initrd'.
* gnu/build/linux-initrd.scm (build-initrd): Remove
  #:linux-module-directory parameter.  Don't create 'modules'
  sub-directory.
* gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a
  list of absolute file names.  Don't prepend "/modules/" to
  LINUX-MODULES.
* doc/guix.texi (Initial RAM Disk): Adjust accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/system/linux-initrd.scm (expression-&gt;initrd): Remove #:linux and
  #:linux-modules parameters.  Remove call to
  'float-linux-module-directory'.
  (base-initrd): Add call to 'float-linux-module-directory'.  Use it in
  #:linux-modules argument in the gexp.  Remove #:linux and
  #:linux-modules arguments to 'expression-&gt;initrd'.
* gnu/build/linux-initrd.scm (build-initrd): Remove
  #:linux-module-directory parameter.  Don't create 'modules'
  sub-directory.
* gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a
  list of absolute file names.  Don't prepend "/modules/" to
  LINUX-MODULES.
* doc/guix.texi (Initial RAM Disk): Adjust accordingly.
</pre>
</div>
</content>
</entry>
</feed>
