summary refs log tree commit diff
path: root/gnu/packages/mtools.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-04-21 00:46:44 +0200
committerLudovic Courtès <ludo@gnu.org>2019-04-21 00:51:19 +0200
commit1b0b1651b16bd67fa5a583cfe6ce98ac9df80e56 (patch)
treed269cb07b7a5c027748652eaad94834188ccfe9e /gnu/packages/mtools.scm
parent5502fbd7fd8073e7eeb0b447530d7c88c1b79367 (diff)
downloadguix-1b0b1651b16bd67fa5a583cfe6ce98ac9df80e56.tar.gz
gnu: mtools: 'mformat' initializes boot sector before writing it.
This is the last bit fixing <https://bugs.gnu.org/35283>.

Previously, 'mformat' (used by 'grub-mkrescue') would pass uninitialized
bytes to write(2), leading to non-deterministic FAT image contents.
This patch fixes that.

* gnu/packages/patches/mtools-mformat-uninitialized.patch: New file.
* gnu/packages/mtools.scm (mtools)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu/packages/mtools.scm')
-rw-r--r--gnu/packages/mtools.scm22
1 files changed, 12 insertions, 10 deletions
diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm
index 5be3da0137..b93d5789b9 100644
--- a/gnu/packages/mtools.scm
+++ b/gnu/packages/mtools.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 John Darrington <jmd@gnu.org>
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;;
@@ -23,20 +23,22 @@
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages))
 
 (define-public mtools
   (package
     (name "mtools")
     (version "4.0.23")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://gnu/mtools/mtools-"
-                          version ".tar.bz2"))
-      (sha256
-       (base32
-        "1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i"))))
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/mtools/mtools-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32
+                "1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i"))
+              (patches
+               (search-patches "mtools-mformat-uninitialized.patch"))))
     (build-system gnu-build-system)
     (home-page "https://www.gnu.org/software/mtools/")
     (synopsis "Access MS-DOS disks without mounting")