mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-14 23:20:29 -05:00
gnu: ecryptfs-utils: Wrap scripts.
This should fix #59850, although there might be other binaries I missed. * gnu/packages/linux.scm (ecryptfs-utils)[arguments]: Add a new 'wrap-scripts phase to do what it says. [inputs]: Add coreutils, findutils, gawk, grep, keyutils, lsof, rsync, sed, and which.
This commit is contained in:
parent
da2f7868f8
commit
0335499876
1 changed files with 40 additions and 3 deletions
|
@ -130,6 +130,7 @@ (define-module (gnu packages linux)
|
||||||
#:use-module (gnu packages libunwind)
|
#:use-module (gnu packages libunwind)
|
||||||
#:use-module (gnu packages libusb)
|
#:use-module (gnu packages libusb)
|
||||||
#:use-module (gnu packages llvm)
|
#:use-module (gnu packages llvm)
|
||||||
|
#:use-module (gnu packages lsof)
|
||||||
#:use-module (gnu packages lua)
|
#:use-module (gnu packages lua)
|
||||||
#:use-module (gnu packages man)
|
#:use-module (gnu packages man)
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
|
@ -150,6 +151,7 @@ (define-module (gnu packages linux)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
#:use-module (gnu packages readline)
|
#:use-module (gnu packages readline)
|
||||||
#:use-module (gnu packages rrdtool)
|
#:use-module (gnu packages rrdtool)
|
||||||
|
#:use-module (gnu packages rsync)
|
||||||
#:use-module (gnu packages samba)
|
#:use-module (gnu packages samba)
|
||||||
#:use-module (gnu packages sdl)
|
#:use-module (gnu packages sdl)
|
||||||
#:use-module (gnu packages serialization)
|
#:use-module (gnu packages serialization)
|
||||||
|
@ -6762,6 +6764,10 @@ (define-public ecryptfs-utils
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags (list "--disable-pywrap")
|
`(#:configure-flags (list "--disable-pywrap")
|
||||||
|
#:modules (,@%gnu-build-system-modules
|
||||||
|
(ice-9 binary-ports)
|
||||||
|
(rnrs bytevectors)
|
||||||
|
(srfi srfi-26))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'patch-source-shebangs 'patch-hardcoded-paths
|
(add-after 'patch-source-shebangs 'patch-hardcoded-paths
|
||||||
|
@ -6799,17 +6805,48 @@ (define-public ecryptfs-utils
|
||||||
(("/sbin/unix_chkpwd")
|
(("/sbin/unix_chkpwd")
|
||||||
(string-append linux-pam "/sbin/unix_chkpwd"))
|
(string-append linux-pam "/sbin/unix_chkpwd"))
|
||||||
(("/sbin/dmsetup")
|
(("/sbin/dmsetup")
|
||||||
(string-append lvm2 "/sbin/dmsetup")))))))))
|
(string-append lvm2 "/sbin/dmsetup"))))))
|
||||||
|
(add-after 'install 'wrap-scripts
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(bin (string-append out "/bin"))
|
||||||
|
(add (map (lambda (bin)
|
||||||
|
(dirname (search-input-file
|
||||||
|
inputs (string-append "bin/" bin))))
|
||||||
|
;; For simplicity, we wrap all scripts the same.
|
||||||
|
(list "awk" "find" "gettext" "grep" "keyctl" "ls"
|
||||||
|
"lsof" "mount" "rsync" "sed" "which")))
|
||||||
|
(script? (lambda (file)
|
||||||
|
(call-with-input-file file
|
||||||
|
(lambda (port)
|
||||||
|
(bytevector=? (string->utf8 "#!")
|
||||||
|
(get-bytevector-n port 2)))))))
|
||||||
|
(for-each (lambda (file)
|
||||||
|
(when (script? file)
|
||||||
|
(wrap-program file
|
||||||
|
;; '= would be better than 'suffix but break
|
||||||
|
;; setuid binaries.
|
||||||
|
`("PATH" ":" suffix (,@add
|
||||||
|
,(string-append bin))))))
|
||||||
|
(find-files bin "."))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list intltool perl ; for pod2man
|
(list intltool perl ; for pod2man
|
||||||
pkg-config))
|
pkg-config))
|
||||||
(inputs
|
(inputs
|
||||||
`(("keyutils" ,keyutils)
|
`(("coreutils" ,coreutils)
|
||||||
|
("findutils" ,findutils)
|
||||||
|
("gawk" ,gawk)
|
||||||
|
("grep" ,grep)
|
||||||
|
("keyutils" ,keyutils)
|
||||||
("linux-pam" ,linux-pam)
|
("linux-pam" ,linux-pam)
|
||||||
|
("lsof" ,lsof)
|
||||||
("utils-linux" ,util-linux)
|
("utils-linux" ,util-linux)
|
||||||
("cryptsetup" ,cryptsetup)
|
("cryptsetup" ,cryptsetup)
|
||||||
("lvm2" ,lvm2)
|
("lvm2" ,lvm2)
|
||||||
("nss" ,nss)))
|
("nss" ,nss)
|
||||||
|
("rsync", rsync)
|
||||||
|
("sed" ,sed)
|
||||||
|
("which" ,which)))
|
||||||
(home-page "https://ecryptfs.org/")
|
(home-page "https://ecryptfs.org/")
|
||||||
(synopsis "eCryptfs cryptographic file system utilities")
|
(synopsis "eCryptfs cryptographic file system utilities")
|
||||||
(description
|
(description
|
||||||
|
|
Loading…
Reference in a new issue