Bug 788787

Summary: dogtag 10 pki-core-10.0.0.a1 fails to build due to dependency on junit4
Product: [Fedora] Fedora Reporter: Kevin Wright <kwright>
Component: pki-coreAssignee: Matthew Harmsen <mharmsen>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: dennis, gsterlin, kwright, mharmsen, nkinder
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-14 02:02:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Add 'junit'/'junit4' dependency plus integrate KRA, OCSP, and TKS into 'pki-core' none

Description Kevin Wright 2012-02-09 00:53:44 UTC
I found this in the nightly builds for dogtag 10 on 

The error I see is:

DEBUG: cd /builddir/build/BUILD/pki-core-10.0.0.a1/base/symkey/src && /usr/bin/cmake -DCMAKE_JAVA_CLASS_OUTPUT_PATH=/builddir/build/BUILD/pki-core-10.0.0.a1/build/base/symkey/src/CMakeFiles/symkey.dir -DCMAKE_JAR_CLASSES_PREFIX="" -P /builddir/build/BUILD/pki-core-10.0.0.a1/cmake/Modules/UseJavaClassFilelist.cmake
DEBUG: TestListener.java:21: package org.junit.runner does not exist
DEBUG: import org.junit.runner.Description;
DEBUG:                        ^
DEBUG: TestListener.java:22: package org.junit.runner does not exist
DEBUG: import org.junit.runner.Result;
DEBUG:                        ^
DEBUG: TestListener.java:23: package org.junit.runner.notification does not exist
DEBUG: import org.junit.runner.notification.Failure;

[snip]

I tracked this down to the cmake file for junit:  pki/cmake/Modules/JUnit.cmake, which is looking for junit4.jar file.

find_file(JUNIT_JAR
   NAMES
       junit4.jar
   PATHS
       ${JAVA_LIB_INSTALL_DIR}
       /usr/share/java
)

However, junit4.jar doesn't exist on fedora16. there is junit-4 for rawhide (fc17) but not for fc16.

http://koji.fedoraproject.org/koji/packageinfo?packageID=496

Comment 1 Kevin Wright 2012-02-09 00:55:32 UTC
I chatted with Endi Dewata regarding this issue since he added the code for junit and he says:

kwright: I assume that junit-3 and junit-4 are not compatible
edewata: kwright: it's not. junit 4 has convenience features using java annotations, but we're not heavily dependent on it. so it's still possible to downgrade the test cases.

Comment 2 Nathan Kinder 2012-02-10 23:06:38 UTC
It looks like junit4 is available on f16.  It seems that is wasn't built specifically on f16 though, as the dist tag refers to f15:

[root@localhost ~]# cat /etc/redhat-release 
Fedora release 16 (Verne)
[root@localhost ~]# yum list all | grep junit4
junit4.noarch                           4.8.2-2.fc15           @fedora          
junit4-manual.noarch                    4.8.2-2.fc15           @fedora          
junit4-demo.noarch                      4.8.2-2.fc15           fedora           
junit4-javadoc.noarch                   4.8.2-2.fc15           fedora           
maven-surefire-provider-junit4.noarch   2.10-4.fc16            updates          
[root@localhost ~]#

Comment 3 Kevin Wright 2012-02-11 00:19:06 UTC
Nathan,

That makes sense. So to make it work then, the spec file would need a BuildRequires of junit4 for fc16 only.

This isn't necessary for fc17 since it has junit-4.10-4.fc17 which has a change log entry that says:

* Wed Jan 25 2012 Tomas Radej <tradej> - 0:4.10-1
Obsoleted junit4

I downloaded the rpm for junit-4.10-4.fc17 and see that is has the junit4.jar file:

junit4.jar -> /usr/share/java/junit.jar


So there are two packages in koji: junit4: (now obsolete)

http://koji.fedoraproject.org/koji/packageinfo?packageID=4890

and junit

http://koji.fedoraproject.org/koji/packageinfo?packageID=496

$ sudo yum list all | grep junit
junit.noarch                            3.8.2-8.fc15                 @fedora    
ant-junit.noarch                        1.8.2-6.fc16                 fedora     
junit-demo.noarch                       3.8.2-8.fc15                 fedora     
junit-javadoc.noarch                    3.8.2-8.fc15                 fedora     
junit-manual.noarch                     3.8.2-8.fc15                 fedora     
junit4.noarch                           4.8.2-2.fc15                 fedora     
junit4-demo.noarch                      4.8.2-2.fc15                 fedora     
junit4-javadoc.noarch                   4.8.2-2.fc15                 fedora     
junit4-manual.noarch                    4.8.2-2.fc15                 fedora     
junitperf.noarch                        1.9.1-6.fc16                 fedora     
junitperf-demo.noarch                   1.9.1-6.fc16                 fedora     
junitperf-javadoc.noarch                1.9.1-6.fc16                 fedora     
maven-surefire-provider-junit.noarch    2.10-4.fc16                  updates    
maven-surefire-provider-junit4.noarch   2.10-4.fc16                  updates

make sense?

--Kevin

Comment 4 Matthew Harmsen 2012-02-20 22:58:42 UTC
On Thursday, February 16, it was determined that a long with adding the appropriate 'junit'/'junit4' build-time requirements, that the 'pki-kra', 'pki-ocsp', and 'pki-tks' components would be integrated into the 'pki-core' SRPM.

Comment 5 Matthew Harmsen 2012-02-21 00:57:30 UTC
Created attachment 564546 [details]
Add 'junit'/'junit4' dependency plus integrate KRA, OCSP, and TKS into 'pki-core'

Comment 6 Matthew Harmsen 2012-02-21 01:51:09 UTC
To test out this patch:

    # cd /tmp

    # git clone ssh://git.fedorahosted.org/git/pki.git pkigit.test

    # cd pkigit.test

    # git checkout -b test
    Switched to a new branch 'test'

    # git branch
      master
    * test

    # git apply --stat 0001-Bug-788787-added-junit-dependency-plus-integrated-KR.patch
     pki/CMakeLists.txt                    |   17 -
     pki/base/CMakeLists.txt               |   12 -
     pki/scripts/build_dogtag_pki          |   40 ---
     pki/scripts/compose_pki_core_packages |    2 
     pki/scripts/compose_pki_kra_packages  |  180 -----------
     pki/scripts/compose_pki_ocsp_packages |  180 -----------
     pki/scripts/compose_pki_tks_packages  |  180 -----------
     pki/specs/pki-core.spec               |  526 ++++++++++++++++++++++++++++++++-
     pki/specs/pki-kra.spec                |  442 ----------------------------
     pki/specs/pki-ocsp.spec               |  435 ---------------------------
     pki/specs/pki-tks.spec                |  421 --------------------------
     11 files changed, 513 insertions(+), 1922 deletions(-)

    # git apply --check 0001-Bug-788787-added-junit-dependency-plus-integrated-KR.patch

    # git am 0001-Bug-788787-added-junit-dependency-plus-integrated-KR.patch
    Applying: Bug 788787 added junit dependency plus integrated KRA OCSP and TKS
    /tmp/DOGTAG/pkigit.test/.git/rebase-apply/patch:917: trailing whitespace.
    %else 
    /tmp/DOGTAG/pkigit.test/.git/rebase-apply/patch:972: trailing whitespace.
    %else 
    /tmp/DOGTAG/pkigit.test/.git/rebase-apply/patch:1035: trailing whitespace.
    %else 
    /tmp/DOGTAG/pkigit.test/.git/rebase-apply/patch:1193: trailing whitespace.
                else 
    /tmp/DOGTAG/pkigit.test/.git/rebase-apply/patch:1220: trailing whitespace.
                else 
    warning: squelched 4 whitespace errors
    warning: 9 lines add whitespace errors.

    # pki/scripts/compose_pki_core_packages rpms

    # ls packages/SRPMS
    pki-core-10.0.0-0.2.a1.fc16.src.rpm

    # ls packages/RPMS/noarch
    pki-ca-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-common-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-common-javadoc-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-java-tools-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-java-tools-javadoc-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-kra-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-ocsp-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-selinux-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-setup-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-silent-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-tks-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-util-10.0.0-0.2.a1.fc16.noarch.rpm
    pki-util-javadoc-10.0.0-0.2.a1.fc16.noarch.rpm

    # ls packages/RPMS/x86_64
    pki-core-debuginfo-10.0.0-0.2.a1.fc16.x86_64.rpm
    pki-native-tools-10.0.0-0.2.a1.fc16.x86_64.rpm
    pki-symkey-10.0.0-0.2.a1.fc16.x86_64.rpm

Comment 7 Matthew Harmsen 2012-02-22 02:10:14 UTC
Committed to GIT trunk for Dogtag 10:

commit 6cb7baa5bf5162cd07bcd0b1619ca8f7d76fa782
Author: Matthew Harmsen <mharmsen>
Date:   Mon Feb 20 16:46:46 2012 -0800

    Bug 788787 added junit dependency plus integrated KRA OCSP and TKS

Comment 8 Fedora Admin XMLRPC Client 2012-03-07 00:28:59 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 9 Fedora End Of Life 2013-02-14 02:02:51 UTC
Fedora 16 changed to end-of-life (EOL) status on 2013-02-12. Fedora 16 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.