summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-08-29 18:54:47 +0200
committerMathieu Othacehe <othacehe@gnu.org>2021-08-29 18:57:29 +0200
commit994d8ce394e88b55985241b7b14f6a8459bcf9e8 (patch)
tree671e211588c05b45b2b3a83e3e9ce85a02b85ff5
parent5fdc46a9fe6233060a7817322eab2b1ad339deae (diff)
downloadguix-994d8ce394e88b55985241b7b14f6a8459bcf9e8.tar.gz
gnu: shadow: Use the cross-compiled shell at runtime.
Make sure that the executed shell at runtime is the cross-compiled shell and
not the native shell.

* gnu/packages/admin.scm (shadow)[arguments]: Add a set-runtime-shell phase.
[inputs]: Add bash-minimal when cross-compiling.
-rw-r--r--gnu/packages/admin.scm18
1 files changed, 16 insertions, 2 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f9b0abac34..7910bb16a7 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -29,7 +29,7 @@
 ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
-;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
@@ -824,6 +824,17 @@ hostname.")
 
        #:phases
        (modify-phases %standard-phases
+         ,@(if (%current-target-system)
+               '((add-before 'configure 'set-runtime-shell
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (let ((shell (string-append
+                                   (assoc-ref inputs "bash")
+                                   "/bin/bash")))
+                       (setenv "RUNTIME_SHELL" shell)
+                       (substitute* "configure.ac"
+                         (("\\$SHELL")
+                          "$RUNTIME_SHELL"))))))
+               '())
          (add-before 'build 'set-nscd-file-name
            (lambda* (#:key inputs #:allow-other-keys)
              ;; Use the right file name for nscd.
@@ -848,7 +859,10 @@ hostname.")
     (inputs
      `(,@(if (hurd-target?)
            '()
-           `(("linux-pam" ,linux-pam)))))
+           `(("linux-pam" ,linux-pam)))
+       ,@(if (%current-target-system)
+             `(("bash" ,bash-minimal))
+             '())))
     (home-page "https://github.com/shadow-maint/shadow")
     (synopsis "Authentication-related tools such as passwd, su, and login")
     (description