Date: Tuesday, April 26, 2011 @ 17:44:45
  Author: pierre
Revision: 120865

upstream update; make use of UpdateCertificates

Added:
  ca-certificates-java/trunk/jks-keystore.hook
Modified:
  ca-certificates-java/trunk/PKGBUILD
  ca-certificates-java/trunk/ca-certificates-java.install
  ca-certificates-java/trunk/init-jks-keystore
Deleted:
  ca-certificates-java/trunk/jks-keystore.hook.patch

------------------------------+
 PKGBUILD                     |   48 +++++--------------------
 ca-certificates-java.install |    8 ++--
 init-jks-keystore            |   76 +++--------------------------------------
 jks-keystore.hook            |   16 ++++++++
 jks-keystore.hook.patch      |   51 ---------------------------
 5 files changed, 37 insertions(+), 162 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2011-04-26 21:44:03 UTC (rev 120864)
+++ PKGBUILD    2011-04-26 21:44:45 UTC (rev 120865)
@@ -2,59 +2,33 @@
 # Maintainer: Jan de Groot <[email protected]>
 
 pkgname=ca-certificates-java
-pkgver=20110421~nmu1
+pkgver=20110426
 pkgrel=1
 pkgdesc='Common CA certificates (JKS keystore)'
 arch=('any')
 url='http://packages.qa.debian.org/c/ca-certificates-java.html'
 license=('GPL')
-depends=('ca-certificates' 'nss')
+depends=('ca-certificates')
 makedepends=('openjdk6')
 install='ca-certificates-java.install'
+backup=('etc/default/cacerts')
 
source=("http://ftp.debian.org/debian/pool/main/c/${pkgname}/${pkgname}_${pkgver}.tar.gz";
-        'jks-keystore.hook.patch' 'init-jks-keystore')
-md5sums=('34078ed264e401ffb5b176d3b98ec214'
-         '26303bb23b9eb7d7a7cdd6eca78e257e'
-         '8fca365914fc1fd9c44e26587424dc23')
+        'init-jks-keystore' 'jks-keystore.hook')
+md5sums=('8ecea60210dd89f9cf73caabf1cf6955'
+         'ee50d8416e03b764c5fd15dea5f582e2'
+         '84fe0a111e9fe5afadaad8573430a9d1')
 
 build() {
-       cd ${srcdir}
-
-       patch -p0 -i ${srcdir}/jks-keystore.hook.patch 
${pkgname}-${pkgver}/debian/jks-keystore.hook
-
-       mkdir build
-       cd build
-
-       for crt in $(find /usr/share/ca-certificates -name '*.crt' -printf '%P 
'); do
-               alias=$(basename $crt .crt | tr A-Z a-z | tr -cs a-z0-9 _)
-               alias=${alias%*_}
-               echo "IMPORT: $crt, alias=$alias"
-               if LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 keytool -importcert 
-trustcacerts -keystore cacerts \
-                       -storepass 'changeit' -noprompt \
-                       -alias "$alias" -file "/usr/share/ca-certificates/$crt" 
> keytool.log 2>&1; then
-                               cat keytool.log
-               elif LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 keytool -importcert 
-trustcacerts -keystore cacerts \
-                       -providerClass sun.security.pkcs11.SunPKCS11 \
-                       -providerArg 
'/usr/lib/jvm/java-6-openjdk/jre/lib/security/nss.cfg' \
-                       -storepass 'changeit' -noprompt \
-                       -alias "$alias" -file "/usr/share/ca-certificates/$crt" 
> keytool.log 2>&1; then
-                               cat keytool.log
-               elif grep -q 'Signature not available' keytool.log; then
-                               echo "IGNORED IMPORT: $crt, alias=$alias"
-                               cat keytool.log
-               else
-                               cat keytool.log
-                               false
-               fi
-       done
+       cd ${srcdir}/${pkgname}-${pkgver}
+       javac UpdateCertificates.java
 }
 
 package() {
        cd ${srcdir}/${pkgname}-${pkgver}
 
        install -d -m755 ${pkgdir}/etc/ssl/certs/java
-       install -D -m755 debian/jks-keystore.hook 
${pkgdir}/etc/ca-certificates/update.d/jks-keystore
-       install -D -m644 ${srcdir}/build/cacerts 
${pkgdir}/usr/share/ca-certificates-java/cacerts
        install -D -m600 debian/default ${pkgdir}/etc/default/cacerts
+       install -D -m755 UpdateCertificates.class 
${pkgdir}/usr/share/ca-certificates-java/UpdateCertificates.class
        install -D -m755 ${srcdir}/init-jks-keystore 
${pkgdir}/usr/sbin/init-jks-keystore
+       install -D -m755 ${srcdir}/jks-keystore.hook 
${pkgdir}/etc/ca-certificates/update.d/jks-keystore
 }

Modified: ca-certificates-java.install
===================================================================
--- ca-certificates-java.install        2011-04-26 21:44:03 UTC (rev 120864)
+++ ca-certificates-java.install        2011-04-26 21:44:45 UTC (rev 120865)
@@ -1,7 +1,7 @@
 post_install() {
-       if [ ! -f /etc/ssl/certs/java/cacerts ]; then
-               if [ -x /usr/lib/jvm/java-6-openjdk/bin/keytool ]; then
-                       /usr/sbin/init-jks-keystore
+       if [ ! -f etc/ssl/certs/java/cacerts ]; then
+               if which java >/dev/null 2>&1; then
+                       usr/sbin/init-jks-keystore
                fi
        fi
 }
@@ -11,5 +11,5 @@
 }
 
 post_remove() {
-       rm -rf /etc/ssl/certs/java
+       rm -rf etc/ssl/certs/java
 }

Modified: init-jks-keystore
===================================================================
--- init-jks-keystore   2011-04-26 21:44:03 UTC (rev 120864)
+++ init-jks-keystore   2011-04-26 21:44:45 UTC (rev 120865)
@@ -1,75 +1,11 @@
-#!/bin/bash
+#!/bin/sh
 
-KEYSTORE=/etc/ssl/certs/java/cacerts
-
 storepass='changeit'
-if [ -f /etc/default/cacerts ]; then
-       . /etc/default/cacerts
-fi
+. /etc/default/cacerts
 
-cacertdir=/usr/share/ca-certificates
-log=$(mktemp)
+CLASSPATH=/usr/share/ca-certificates-java
+export CLASSPATH
 
-# aliases of pregenerated files
-pregenerated=$(mktemp)
-LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 keytool -list -keystore $KEYSTORE 
-storepass "$storepass" \
-       | awk -F, '/^Certificate fingerprint/ { print s } { s=$1 } ' \
-       | sort > $pregenerated
-
-grep -v -E '^ *$|^#' /etc/ca-certificates.conf | ( \
-errors=0
-while read line; do
-       pem=${line#!*}
-       alias=$(basename $pem .crt | tr A-Z a-z | tr -cs a-z0-9 _)
-       alias=${alias%*_}
-       case "$line" in
-       !*)
-               # remove untrusted certificate
-               if LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 keytool -delete 
-keystore $KEYSTORE \
-               -storepass "$storepass" -alias "$alias" >/dev/null
-               then
-                       echo "  removed untrusted certificate $pem"
-               else
-               # not (anymore) in keystore
-               :
-               fi;;
-       *)
-               # add certificate not yet in keystore
-               if [ ! -f "$cacertdir/$pem" ]; then
-                       echo >&2 "warning: /etc/ca-certificates.conf lists 
$pem,"
-                       echo >&2 "warning:   but $cacertdir/$pem does not 
exist."
-                       continue
-               fi
-               if ! grep -q "^${alias}$" $pregenerated; then
-                       if LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 keytool 
-importcert -trustcacerts -keystore $KEYSTORE \
-                               -noprompt -storepass "$storepass" \
-                               -alias "$alias" -file "$cacertdir/$pem" > $log 
2>&1
-                       then
-                               echo "  added certificate $pem"
-                       elif LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 keytool 
-importcert -trustcacerts -keystore $KEYSTORE \
-                               -providerClass sun.security.pkcs11.SunPKCS11 \
-                               -providerArg 
'/usr/lib/jvm/java-6-openjdk/jre/lib/security/nss.cfg' \
-                               -noprompt -storepass "$storepass" \
-                               -alias "$alias" -file "$cacertdir/$pem" > $log 
2>&1
-                       then
-                               echo "  added certificate $pem (using NSS 
provider)"
-                       elif grep -q 'Signature not available' $log; then
-                               echo "  ignored import, signature not 
available: ${line#+*}"
-                               sed -e 's/^/   -> /' $log
-                       else
-                               echo >&2 "  error adding ${line#+*}"
-                               errors=$(expr $errors + 1)
-                       fi
-               fi
-       esac
-done
-rm -f $log
-rm -f $pregenerated
-if [ $errors -gt 0 ]; then
-       echo >&2 "failed (VM used: $jvm)."
-       exit 1
-fi
+find /etc/ssl/certs -name '*.pem' -printf "+%p\n" | \
+       java UpdateCertificates -storepass "${storepass}"
 echo "done."
-)
-
-exit 0

Added: jks-keystore.hook
===================================================================
--- jks-keystore.hook                           (rev 0)
+++ jks-keystore.hook   2011-04-26 21:44:45 UTC (rev 120865)
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+storepass='changeit'
+. /etc/default/cacerts
+
+echo ""
+if [ "$cacerts_updates" != yes ] || [ "$CACERT_UPDATES" = disabled ]; then
+       echo "updates of cacerts keystore disabled."
+       exit 0
+fi
+
+CLASSPATH=/usr/share/ca-certificates-java
+export CLASSPATH
+
+java UpdateCertificates -storepass "$storepass"
+echo "done."

Deleted: jks-keystore.hook.patch
===================================================================
--- jks-keystore.hook.patch     2011-04-26 21:44:03 UTC (rev 120864)
+++ jks-keystore.hook.patch     2011-04-26 21:44:45 UTC (rev 120865)
@@ -1,51 +0,0 @@
---- jks-keystore.hook  2010-04-11 20:47:48.000000000 +0200
-+++ jks-keystore.hook  2010-12-17 06:43:45.570350448 +0100
-@@ -28,20 +28,12 @@
- export JAVA_HOME=/usr/lib/jvm/$jvm
- PATH=$JAVA_HOME/bin:$PATH
- 
--temp_jvm_cfg=
--if [ ! -f /etc/$jvm/jvm.cfg ]; then
--    # the jre is not yet configured, but jvm.cfg is needed to run it
--    temp_jvm_cfg=/etc/$jvm/jvm.cfg
--    mkdir -p /etc/$jvm
--    printf -- "-server KNOWN\n" > $temp_jvm_cfg
--fi
--
- # read lines of the form: [+-]/etc/ssl/certs/*.pem
- 
- echo "updating keystore $KEYSTORE..."
- 
- errors=0
--log=$(tempfile)
-+log=$(mktemp)
- while read line; do
-     pem=${line#[+-]*}
-     alias=$(basename $pem .crt | tr A-Z a-z | tr -cs a-z0-9 _)
-@@ -62,7 +54,7 @@
-         elif LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 keytool -importcert 
-trustcacerts \
-               -keystore $KEYSTORE -noprompt -storepass "$storepass" \
-               -providerClass sun.security.pkcs11.SunPKCS11 \
--              -providerArg '${java.home}/lib/security/nss.cfg' \
-+              -providerArg 
'/usr/lib/jvm/java-6-openjdk/jre/lib/security/nss.cfg' \
-               -alias "$alias" -file "$pem" > $log 2>&1
-         then
-             echo "  added: ${line#+*} (using NSS provider)"
-@@ -85,7 +77,7 @@
-           elif LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 keytool -delete -keystore 
$KEYSTORE \
-               -noprompt -storepass "$storepass" \
-               -providerClass sun.security.pkcs11.SunPKCS11 \
--              -providerArg '${java.home}/lib/security/nss.cfg' \
-+              -providerArg 
'/usr/lib/jvm/java-6-openjdk/jre/lib/security/nss.cfg' \
-               -alias "$alias"
-           then
-               echo "  removed ${line#-*} (using NSS provider)"
-@@ -103,8 +95,6 @@
- done
- rm -f $log
- 
--[ -z "$temp_jvm_cfg" ] || rm -f $temp_jvm_cfg
--
- if [ $errors -gt 0 ]; then
-     echo >&2 "failed (VM used: $jvm)."
-     exit 1

Reply via email to