diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-01-22 13:04:20 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-01-22 13:16:10 +0100 |
commit | 327d7be013b34f1f86d411bc97b757a5e183db4e (patch) | |
tree | 077eb3a26d18995283214046aa5085ce9daf22e3 /src | |
parent | 1f701262e1a4a706a341b820796ba31954e1be11 (diff) | |
download | cuirass-327d7be013b34f1f86d411bc97b757a5e183db4e.tar cuirass-327d7be013b34f1f86d411bc97b757a5e183db4e.tar.gz |
Initialize libgit's TLS certificate directory once and for all.
* src/cuirass/base.scm (prepare-git): New procedure. Body moved from...
(process-specs): ... here. Remove it.
* bin/cuirass.in (main): Call 'prepare-git'.
Diffstat (limited to 'src')
-rw-r--r-- | src/cuirass/base.scm | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm index ad45b20..1daa428 100644 --- a/src/cuirass/base.scm +++ b/src/cuirass/base.scm @@ -46,6 +46,7 @@ compile evaluate build-packages + prepare-git process-specs set-guix-package-path! ;; Parameters. @@ -339,21 +340,23 @@ and so on. " (format #t "success: ~a, fail: ~a\n" success fail) results)) +(define (prepare-git) + "Prepare Guile-Git's TLS support and all." + ;; Catch and report git errors. + (with-git-error-handling + ;; Try the 'GIT_SSL_CAINFO' or 'SSL_CERT_FILE' file first, then search the + ;; 'SSL_CERT_DIR' directory. + (let ((directory (getenv "SSL_CERT_DIR")) + (file (or (getenv "GIT_SSL_CAINFO") + (getenv "SSL_CERT_FILE")))) + (when (or directory file) + (set-tls-certificate-locations! directory file))))) + (define (process-specs db jobspecs) "Evaluate and build JOBSPECS and store results in DB." (define (process spec) (with-store store (let ((stamp (db-get-stamp db spec))) - ;; Catch and report git errors. - (with-git-error-handling - ;; Try the 'GIT_SSL_CAINFO' or 'SSL_CERT_FILE' file first, then - ;; search the 'SSL_CERT_DIR' directory. - (let ((directory (getenv "SSL_CERT_DIR")) - (file (or (getenv "GIT_SSL_CAINFO") - (getenv "SSL_CERT_FILE")))) - (when (or directory file) - (set-tls-certificate-locations! directory file))) - (receive (checkout commit) (fetch-repository store spec) (when commit @@ -377,7 +380,7 @@ and so on. " (let* ((spec* (acons #:current-commit commit spec)) (jobs (evaluate store db spec*))) (build-packages store db jobs)))) - (db-add-stamp db spec commit))))))) + (db-add-stamp db spec commit)))))) (for-each process jobspecs)) |