Subject: [PATCH v2 1/2] gnu: multipath-tools: Update to 0.9.6.

From: [email-masked]
Date: Thu, 7 Sep 2023 11:20:52 -0400

From: Olivier Dion <[email-masked]>

* gnu/packages/linux.scm (multipath-tools): Update to 0.9.6.
[#:make-flags]: Set systemd_prefix to output and remove SYSTEMDPATH.
[#:phases]: Add phase 'no-fortfify-3 before 'build.
[inputs]: Add util-linux "lib" output for libmount.
---
 gnu/packages/linux.scm | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 36354b4d82..3d310941a4 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -5547,7 +5547,7 @@ (define-public mdadm-static
 (define-public multipath-tools
   (package
     (name "multipath-tools")
-    (version "0.9.3")
+    (version "0.9.6")
     (home-page "https://github.com/opensvc/multipath-tools")
     (source (origin
               (method git-fetch)
@@ -5555,7 +5555,7 @@ (define-public multipath-tools
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0zcnr1135znizbnfqhqv3by9i2qwn5vg6kgmj6ma3yy1x1krx0d4"))
+                "1933iqh9r54pdl95yck0n4bw7jiiblymc964vlc1787qd4q012sz"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -5573,7 +5573,7 @@ (define-public multipath-tools
                            (string-append "prefix=" #$output)
                            ;; Install Udev rules below this directory, relative
                            ;; to the prefix.
-                           "SYSTEMDPATH=lib")
+                           (string-append "systemd_prefix=" #$output))
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'patch-source
@@ -5605,6 +5605,16 @@ (define-public multipath-tools
                 (("CFLAGS \\+= " match)
                  (string-append match "-Wno-error=unused-function ")))))
           (delete 'configure)           ;no configure script
+          (add-before 'build 'no-fortify-3
+            (lambda _
+              ;; NOTE: The check made seems to wrongly assume the
+              ;; FORTIFY_SOURCE=3 is valid.  However, when compiling, warnings
+              ;; are emitted from glibc, resulting in failed build.  Fix this
+              ;; by forcing the usage of FORTIFY_SOURCE=2.
+              (substitute* "create-config.mk"
+                (("FORTIFY_SOURCE=3")
+                 "FORTIFY_SOURCE=2"))
+              ))
           (add-before 'build 'set-LDFLAGS
             (lambda _
               ;; Note: this cannot be passed as a make flag because that will
@@ -5622,7 +5632,9 @@ (define-public multipath-tools
            liburcu
            lvm2
            readline
-           eudev))
+           eudev
+           ;; For libmount.
+           `(,util-linux "lib")))
     (synopsis "Access block devices through multiple paths")
     (description
      "This package provides the following binaries to drive the
-- 
2.41.0