Cacerts generation in IcedTea6 - please review changes in build scripts

Andrew John Hughes ahughes at redhat.com
Tue May 11 09:38:36 PDT 2010


On 11 May 2010 17:37, Andrew John Hughes <ahughes at redhat.com> wrote:
> On 11 May 2010 17:08, Pavel Tisnovsky <ptisnovs at redhat.com> wrote:
>> Hi,
>>
>> I changed IcedTea6 build scripts namely configure.ac and Makefile.am to
>> generate proper (i.e. not empty) cacerts file for J2SDK and also JRE images.
>> Cacerts generation could be enabled by configuration flag
>> --enable-openssh-cacerts.
>
> I think --enable-cacerts-generation would be a better choice of name.
> I don't see why we are even referring to openssh when these are SSL
> certificates from Mozilla if I understand correctly.
>
>> Cacerts generator (i.e. the script named
>> "generate-cacerts.sh") is written in Bash and uses keytool from compiled
>> J2SDK so this also does basic check whether J2SDK is built correctly.
>
> A standard build does a more through test by building OpenJDK with the
> JDK just built.
>
>>
>> Can you please check whether it is possible to push the changes to the
>> IcedTea repository?
>>
>
> There is a hardcoded path:
>
> /etc/pki/tls/certs/ca-bundle.crt
>
> which doesn't exist on either of the Debian or Gentoo systems I just
> checked.  Something along the lines of AC_CHECK_FOR_OPENJDK is needed
> which checks the normal locations on a range of distros and allows an
> alternate to be specified.  I don't see much advantage in adding a
> feature which only works on one particular system.
>

I'd also rearrange things so that the file is not removed until one is
successfully generated.  You don't currently check anything about what
is generated.

>> TODO:
>> - allow specification of directory containing OpenSSH certificates (new
>> configuration flag)
>> - allow certificates downloading during build (from Mozilla project - is it
>> possible?)
>>
>> Cheers
>> Pavel
>>
>> --- configure.ac        2010-05-11 17:51:45.000000000 +0200
>> +++ /jck/2/configure.ac 2010-05-11 15:57:48.000000000 +0200
>> @@ -159,6 +159,14 @@
>>   AC_MSG_RESULT([disabled by default (edit java.security to enable)])
>>  fi
>>
>> +AC_MSG_CHECKING([whether to generate cacerts file using OpenSSH
>> certificates])
>> +AC_ARG_ENABLE([openssh-cacerts],
>> +              [AS_HELP_STRING([--enable-openssh-cacerts],
>> +                              [Enable cacerts generation using OpenSSH
>> certificates])],
>> +              [enable_openssh_cacerts="${enableval}"],
>> [enable-openssh-cacerts="no"])
>> +AM_CONDITIONAL(GENERATE_CACERTS, test "x${enable_openssh_cacerts}" =
>> "xyes")
>> +AC_MSG_RESULT(${enable_openssh_cacerts})
>> +
>>  IT_GET_PKGVERSION
>>  IT_GET_LSB_DATA
>>
>>
>> --- Makefile.am 2010-05-11 17:51:45.000000000 +0200
>> +++ /jck/2/Makefile.am  2010-05-11 17:39:31.000000000 +0200
>> @@ -1314,6 +1314,14 @@
>>        cp $(abs_top_builddir)/tz.properties \
>>          $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib;
>>  endif
>> +if GENERATE_CACERTS
>> +       rm -rf pems
>> +       rm -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts
>> +       rm -f $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts
>> +       mkdir -p pems
>> +       sh scripts/generate-cacerts.sh
>> $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/keytool /etc/pki/tls/certs/ca-bundle.crt
>> pems $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts
>> +       cp $(BUILD_OUTPUT_DIR)/j2re-image/lib/security/cacerts
>> $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security/cacerts
>> +endif
>>        @echo "IcedTea is served:" $(BUILD_OUTPUT_DIR)
>>        mkdir -p stamps
>>        touch stamps/icedtea.stamp
>> @@ -1404,6 +1412,14 @@
>>        cp $(abs_top_builddir)/tz.properties \
>>          $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib;
>>  endif
>> +if GENERATE_CACERTS
>> +       rm -rf pems
>> +       rm -f $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/security/cacerts
>> +       rm -f $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/security/cacerts
>> +       mkdir -p pems
>> +       sh scripts/generate-cacerts.sh
>> $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/bin/keytool
>> /etc/pki/tls/certs/ca-bundle.crt pems
>> $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/security/cacerts
>> +       cp $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/security/cacerts
>> $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/security/cacerts
>> +endif
>>        @echo "IcedTea (debug build) is served:" \
>>          $(BUILD_OUTPUT_DIR)-debug
>>        mkdir -p stamps
>>
>>
>
>
>
> --
> Andrew :-)
>
> Free Java Software Engineer
> Red Hat, Inc. (http://www.redhat.com)
>
> Support Free Java!
> Contribute to GNU Classpath and the OpenJDK
> http://www.gnu.org/software/classpath
> http://openjdk.java.net
>
> PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
> Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
>



-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8



More information about the distro-pkg-dev mailing list