summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-03-10 15:21:48 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-10 18:16:39 +0100
commit09844816c77caaa60f4149f99a34733966724627 (patch)
tree87406f3b9dc19d73011bde85e49f024180b6821a
parent98619142b8c54287136216d0008871f9170a1808 (diff)
downloadguix-09844816c77caaa60f4149f99a34733966724627.tar.gz
vm: Compute UUIDs truly deterministically.
This is a followup to 1540075c790dfaeff52c93392f2fc63b9e23b77e.
The mistake had no effect on prior Guile versions but it's visible since
Guile 3.0.1 and the fix for <https://bugs.gnu.org/39634>.

* gnu/system/vm.scm (operating-system-uuid): Hash a list of
'file-system-digest' values, not the 'file-system-type' procedure.
-rw-r--r--gnu/system/vm.scm5
1 files changed, 3 insertions, 2 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 03a511cdde..d1c131ecb4 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -629,7 +629,8 @@ TYPE (one of 'iso9660 or 'dce).  Return a UUID object."
          'iso9660))
       (bytevector->uuid
        (uint-list->bytevector
-        (list (hash file-system-type
+        (list (hash (map file-system-digest
+                         (operating-system-file-systems os))
                     (- (expt 2 32) 1))
               (hash (operating-system-host-name os)
                     (- (expt 2 32) 1))