<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/gnu/system/uuid.scm, branch master</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://www.git.jakob.space/guix.git/atom?h=master</id>
<link rel='self' href='https://www.git.jakob.space/guix.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/'/>
<updated>2019-05-07T10:18:44Z</updated>
<entry>
<title>uuid: 'fat-uuid-&gt;string' preserves leading zeros.</title>
<updated>2019-05-07T10:18:44Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-05-07T08:50:28Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=6c5790a2faf8ffc401e43b13425a707394e40874'/>
<id>urn:sha1:6c5790a2faf8ffc401e43b13425a707394e40874</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/35582&gt;.
Reported by sirgazil &lt;sirgazil@zoho.com&gt;.

Previously, leading zeros would be removed, leading to an "invalid"
UUID:

  (uuid-&gt;string (uuid "00CA-050E" 'fat32))
  ⇒ "CA-50E"
  (string-&gt;uuid "CA-50E" 'fat32)
  ⇒ #f

* gnu/system/uuid.scm (fat-uuid-&gt;string): Pad digits with zeros.
* tests/uuid.scm ("uuid, FAT32, leading zeros preserved"): New test.
</content>
</entry>
<entry>
<title>uuid: 'uuid' returns #f when 'string-&gt;uuid' returns #f.</title>
<updated>2018-05-18T22:14:52Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-05-18T20:20:33Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=263c9941a1e523b360ca9f42d1ed6b11e6e6e285'/>
<id>urn:sha1:263c9941a1e523b360ca9f42d1ed6b11e6e6e285</id>
<content type='text'>
* gnu/system/uuid.scm (uuid): When STR is not a literal, return #f when
'string-&gt;uuid' returns #f.
* tests/uuid.scm ("uuid, dynamic value"): New test.
</content>
</entry>
<entry>
<title>uuid: Fix typo in comment.</title>
<updated>2017-12-02T22:13:20Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-12-02T17:05:21Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=bf57e1c7089e5337d5c8dc2a2ad3d018b95df6a8'/>
<id>urn:sha1:bf57e1c7089e5337d5c8dc2a2ad3d018b95df6a8</id>
<content type='text'>
* gnu/system/uuid.scm: Fix typo in comment.
</content>
</entry>
<entry>
<title>uuid: Change "fat32" to "fat".</title>
<updated>2017-10-11T09:12:33Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-10-04T06:57:20Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=03f66aea63d43ce31107605557c1cbfbb9d25a73'/>
<id>urn:sha1:03f66aea63d43ce31107605557c1cbfbb9d25a73</id>
<content type='text'>
* gnu/system/uuid.scm (%fat32-endianness): Rename to...
(%fat-endianness): ... this.
(fat32-uuid-&gt;string): Rename to...
(fat-uuid-&gt;string): ... this.
(%fat32-uuid-rx): Rename to..
(%fat-uuid-rx): ... this.
(string-&gt;fat32-uuid): Rename to...
(string-&gt;fat-uuid): ... this.
(%uuid-parsers, %uuid-printers): Add 'fat16.
</content>
</entry>
<entry>
<title>uuid: Add 'uuid=?' and use it.</title>
<updated>2017-10-05T10:09:17Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-10-04T19:34:09Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=aed1f1b049f6e7ef9f2f2db58bdca6cd3effe94b'/>
<id>urn:sha1:aed1f1b049f6e7ef9f2f2db58bdca6cd3effe94b</id>
<content type='text'>
* gnu/system/uuid.scm (uuid=?): New procedure.
* tests/uuid.scm ("uuid=?"): New test.
* gnu/build/file-systems.scm (partition-uuid-predicate)
(luks-partition-uuid-predicate): Use it instead of 'bytevector=?'.
</content>
</entry>
<entry>
<title>uuid: Add a parser for FAT32 UUIDs.</title>
<updated>2017-09-22T16:40:57Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-09-22T16:25:21Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=8a7d81a5e23c4d59fbabf2550db32d4ba5572e4b'/>
<id>urn:sha1:8a7d81a5e23c4d59fbabf2550db32d4ba5572e4b</id>
<content type='text'>
* gnu/system/uuid.scm (%fat32-uuid-rx): New variable.
(string-&gt;fat32-uuid): New procedure.
(%uuid-parsers): Add it.
* tests/uuid.scm ("uuid, FAT32, format preserved"): New test.
</content>
</entry>
<entry>
<title>uuid: 'uuid' macro supports more UUID types.</title>
<updated>2017-09-11T20:24:47Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-09-06T08:35:01Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=ce094b4663da6aa52d02f398a19e1d2892641b7d'/>
<id>urn:sha1:ce094b4663da6aa52d02f398a19e1d2892641b7d</id>
<content type='text'>
* gnu/system/uuid.scm (string-&gt;uuid): Turn 'type' into an optional
argument.
(uuid): Add clauses to allow for an optional 'type' parameter.
</content>
</entry>
<entry>
<title>system: Introduce a disjoint UUID type.</title>
<updated>2017-09-11T20:24:46Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-09-06T07:28:28Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=9b336338cdc0e46a3bf7a2913c2f61cd2410c4d6'/>
<id>urn:sha1:9b336338cdc0e46a3bf7a2913c2f61cd2410c4d6</id>
<content type='text'>
Conceptually a UUID is just a bytevector.  However, there's software out
there such as GRUB that relies on the string representation of different
UUID types (e.g., the string representation of DCE UUIDs differs from
that of ISO-9660 UUIDs, even if they are actually bytevectors of the
same length).  This new &lt;uuid&gt; record type allows us to preserve
information about the type of UUID so we can eventually convert it to a
string using the right representation.

* gnu/system/uuid.scm (&lt;uuid&gt;): New record type.
(bytevector-&gt;uuid): New procedure.
(uuid): Return calls to 'make-uuid'.
(uuid-&gt;string): Rewrite using 'match-lambda*' to accept a single 'uuid?'
argument.
* gnu/bootloader/grub.scm (grub-root-search): Check for 'uuid?' instead
of 'bytevector?'.
* gnu/system.scm (bootable-kernel-arguments): Check whether ROOT-DEVICE
is 'uuid?'.
(read-boot-parameters): Use 'bytevector-&gt;uuid' when the
store device is a bytevector.
(read-boot-parameters-file): Check for 'uuid?' instead of 'bytevector?'.
(device-&gt;sexp): New procedure.
(operating-system-boot-parameters-file): Use it for 'root-device' and
'store'.
(operating-system-bootcfg): Remove conditional in definition of
'root-device'.
* gnu/system/file-systems.scm (file-system-&gt;spec): Check for 'uuid?' on
DEVICE and take its bytevector.
* gnu/system/mapped-devices.scm (open-luks-device): Likewise.
* gnu/system/vm.scm (iso9660-image): Call 'uuid-bytevector' for the
 #:volume-uuid argument.
</content>
</entry>
<entry>
<title>file-systems: Introduce (gnu system uuid).</title>
<updated>2017-09-11T20:24:46Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-09-05T19:51:12Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=47cef4ecad54d112aa3b4bc509194d3d49a10785'/>
<id>urn:sha1:47cef4ecad54d112aa3b4bc509194d3d49a10785</id>
<content type='text'>
* gnu/build/file-systems.scm (sub-bytevector)
(latin1-&gt;string, %fat32-endianness, fat32-uuid-&gt;string)
(%iso9660-uuid-rx, string-&gt;iso9660-uuid)
(iso9660-uuid-&gt;string, %network-byte-order)
(dce-uuid-&gt;string, %uuid-rx, string-&gt;dce-uuid)
(string-&gt;ext2-uuid, string-&gt;ext3-uuid, string-&gt;ext4-uuid)
(vhashq, %uuid-parsers, %uuid-printers, string-&gt;uuid)
(uuid-&gt;string): Move to...
* gnu/system/uuid.scm: ... here.  New file.
* gnu/system/file-systems.scm (uuid): Move to the above file.
* gnu/system/vm.scm: Adjust accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add uuid.scm.
</content>
</entry>
</feed>
