From ea9e58ef66f0fc0235eb1b36690ad4e41bf8771d Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Sun, 26 Feb 2017 11:34:44 +1100 Subject: [PATCH] gnu: icedtea-6: Modify certificate import to not fail for icedtea-8. Co-authored-by: Roel Janssen * 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. --- gnu/packages/java.scm | 17 ++++++++++++----- 1 file 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 ;;; Copyright © 2016 Leo Famulari -;;; Copyright © 2016 Roel Janssen +;;; Copyright © 2016, 2017 Roel Janssen +;;; Copyright © 2017 Carlo Zancanaro ;;; ;;; 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")