diff --git a/0001-Fix-build.sh-without-test.patch b/0001-Fix-build.sh-without-test.patch new file mode 100644 index 0000000..eb134ca --- /dev/null +++ b/0001-Fix-build.sh-without-test.patch @@ -0,0 +1,217 @@ +From 4a282212f73ae2ed225e6906b76b4ecbcfc239ab Mon Sep 17 00:00:00 2001 +From: "Endi S. Dewata" +Date: Wed, 26 May 2021 21:20:25 -0500 +Subject: [PATCH] Fix build.sh --without-test + +The cmake files have been modified not to build the test +classes when the --without-test is specified. Also, the +spec file has been modified not to run the test when the +option is specified. +--- + base/server/CMakeLists.txt | 89 +++++++++++++++++++------------------- + base/util/CMakeLists.txt | 56 ++++++++++++------------ + build.sh | 5 +-- + pki.spec | 2 +- + 4 files changed, 77 insertions(+), 75 deletions(-) + +diff --git a/base/server/CMakeLists.txt b/base/server/CMakeLists.txt +index fddb60c4b7..e470b0d487 100644 +--- a/base/server/CMakeLists.txt ++++ b/base/server/CMakeLists.txt +@@ -52,51 +52,52 @@ if(WITH_SYSTEMD_NOTIFICATION) + add_subdirectory(systemd) + endif(WITH_SYSTEMD_NOTIFICATION) + +-# build pki-server-test +-# TODO: build test only when the test is invoked +-javac(pki-server-test-classes +- DEPENDS +- pki-util-test-classes pki-cmsutil-jar pki-certsrv-jar pki-cms-jar pki-cmsbundle-jar +- SOURCES +- src/test/java/*.java +- CLASSPATH +- ${PKI_CMSUTIL_JAR} ${PKI_CERTSRV_JAR} ${PKI_CMS_JAR} ${PKI_CMSBUNDLE_JAR} +- ${LDAPJDK_JAR} ${SERVLET_JAR} ${XALAN_JAR} ${XERCES_JAR} +- ${JSS_JAR} ${COMMONS_CODEC_JAR} ${SYMKEY_JAR} +- ${HAMCREST_JAR} ${JUNIT_JAR} ${COMMONS_IO_JAR} +- ${CMAKE_BINARY_DIR}/test/classes +- OUTPUT_DIR +- ${CMAKE_BINARY_DIR}/test/classes +-) ++if(WITH_TEST) ++ # build pki-server-test ++ javac(pki-server-test-classes ++ DEPENDS ++ pki-util-test-classes pki-cmsutil-jar pki-certsrv-jar pki-cms-jar pki-cmsbundle-jar ++ SOURCES ++ src/test/java/*.java ++ CLASSPATH ++ ${PKI_CMSUTIL_JAR} ${PKI_CERTSRV_JAR} ${PKI_CMS_JAR} ${PKI_CMSBUNDLE_JAR} ++ ${LDAPJDK_JAR} ${SERVLET_JAR} ${XALAN_JAR} ${XERCES_JAR} ++ ${JSS_JAR} ${COMMONS_CODEC_JAR} ${SYMKEY_JAR} ++ ${HAMCREST_JAR} ${JUNIT_JAR} ${COMMONS_IO_JAR} ++ ${CMAKE_BINARY_DIR}/test/classes ++ OUTPUT_DIR ++ ${CMAKE_BINARY_DIR}/test/classes ++ ) + +-# create test target +-# do not include xalan and xerces in class path +-# TODO: create CMake function to find all JUnit test classes +-add_junit_test(test-pki-server +- DEPENDS +- pki-server-test-classes +- CLASSPATH +- ${SLF4J_API_JAR} ${SLF4J_SIMPLE_JAR} +- ${PKI_CMSUTIL_JAR} ${PKI_CERTSRV_JAR} ${PKI_CMS_JAR} ${PKI_CMSBUNDLE_JAR} +- ${LDAPJDK_JAR} ${SERVLET_JAR} +- ${COMMONS_CODEC_JAR} ${COMMONS_LANG3_JAR} +- ${JSS_JAR} ${SYMKEY_JAR} +- ${HAMCREST_JAR} ${JUNIT_JAR} ${COMMONS_IO_JAR} +- ${CMAKE_BINARY_DIR}/test/classes +- TESTS +- com.netscape.cmscore.authentication.AuthTokenTest +- com.netscape.cmscore.dbs.CertRecordListTest +- com.netscape.cmscore.dbs.DBRegistryTest +- com.netscape.cmscore.request.AgentApprovalsTest +- com.netscape.cmscore.request.ExtAttrDynMapperTest +- com.netscape.cmscore.request.ExtDataHashtableTest +- com.netscape.cmscore.request.RequestQueueTest +- com.netscape.cmscore.request.RequestRecordTest +- com.netscape.cmscore.request.RequestTest +- com.netscape.cmscore.password.PlainPasswordFileTest +- REPORTS_DIR +- reports +-) ++ # create test target ++ # do not include xalan and xerces in class path ++ # TODO: create CMake function to find all JUnit test classes ++ add_junit_test(test-pki-server ++ DEPENDS ++ pki-server-test-classes ++ CLASSPATH ++ ${SLF4J_API_JAR} ${SLF4J_SIMPLE_JAR} ++ ${PKI_CMSUTIL_JAR} ${PKI_CERTSRV_JAR} ${PKI_CMS_JAR} ${PKI_CMSBUNDLE_JAR} ++ ${LDAPJDK_JAR} ${SERVLET_JAR} ++ ${COMMONS_CODEC_JAR} ${COMMONS_LANG3_JAR} ++ ${JSS_JAR} ${SYMKEY_JAR} ++ ${HAMCREST_JAR} ${JUNIT_JAR} ${COMMONS_IO_JAR} ++ ${CMAKE_BINARY_DIR}/test/classes ++ TESTS ++ com.netscape.cmscore.authentication.AuthTokenTest ++ com.netscape.cmscore.dbs.CertRecordListTest ++ com.netscape.cmscore.dbs.DBRegistryTest ++ com.netscape.cmscore.request.AgentApprovalsTest ++ com.netscape.cmscore.request.ExtAttrDynMapperTest ++ com.netscape.cmscore.request.ExtDataHashtableTest ++ com.netscape.cmscore.request.RequestQueueTest ++ com.netscape.cmscore.request.RequestRecordTest ++ com.netscape.cmscore.request.RequestTest ++ com.netscape.cmscore.password.PlainPasswordFileTest ++ REPORTS_DIR ++ reports ++ ) ++endif(WITH_TEST) + + # Create /usr/share/pki/server/lib. This can be customized for different platforms in RPM spec. + +diff --git a/base/util/CMakeLists.txt b/base/util/CMakeLists.txt +index 6664be008b..174d128b43 100644 +--- a/base/util/CMakeLists.txt ++++ b/base/util/CMakeLists.txt +@@ -43,34 +43,36 @@ install( + + set(PKI_CMSUTIL_JAR ${CMAKE_BINARY_DIR}/dist/pki-cmsutil.jar CACHE INTERNAL "pki-cmsutil jar file") + +-javac(pki-util-test-classes +- SOURCES +- src/test/java/*.java +- CLASSPATH +- ${PKI_CMSUTIL_JAR} +- ${JSS_JAR} ${LDAPJDK_JAR} ${COMMONS_CODEC_JAR} ${XALAN_JAR} ${XERCES_JAR} +- ${HAMCREST_JAR} ${JUNIT_JAR} +- OUTPUT_DIR +- ${CMAKE_BINARY_DIR}/test/classes +- DEPENDS +- pki-cmsutil-jar +-) ++if(WITH_TEST) ++ javac(pki-util-test-classes ++ SOURCES ++ src/test/java/*.java ++ CLASSPATH ++ ${PKI_CMSUTIL_JAR} ++ ${JSS_JAR} ${LDAPJDK_JAR} ${COMMONS_CODEC_JAR} ${XALAN_JAR} ${XERCES_JAR} ++ ${HAMCREST_JAR} ${JUNIT_JAR} ++ OUTPUT_DIR ++ ${CMAKE_BINARY_DIR}/test/classes ++ DEPENDS ++ pki-cmsutil-jar ++ ) + +-# TODO: create CMake function to find all JUnit test classes +-add_junit_test(test-pki-util +- CLASSPATH +- ${SLF4J_API_JAR} ${SLF4J_JDK14_JAR} +- ${PKI_CMSUTIL_JAR} +- ${JSS_JAR} ${LDAPJDK_JAR} ${COMMONS_CODEC_JAR} +- ${HAMCREST_JAR} ${JUNIT_JAR} +- ${CMAKE_BINARY_DIR}/test/classes +- TESTS +- com.netscape.cmsutil.crypto.KeyIDCodecTest +- REPORTS_DIR +- reports +- DEPENDS +- pki-util-test-classes +-) ++ # TODO: create CMake function to find all JUnit test classes ++ add_junit_test(test-pki-util ++ CLASSPATH ++ ${SLF4J_API_JAR} ${SLF4J_JDK14_JAR} ++ ${PKI_CMSUTIL_JAR} ++ ${JSS_JAR} ${LDAPJDK_JAR} ${COMMONS_CODEC_JAR} ++ ${HAMCREST_JAR} ${JUNIT_JAR} ++ ${CMAKE_BINARY_DIR}/test/classes ++ TESTS ++ com.netscape.cmsutil.crypto.KeyIDCodecTest ++ REPORTS_DIR ++ reports ++ DEPENDS ++ pki-util-test-classes ++ ) ++endif(WITH_TEST) + + install( + FILES +diff --git a/build.sh b/build.sh +index 533888ab97..67cf339cab 100755 +--- a/build.sh ++++ b/build.sh +@@ -153,9 +153,8 @@ generate_rpm_spec() { + + # hard-code test option + if [ "$WITHOUT_TEST" = true ] ; then +- commands="${commands}; s/%\(bcond_without *test\)\$/# \1\n%global with_test 0/g" +- else +- commands="${commands}; s/%\(bcond_without *test\)\$/# \1\n%global with_test 1/g" ++ # convert bcond_without into bcond_with such that unit tests do not run by default ++ commands="${commands}; s/%\(bcond_without *test\)\$/# \1\n%bcond_with test/g" + fi + + # hard-code packages to build +diff --git a/pki.spec b/pki.spec +index 9bfe2d9af1..505e9ce06d 100644 +--- a/pki.spec ++++ b/pki.spec +@@ -906,7 +906,7 @@ cd %{_vpath_builddir} + --no-print-directory \ + install + +-%if %{with_test} ++%if %{with test} + ctest --output-on-failure + %endif + +-- +2.31.1 + diff --git a/pki-core.spec b/pki-core.spec index fde5dd3..2398491 100644 --- a/pki-core.spec +++ b/pki-core.spec @@ -30,6 +30,7 @@ Source: https://github.com/dogtagpki/pki/archive/v%{version}%{?_phase}/pki-%{ver # \ # > pki-VERSION-RELEASE.patch # Patch: pki-VERSION-RELEASE.patch +Patch1: 0001-Fix-build.sh-without-test.patch # md2man isn't available on i686. Additionally, we aren't generally multi-lib # compatible (https://fedoraproject.org/wiki/Packaging:Java) @@ -81,11 +82,10 @@ ExcludeArch: i686 # PKI ################################################################################ -# By default the build will execute unit tests unless --without test +# By default the build will not execute unit tests unless --with test # option is specified. -# bcond_without test -%global with_test 1 +%bcond_with test # By default all packages will be built except the ones specified with # --without option (exclusion method). @@ -910,7 +910,7 @@ cd %{_vpath_builddir} --no-print-directory \ install -%if %{with_test} +%if %{with test} ctest --output-on-failure %endif @@ -1357,6 +1357,7 @@ fi %changelog * Wed May 26 2021 Dogtag PKI Team