diff options
author | Brendan Tildesley <brendan.tildesley@openmailbox.org> | 2018-07-15 17:58:41 +1000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-07-16 16:51:27 +0200 |
commit | 17a21bcf316d11bdf54ec2483abe15f60dbd7cb0 (patch) | |
tree | 5d1b8c12c12d97b8042e568b22422bbe08617a90 | |
parent | f7e248396ba698b7de99414039d9db02050bc7d3 (diff) | |
download | guix-17a21bcf316d11bdf54ec2483abe15f60dbd7cb0.tar.gz |
gnu: ecryptfs-utils: Patch hardcoded-paths.
* gnu/packages/linux.scm: (ecryptfs-utils): Patch hardcoded-paths. [arguments]: Add the phase patch-hardcoded-paths to replace various hardcoded references to /bin, /sbin, ... with direct references to the store. [inputs]: Add missing inputs util-linux, cryptsetup, and lvm2 so that the correct paths can be found and the resulting code works. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/linux.scm | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2ce0f56b84..277c2465bb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2017 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> +;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,6 +60,7 @@ #:use-module (gnu packages calendar) #:use-module (gnu packages check) #:use-module (gnu packages crypto) + #:use-module (gnu packages cryptsetup) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages datastructures) @@ -3699,7 +3701,43 @@ as used on certified hardware security devices.") "0zwq19siiwf09h7lwa7n7mgmrr8cxifp45lmwgcfr8c1gviv6b0i")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--disable-pywrap"))) + `(#:configure-flags (list "--disable-pywrap") + #:phases + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-hardcoded-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (utils-linux (assoc-ref inputs "utils-linux")) + (cryptsetup (assoc-ref inputs "cryptsetup")) + (linux-pam (assoc-ref inputs "linux-pam")) + (lvm2 (assoc-ref inputs "lvm2"))) + (substitute* '("src/utils/ecryptfs-mount-private" + "src/utils/ecryptfs-umount-private" + "src/utils/ecryptfs-setup-private" + "src/utils/mount.ecryptfs.c" + "src/pam_ecryptfs/pam_ecryptfs.c" + "src/desktop/ecryptfs-mount-private.desktop.in" + "src/utils/ecryptfs-setup-swap") + (("/bin/mount") + (string-append utils-linux "/bin/mount")) + (("/bin/umount") + (string-append utils-linux "/bin/umount")) + (("/sbin/mount.ecryptfs_private") + (string-append out "/sbin/mount.ecryptfs_private")) + (("/sbin/umount.ecryptfs_private") + (string-append out "/sbin/umount.ecryptfs_private")) + (("/usr/bin/ecryptfs-mount-private") + (string-append out "/bin/ecryptfs-mount-private")) + (("/usr/bin/ecryptfs-rewrite-file") + (string-append out "/bin/ecryptfs-rewrite-file")) + (("/usr/bin/ecryptfs-setup-private") + (string-append out "/bin/ecryptfs-setup-private")) + (("/sbin/cryptsetup") + (string-append cryptsetup "/sbin/cryptsetup")) + (("/sbin/unix_chkpwd") + (string-append linux-pam "/sbin/unix_chkpwd")) + (("/sbin/dmsetup") + (string-append lvm2 "/sbin/dmsetup"))))))))) (native-inputs `(("intltool" ,intltool) ("perl" ,perl) ; for pod2man @@ -3707,6 +3745,9 @@ as used on certified hardware security devices.") (inputs `(("keyutils" ,keyutils) ("linux-pam" ,linux-pam) + ("utils-linux" ,util-linux) + ("cryptsetup" ,cryptsetup) + ("lvm2" ,lvm2) ("nss" ,nss))) (home-page "http://ecryptfs.org/") (synopsis "eCryptfs cryptographic file system utilities") |