diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index dfadde326c..909e971833 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Ludovic Courtès +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -200,6 +201,15 @@ numeric gid or #f." (format #t "populating /etc from ~a...~%" etc) + ;; Create the /etc/ssl -> /run/current-system/profile/etc/ssl symlink. This + ;; symlink, to a target outside of the store, probably doesn't belong in the + ;; static 'etc' store directory. However, if it were to be put there, + ;; beware that if /run/current-system/profile/etc/ssl doesn't exist at the + ;; time of activation (e.g. when installing a fresh system), the call to + ;; 'file-is-directory?' below will fail because it uses 'stat', not 'lstat'. + (rm-f "/etc/ssl") + (symlink "/run/current-system/profile/etc/ssl" "/etc/ssl") + (rm-f "/etc/static") (symlink etc "/etc/static") (for-each (lambda (file) diff --git a/gnu/system.scm b/gnu/system.scm index 3fe78339b7..5a3842fbb8 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -453,6 +453,11 @@ export EMACSLOADPATH=:/etc/emacs # when /etc/machine-id is missing. Make sure these warnings are non-fatal. export DBUS_FATAL_WARNINGS=0 +# These variables are honored by OpenSSL (libssl) and Git. +export SSL_CERT_DIR=/etc/ssl/certs +export SSL_CERT_FILE=\"$SSL_CERT_DIR/ca-certificates.crt\" +export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\" + # Allow Aspell to find dictionaries installed in the user profile. export ASPELL_CONF=\"dict-dir $HOME/.guix-profile/lib/aspell\" "))