From 51bd0c082c264a8c9ac13f13d772be54ab42e76d Mon Sep 17 00:00:00 2001
From: Vojtech Polasek <vpolasek@redhat.com>
Date: Wed, 30 Jun 2021 11:30:52 +0200
Subject: [PATCH 1/3] extract command for building html stig reference tables
to separate macro
---
cmake/SSGCommon.cmake | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)
diff --git a/cmake/SSGCommon.cmake b/cmake/SSGCommon.cmake
index 6a9473dbc1..67ebdfdf66 100644
--- a/cmake/SSGCommon.cmake
+++ b/cmake/SSGCommon.cmake
@@ -1264,7 +1264,7 @@ macro(ssg_build_html_srgmap_tables PRODUCT PROFILE_ID DISA_SRG_TYPE)
DESTINATION "${SSG_TABLE_INSTALL_DIR}")
endmacro()
-macro(ssg_build_html_stig_tables PRODUCT STIG_PROFILE)
+macro(ssg_build_html_stig_tables PRODUCT)
file(GLOB DISA_STIG_REF "${SSG_SHARED_REFS}/disa-stig-${PRODUCT}-v[0-9]*r[0-9]*-xccdf-manual.xml")
add_custom_command(
OUTPUT "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-stig-manual.html"
@@ -1274,15 +1274,6 @@ macro(ssg_build_html_stig_tables PRODUCT STIG_PROFILE)
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/transforms/xccdf2table-stig.xslt"
COMMENT "[${PRODUCT}-tables] generating HTML MANUAL STIG table"
)
- add_custom_command(
- OUTPUT "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-stig-testinfo.html"
- COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_BINARY_DIR}/tables"
- COMMAND "${XSLTPROC_EXECUTABLE}" -stringparam profile "${STIG_PROFILE}" -stringparam testinfo "y" --output "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-stig-testinfo.html" "${CMAKE_CURRENT_SOURCE_DIR}/transforms/xccdf2table-profileccirefs.xslt" "${CMAKE_BINARY_DIR}/ssg-${PRODUCT}-xccdf.xml"
- DEPENDS generate-ssg-${PRODUCT}-xccdf.xml
- DEPENDS "${CMAKE_BINARY_DIR}/ssg-${PRODUCT}-xccdf.xml"
- DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/transforms/xccdf2table-profileccirefs.xslt"
- COMMENT "[${PRODUCT}-tables] generating HTML STIG test info document"
- )
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/unlinked-stig-xccdf.xml"
COMMAND "${XSLTPROC_EXECUTABLE}" -stringparam overlay "${CMAKE_CURRENT_SOURCE_DIR}/overlays/stig_overlay.xml" --stringparam ocil-document "${CMAKE_CURRENT_BINARY_DIR_NO_SPACES}/ocil-linked.xml" --output "${CMAKE_CURRENT_BINARY_DIR}/unlinked-stig-xccdf.xml" "${CMAKE_CURRENT_SOURCE_DIR}/transforms/xccdf-apply-overlay-stig.xslt" "${CMAKE_BINARY_DIR}/ssg-${PRODUCT}-xccdf.xml"
@@ -1314,7 +1305,24 @@ macro(ssg_build_html_stig_tables PRODUCT STIG_PROFILE)
install(FILES "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-stig.html"
DESTINATION "${SSG_TABLE_INSTALL_DIR}")
- install(FILES "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-stig-testinfo.html"
+endmacro()
+
+macro(ssg_build_html_stig_tables_per_profile PRODUCT STIG_PROFILE)
+ add_custom_command(
+ OUTPUT "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-${STIG_PROFILE}-testinfo.html"
+ COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_BINARY_DIR}/tables"
+ COMMAND "${XSLTPROC_EXECUTABLE}" -stringparam profile "${STIG_PROFILE}" -stringparam testinfo "y" --output "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-${STIG_PROFILE}-testinfo.html" "${CMAKE_CURRENT_SOURCE_DIR}/transforms/xccdf2table-profileccirefs.xslt" "${CMAKE_BINARY_DIR}/ssg-${PRODUCT}-xccdf.xml"
+ DEPENDS generate-ssg-${PRODUCT}-xccdf.xml
+ DEPENDS "${CMAKE_BINARY_DIR}/ssg-${PRODUCT}-xccdf.xml"
+ DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/transforms/xccdf2table-profileccirefs.xslt"
+ COMMENT "[${PRODUCT}-tables] generating HTML STIG test info document for ${STIG_PROFILE}"
+ )
+ add_custom_target(
+ generate-${PRODUCT}-table-stig_per_profile_${STIG_PROFILE}
+ DEPENDS "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-${STIG_PROFILE}-testinfo.html"
+ )
+ add_dependencies(${PRODUCT}-tables generate-${PRODUCT}-table-stig_per_profile_${STIG_PROFILE})
+ install(FILES "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-${STIG_PROFILE}-testinfo.html"
DESTINATION "${SSG_TABLE_INSTALL_DIR}")
endmacro()
From de98bf43851584a67818ec7559c49d41bf163f60 Mon Sep 17 00:00:00 2001
From: Vojtech Polasek <vpolasek@redhat.com>
Date: Wed, 30 Jun 2021 11:31:42 +0200
Subject: [PATCH 2/3] use new macro in rhel products
---
rhel7/CMakeLists.txt | 4 +++-
rhel8/CMakeLists.txt | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/rhel7/CMakeLists.txt b/rhel7/CMakeLists.txt
index 3ac5d73110..60e90f5b22 100644
--- a/rhel7/CMakeLists.txt
+++ b/rhel7/CMakeLists.txt
@@ -30,7 +30,9 @@ ssg_build_html_cce_table(${PRODUCT})
ssg_build_html_srgmap_tables(${PRODUCT} "stig" ${DISA_SRG_TYPE})
-ssg_build_html_stig_tables(${PRODUCT} "stig")
+ssg_build_html_stig_tables(${PRODUCT})
+ssg_build_html_stig_tables_per_profile( ${PRODUCT} "stig")
+ssg_build_html_stig_tables_per_profile( ${PRODUCT} "stig_gui")
if (SSG_CENTOS_DERIVATIVES_ENABLED)
ssg_build_derivative_product(${PRODUCT} "centos" "centos7")
diff --git a/rhel8/CMakeLists.txt b/rhel8/CMakeLists.txt
index 01bf1e723f..f0ce1eb4ed 100644
--- a/rhel8/CMakeLists.txt
+++ b/rhel8/CMakeLists.txt
@@ -27,7 +27,8 @@ ssg_build_html_cce_table(${PRODUCT})
ssg_build_html_srgmap_tables(${PRODUCT} "stig" ${DISA_SRG_TYPE})
-ssg_build_html_stig_tables(${PRODUCT} "stig")
+ssg_build_html_stig_tables(${PRODUCT})
+ssg_build_html_stig_tables_per_profile( ${PRODUCT} "stig")
#ssg_build_html_stig_tables(${PRODUCT} "ospp")
From 0e4fb5e3dd4b5c71931950720aa81aede980869b Mon Sep 17 00:00:00 2001
From: Vojtech Polasek <vpolasek@redhat.com>
Date: Wed, 30 Jun 2021 11:32:07 +0200
Subject: [PATCH 3/3] use new macro in non-rhel products
---
ol7/CMakeLists.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletions(-)
diff --git a/ol7/CMakeLists.txt b/ol7/CMakeLists.txt
index 2653a28fa5..df65566943 100644
--- a/ol7/CMakeLists.txt
+++ b/ol7/CMakeLists.txt
@@ -16,4 +16,5 @@ ssg_build_html_table_by_ref(${PRODUCT} "ospp")
ssg_build_html_nistrefs_table(${PRODUCT} "standard")
ssg_build_html_nistrefs_table(${PRODUCT} "stig")
-ssg_build_html_stig_tables(${PRODUCT} "stig")
+ssg_build_html_stig_tables(${PRODUCT})
+ssg_build_html_stig_tables_per_profile( ${PRODUCT} "stig")