[Pki-devel] [PATCH] Removal of version numbers from jar file names

Matthew Harmsen mharmsen at redhat.com
Mon Oct 29 19:36:19 UTC 2012


Endi,

Comments in-line.

On 10/27/12 07:33, Endi Sukma Dewata wrote:
> On 10/26/2012 7:06 PM, Matthew Harmsen wrote:
>>   * The JNI 'symkey.jar' is a file and contains no embedded version in
>>     its name
>
> Please take a look at the following code in 
> base/symkey/src/CMakeLists.txt:
>
>   install(
>       FILES
>           ${CMAKE_BINARY_DIR}/dist/symkey.jar
>       DESTINATION
>           ${LIB_INSTALL_DIR}/symkey -- (A)
>   )
>
'${LIB_INSTALL_DIR}' is defined in 
'pki/cmake/Modules/DefineInstallationPaths.cmake' as 
'${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}' which basically places 
'symkey.jar' into 'usr/lib/symkey' (32-bit) or 'usr/lib64/symkey' 
(64-bit) unless this is being somehow overridden by a newer version of 
cmake?
> install(
>       FILES
>           ${CMAKE_BINARY_DIR}/dist/symkey.jar
>       DESTINATION
>           ${JAVA_LIB_INSTALL_DIR} -- (B)
>   )
>
'${JAVA_LIB_INSTALL_DIR}' is defined in 
'pki/cmake/Modules/DefineInstallationPaths.cmake' as 
'${CMAKE_INSTALL_PREFIX}/lib/java' which basically places 'symkey.jar' 
into 'usr/lib/java' (32-bit & 64-bit) unless this is being somehow 
overridden by a newer version of cmake?
> and in pki-core.spec:
>
>   cd %{buildroot}%{_libdir}/symkey
>   %if 0%{?fedora} >= 16
>   %{__rm} %{buildroot}%{_jnidir}/symkey.jar -- (C)
>   %{__mv} symkey.jar %{buildroot}%{_jnidir}/symkey.jar -- (D)
>   %else
>   %{__rm} symkey.jar -- (E)
>   %{__ln_s} symkey-%{version}.jar symkey.jar -- (F)
>   %endif
>
For Fedora 16 and greater, this removes 'symkey.jar' on 32-bit and 
removes nothing on 64-bit systems, and moves symkey.jar under the 
appropriate 'usr/lib/java' (32-bit) and 'usr/lib64/java' (64-bit). This 
code block may not be necessary if we make the change I suggest below.

As RHEL 5, RHEL 6, and Fedora 17 or less are not supported, and we are 
not yet certain of the RHEL 7 changes for JNI, I agree that the %else 
code block could be removed.
>   %if 0%{?rhel} || 0%{?fedora} < 16
>   cd %{buildroot}%{_jnidir}
>   %{__rm} symkey.jar -- (G)
>   %{__ln_s} %{_libdir}/symkey/symkey.jar symkey.jar -- (H)
>   %endif
>
Since this code exists on the 'master', and RHEL 5, RHEL 6, and Fedora 
15 or less are not supported, and we are not yet certain of the RHEL 7 
changes for JNI, I agree that this code block could be removed.
> Some observations:
>
> 1. In A and B the code installs symkey.jar in /usr/lib64/symkey and 
> /usr/lib64/java, respectively. In C the symkey.jar is removed from 
> /usr/lib64/java. In D the symkey.jar is moved from /usr/lib64/symkey 
> to /usr/lib64/java. It seems that the code in A, C, and D is not 
> needed since we have B.
>
> 2. The code in E & F doesn't seem to be needed anymore since we don't 
> support anything before F16.
>
> 3. The code in G & H removes the symkey.jar in /usr/lib64/java and 
> replaces it with a link to symkey.jar in /usr/lib64/symkey. This is 
> not necessary since we have B.
>
> If these are correct we probably can remove everything above except B.
>
Per my comments above, I think that we could remove everything above 
except B by making the following changes (I need to do test builds on 
32-bit and 64-bit systems to prove this theory) from:

    install(
           FILES
               ${CMAKE_BINARY_DIR}/dist/symkey.jar
           DESTINATION
    *${JAVA_LIB_INSTALL_DIR}* -- (B)
       )

to:

    install(
           FILES
               ${CMAKE_BINARY_DIR}/dist/symkey.jar
           DESTINATION
    *${LIB_INSTALL_DIR}/java* -- (B)
       )

Do you agree with this approach?

> Other than that the patch looks good, ACK.
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pki-devel/attachments/20121029/3dc35032/attachment.htm>


More information about the Pki-devel mailing list