summary refs log tree commit diff
diff options
context:
space:
mode:
authorCarlo Zancanaro <carlo@zancanaro.id.au>2017-02-26 11:34:44 +1100
committerRicardo Wurmus <rekado@elephly.net>2017-03-01 23:25:46 +0100
commitea9e58ef66f0fc0235eb1b36690ad4e41bf8771d (patch)
treee25e204a8498c8d40f1e6f42e9783c2b5984787c
parent428af2c68391f9648bb6fe7423cccf38e7852f98 (diff)
downloadguix-ea9e58ef66f0fc0235eb1b36690ad4e41bf8771d.tar.gz
gnu: icedtea-6: Modify certificate import to not fail for icedtea-8.
Co-authored-by: Roel Janssen <roel@gnu.org>

* gnu/packages/java.scm (icedtea-6)[arguments]: Do not fail install-keystore
phase when attempting to import unsupported certificate types.  Also ensure
that the keystore is able to be written to before copying it.
(icedtea-8)[arguments]: Restore "install-keystore" phase.
-rw-r--r--gnu/packages/java.scm17
1 files changed, 12 insertions, 5 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e7479e1b08..1abdf607f5 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1,7 +1,8 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -706,7 +707,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
                                            "-file" temp)))
                      (display "yes\n" port)
                      (when (not (zero? (status:exit-val (close-pipe port))))
-                       (error "failed to import" cert)))
+                       (format #t "failed to import ~a\n" cert)))
                    (delete-file temp)))
 
                ;; This is necessary because the certificate directory contains
@@ -719,6 +720,15 @@ build process and its dependencies, whereas Make uses Makefile format.")
                                        "/lib/security"))
                (mkdir-p (string-append (assoc-ref outputs "jdk")
                                        "/jre/lib/security"))
+
+               ;; The cacerts files we are going to overwrite are chmod'ed as
+               ;; read-only (444) in icedtea-8 (which derives from this
+               ;; package).  We have to change this so we can overwrite them.
+               (chmod (string-append (assoc-ref outputs "out")
+                                     "/lib/security/" keystore) #o644)
+               (chmod (string-append (assoc-ref outputs "jdk")
+                                     "/jre/lib/security/" keystore) #o644)
+
                (install-file keystore
                              (string-append (assoc-ref outputs "out")
                                             "/lib/security"))
@@ -1023,9 +1033,6 @@ build process and its dependencies, whereas Make uses Makefile format.")
                     (find-files "openjdk.src/jdk/src/solaris/native"
                                 "\\.c|\\.h"))
                    #t)))
-             ;; FIXME: This phase is needed but fails with this version of
-             ;; IcedTea.
-             (delete 'install-keystore)
              (replace 'install
                (lambda* (#:key outputs #:allow-other-keys)
                  (let ((doc (string-append (assoc-ref outputs "doc")