Unset the GUILE_LOAD_* environment variables when using inferiors

Otherwise modules from outside of the inferior can leak in.
This commit is contained in:
Christopher Baines 2019-09-28 23:56:41 +01:00
parent 16ed3e376e
commit 15b94238c5

View file

@ -736,6 +736,15 @@ WHERE job_id = $1"
(glibc-locales-for-guix-store-path store store-path) (glibc-locales-for-guix-store-path store store-path)
"/lib/locale" "/lib/locale"
":" guix-locpath))) ":" guix-locpath)))
;; Unset the GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH to
;; avoid the values for these being used in the
;; inferior. Even though the inferior %load-path and
;; %load-compiled-path has the inferior modules first, this
;; can cause issues when there are modules present outside
;; of the inferior Guix which aren't present in the inferior
;; Guix (like the new (guix lint) module
(unsetenv "GUILE_LOAD_PATH")
(unsetenv "GUILE_LOAD_COMPILED_PATH")
;; Augment the GUIX_LOCPATH to include glibc-locales from ;; Augment the GUIX_LOCPATH to include glibc-locales from
;; the Guix at store-path, this should mean that the ;; the Guix at store-path, this should mean that the
;; inferior Guix works, even if it's build using a different ;; inferior Guix works, even if it's build using a different