diff options
author | Gerald Combs <gerald@wireshark.org> | 2014-12-10 16:50:56 -0800 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2014-12-11 21:41:44 +0000 |
commit | 1ce64e75ab4ac16e00cd664599b9b31c57a59f1a (patch) | |
tree | d76a4c48fddb78edf03d3661ad38ea3377b78264 | |
parent | 425bc304fea88e8136c69d282547fba502b28708 (diff) |
CMake: Make it easier to generate the release notes & NEWS.
Add convenience targets for generating the release notes and the NEWS
file. Make sure we don't run multiple instances of a2x + AsciiDoc at the
same time.
Add the docbook directory to the build by default unless we're running
Windows. Explain why we don't yet build docs on Windows. Make each
docbook makefile target optional.
Split the ENABLE_GUIDES option into ENABLE_HTML_GUIDES and
ENABLE_PDF_GUIDES. Add a default "all_guides" target if either is on.
Remove the Debian patch that hacked around the PDF requirement.
Copy ws.css to the docbook build directory. Don't build PDF release
notes. I'm not sure we ever used them and I don't want to install Java
and FOP just to make a release.
Change-Id: Ia2f710000c17f9e0b4b514fd373d9a5902889553
Reviewed-on: https://code.wireshark.org/review/5712
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
-rw-r--r-- | CMakeLists.txt | 11 | ||||
-rw-r--r-- | CMakeOptions.txt | 3 | ||||
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | NEWS | 52 | ||||
-rw-r--r-- | README.cmake | 3 | ||||
-rw-r--r-- | cmake/modules/FindASCIIDOC.cmake | 21 | ||||
-rw-r--r-- | debian/patches/01_Disable-building-documentation-in-PDF-and-release-no.patch | 48 | ||||
-rw-r--r-- | debian/patches/series | 1 | ||||
-rwxr-xr-x | debian/rules | 2 | ||||
-rw-r--r-- | docbook/CMakeLists.txt | 94 |
10 files changed, 108 insertions, 128 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index bc0234b9fd..db1440c934 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -619,7 +619,7 @@ set(PACKAGELIST ${PACKAGELIST} YAPP) set(PACKAGELIST ${PACKAGELIST} POD) -if(ENABLE_GUIDES) +if(ENABLE_HTML_GUIDES) set(PACKAGELIST ${PACKAGELIST} DOXYGEN) endif() @@ -849,6 +849,11 @@ add_subdirectory( asn1 EXCLUDE_FROM_ALL ) add_subdirectory( capchild ) add_subdirectory( caputils ) add_subdirectory( codecs ) +if (NOT WIN32) + # Some work will be required for Windows. See the notes at the top + # of FindASCIIDOC.cmake. + add_subdirectory( docbook ) +endif() add_subdirectory( epan ) add_subdirectory( tools/lemon ) add_subdirectory( ui ) @@ -876,10 +881,6 @@ endif() set(DOC_DIR "$ENV{docdir}" CACHE FILEPATH "Installation directory for ug and dg pdfs.") message(STATUS "docdir: ${DOC_DIR}") -if(ENABLE_GUIDES) - add_subdirectory( docbook ) -endif() - if(ENABLE_PCAP_NG_DEFAULT) set(PCAP_NG_DEFAULT 1) endif() diff --git a/CMakeOptions.txt b/CMakeOptions.txt index 1339679799..d813d2d60d 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -46,7 +46,8 @@ option(ENABLE_STATIC "Build a static version of Wireshark (not yet working)" option(ENABLE_ECHLD "Enable echld support" OFF) option(ENABLE_PLUGINS "Build with plugins" ON) option(ENABLE_EXTCAP "Build with extcap hooks" ON) -option(ENABLE_GUIDES "Build Guides" OFF) +option(ENABLE_HTML_GUIDES "Build HTML User & Developer Guides" OFF) +option(ENABLE_PDF_GUIDES "Build PDF User & Developer Guides" OFF) option(ENABLE_PCAP_NG_DEFAULT "Enable pcap-ng as default file format" ON) option(ENABLE_ADNS "Build with adns support" ON) diff --git a/Makefile.am b/Makefile.am index a2a5a0e3fc..4ccae65ae9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -784,7 +784,6 @@ EXTRA_DIST = \ debian/libwsutil0.install \ debian/libwsutil0.symbols \ debian/license-text-about-dialog \ - debian/patches/01_Disable-building-documentation-in-PDF-and-release-no.patch \ debian/patches/04_asn2wrs_ply.patch \ debian/patches/05_note-README-when-running-as-root.patch \ debian/patches/06_release-version.patch \ @@ -1,4 +1,4 @@ - Wireshark 1.99.1 Release Notes + Wireshark 1.99.2 Release Notes This is an experimental release intended to test new features for Wireshark 2.0. @@ -28,6 +28,8 @@ What's New + The Summary dialog has been updated and renamed to Capture File Properties. + The VoIP Calls and SIP Flows dialogs have been added. + + Support for HiDPI / Retina displays has been improved in the + official packages. The following features are new (or have been significantly updated) since version 1.12.0: @@ -114,41 +116,38 @@ Known Problems Filtering tshark captures with read filters (-R) no longer works. ([6]Bug 2234) - The 64-bit Windows installer does not support Kerberos decryption. - ([7]Win64 development page) - - Resolving ([8]Bug 9044) reopens ([9]Bug 3528) so that Wireshark no + Resolving ([7]Bug 9044) reopens ([8]Bug 3528) so that Wireshark no longer automatically decodes gzip data when following a TCP stream. - Application crash when changing real-time option. ([10]Bug 4035) + Application crash when changing real-time option. ([9]Bug 4035) - Hex pane display issue after startup. ([11]Bug 4056) + Hex pane display issue after startup. ([10]Bug 4056) - Packet list rows are oversized. ([12]Bug 4357) + Packet list rows are oversized. ([11]Bug 4357) Wireshark and TShark will display incorrect delta times in some cases. - ([13]Bug 4985) + ([12]Bug 4985) The 64-bit version of Wireshark will leak memory on Windows when the - display depth is set to 16 bits ([14]Bug 9914) + display depth is set to 16 bits ([13]Bug 9914) __________________________________________________________________ Getting Help - Community support is available on [15]Wireshark's Q&A site and on the + Community support is available on [14]Wireshark's Q&A site and on the wireshark-users mailing list. Subscription information and archives for - all of Wireshark's mailing lists can be found on [16]the web site. + all of Wireshark's mailing lists can be found on [15]the web site. Official Wireshark training and certification are available from - [17]Wireshark University. + [16]Wireshark University. __________________________________________________________________ Frequently Asked Questions - A complete FAQ is available on the [18]Wireshark web site. + A complete FAQ is available on the [17]Wireshark web site. __________________________________________________________________ - Last updated 2014-12-10 17:18:06 UTC + Last updated 2014-12-10 19:56:16 UTC References @@ -158,15 +157,14 @@ References 4. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1516 5. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1814 6. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2234 - 7. http://wiki.wireshark.org/Development/Win64 - 8. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9044 - 9. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3528 - 10. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4035 - 11. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4056 - 12. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4357 - 13. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4985 - 14. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9914 - 15. http://ask.wireshark.org/ - 16. https://www.wireshark.org/lists/ - 17. http://www.wiresharktraining.com/ - 18. https://www.wireshark.org/faq.html + 7. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9044 + 8. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3528 + 9. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4035 + 10. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4056 + 11. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4357 + 12. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4985 + 13. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9914 + 14. http://ask.wireshark.org/ + 15. https://www.wireshark.org/lists/ + 16. http://www.wiresharktraining.com/ + 17. https://www.wireshark.org/faq.html diff --git a/README.cmake b/README.cmake index 199c932284..8b7a0cf188 100644 --- a/README.cmake +++ b/README.cmake @@ -48,7 +48,8 @@ Note 1: -DENABLE_GTK3=OFF # Build documentation - -DENABLE_GUIDES=ON + -DENABLE_HTML_GUIDES=ON + -DENABLE_PDF_GUIDES=ON # Make ccache and clang work together -DCMAKE_C_FLAGS='-Qunused-arguments' diff --git a/cmake/modules/FindASCIIDOC.cmake b/cmake/modules/FindASCIIDOC.cmake index 16fe730e02..d957aec51c 100644 --- a/cmake/modules/FindASCIIDOC.cmake +++ b/cmake/modules/FindASCIIDOC.cmake @@ -3,6 +3,13 @@ # This module looks for some usual Unix commands. # +# XXX Trying to get this to work with Cygwin is going to be problematic. +# /usr/bin/a2x is a symlink to /usr/bin/a2x.py. I.e. we can't just call +# directly from Windows. +# Possible solutions: +# - Call a2x.py instead. +# - Wait for someone to create Chocolatey AsciiDoc + DocBook packages + INCLUDE(FindCygwin) FIND_PROGRAM(A2X_EXECUTABLE @@ -44,9 +51,9 @@ MACRO( ASCIIDOC2HTML _output _asciidocsource _conf_files ) ENDFOREACH() ADD_CUSTOM_COMMAND( - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT ${_output} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${A2X_EXECUTABLE} --format=xhtml --destination-dir=${CMAKE_CURRENT_BINARY_DIR} @@ -55,7 +62,7 @@ MACRO( ASCIIDOC2HTML _output _asciidocsource _conf_files ) ${A2X_HTML_OPTS} ${_asciidocsource} # Replacing file with itself will fail - # COMMAND mv + # COMMAND ${CMAKE_COMMAND} -E rename # ${CMAKE_CURRENT_BINARY_DIR}/${_source_base_name}.html # ${CMAKE_CURRENT_BINARY_DIR}/${_output} DEPENDS @@ -87,9 +94,9 @@ MACRO( ASCIIDOC2TXT _output _asciidocsource _conf_files ) ENDFOREACH() ADD_CUSTOM_COMMAND( - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT ${_output} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND TZ=UTC ${A2X_EXECUTABLE} --format=text --destination-dir=${CMAKE_CURRENT_BINARY_DIR} @@ -98,7 +105,7 @@ MACRO( ASCIIDOC2TXT _output _asciidocsource _conf_files ) ${A2X_TEXT_OPTS} --xsltproc-opts '--stringparam generate.toc "article nop"' ${_asciidocsource} - COMMAND mv + COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_CURRENT_BINARY_DIR}/${_source_base_name}.text ${CMAKE_CURRENT_BINARY_DIR}/${_output} DEPENDS @@ -108,7 +115,7 @@ MACRO( ASCIIDOC2TXT _output _asciidocsource _conf_files ) ENDMACRO() # news: release-notes.txt -# cp release-notes.txt ../NEWS +# ${CMAKE_COMMAND} -E copy_if_different release-notes.txt ../NEWS MACRO( ASCIIDOC2PDF _output _asciidocsource _conf_files _paper ) GET_FILENAME_COMPONENT( _source_base_name ${_asciidocsource} NAME_WE ) @@ -127,9 +134,9 @@ MACRO( ASCIIDOC2PDF _output _asciidocsource _conf_files _paper ) ENDFOREACH() ADD_CUSTOM_COMMAND( - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT ${_output} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${A2X_EXECUTABLE} --format=pdf --destination-dir=${CMAKE_CURRENT_BINARY_DIR} @@ -139,7 +146,7 @@ MACRO( ASCIIDOC2PDF _output _asciidocsource _conf_files _paper ) --xsltproc-opts "--stringparam paper.type ${_paper} --nonet" --xsl-file=custom_layer_pdf.xsl ${_asciidocsource} - COMMAND mv + COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_CURRENT_BINARY_DIR}/${_source_base_name}.pdf ${CMAKE_CURRENT_BINARY_DIR}/${_output} DEPENDS diff --git a/debian/patches/01_Disable-building-documentation-in-PDF-and-release-no.patch b/debian/patches/01_Disable-building-documentation-in-PDF-and-release-no.patch deleted file mode 100644 index 5702f250b9..0000000000 --- a/debian/patches/01_Disable-building-documentation-in-PDF-and-release-no.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 2c646fef768917a94e2147aab2eff45899a0f9b3 Mon Sep 17 00:00:00 2001 -From: Balint Reczey <balint@balintreczey.hu> -Date: Fri, 30 May 2014 09:30:15 +0700 -Subject: [PATCH] Disable building documentation in PDF and release notes in - HTML - -Change-Id: I86b3bae00d9e08fbe5c5e04ccc3db8f4e4734dbf ---- - docbook/CMakeLists.txt | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - ---- a/docbook/CMakeLists.txt -+++ b/docbook/CMakeLists.txt -@@ -332,8 +332,8 @@ - wsluarm - wsug_html_chunked/index.html - wsug_html/index.html -- user-guide-a4.pdf -- user-guide-us.pdf -+# user-guide-a4.pdf -+# user-guide-us.pdf - ) - - VALIDATE_XML( -@@ -381,8 +381,8 @@ - wsluarm - wsdg_html_chunked/index.html - wsdg_html/index.html -- developer-guide-a4.pdf -- developer-guide-us.pdf -+# developer-guide-a4.pdf -+# developer-guide-us.pdf - ) - - VALIDATE_XML( -@@ -425,10 +425,10 @@ - add_custom_target( - release_notes ALL - DEPENDS -- release-notes.html -+# release-notes.html - release-notes.txt -- release-notes-a4.pdf -- release-notes-us.pdf -+# release-notes-a4.pdf -+# release-notes-us.pdf - ${CMAKE_SOURCE_DIR}/NEWS - ) diff --git a/debian/patches/series b/debian/patches/series index b6e36631c0..516fe3cff4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,4 +1,3 @@ -01_Disable-building-documentation-in-PDF-and-release-no.patch 04_asn2wrs_ply.patch 05_note-README-when-running-as-root.patch 06_release-version.patch diff --git a/debian/rules b/debian/rules index a3511f1468..171d2596b9 100755 --- a/debian/rules +++ b/debian/rules @@ -17,7 +17,7 @@ export docdir = /usr/share/doc/wireshark-doc dh $@ --with python2 --buildsystem cmake --with quilt # --parallel override_dh_auto_configure: - dh_auto_configure -- -DENABLE_GUIDES=ON -DCMAKE_INSTALL_LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) \ + dh_auto_configure -- -DENABLE_HTML_GUIDES=ON -DCMAKE_INSTALL_LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) \ -DENABLE_QT5=OFF override_dh_auto_build: diff --git a/docbook/CMakeLists.txt b/docbook/CMakeLists.txt index 58509950d4..be3fdba52d 100644 --- a/docbook/CMakeLists.txt +++ b/docbook/CMakeLists.txt @@ -215,6 +215,13 @@ set(WSUG_SOURCE set( ASCIIDOC_CONF_FILES asciidoc.conf asciidoctor-asciidoc.conf ) +add_custom_command( + OUTPUT ws.css + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/ws.css + ${CMAKE_CURRENT_BINARY_DIR}/ws.css +) + MACRO( ASCIIDOC2DOCBOOK _asciidocsource _conf_files ) GET_FILENAME_COMPONENT( _source_base_name ${_asciidocsource} NAME_WE ) set( A2X_HTML_OPTS --stylesheet=ws.css ) @@ -288,13 +295,19 @@ ADD_CUSTOM_COMMAND( ${CMAKE_CURRENT_SOURCE_DIR}/check_git_version.sh ) +if(ENABLE_HTML_GUIDES) + set(WSUG_HTML_OUTPUT wsug_html_chunked/index.html wsug_html/index.html) +endif() + +if(ENABLE_PDF_GUIDES) + set(WSUG_PDF_OUTPUT user-guide-a4.pdf user-guide-us.pdf) +endif() + add_custom_target( - user_guides ALL + user_guides DEPENDS - wsug_html_chunked/index.html - wsug_html/index.html - user-guide-a4.pdf - user-guide-us.pdf + ${WSUG_HTML_OUTPUT} + ${WSUG_PDF_OUTPUT} ) VALIDATE_XML( @@ -334,14 +347,20 @@ XML2PDF( letter ) +if(ENABLE_HTML_GUIDES) + set(WSDG_HTML_OUTPUT wsdg_html_chunked/index.html wsdg_html/index.html) +endif() + +if(ENABLE_PDF_GUIDES) + set(WSDG_PDF_OUTPUT developer-guide-a4.pdf developer-guide-us.pdf) +endif() + add_custom_target( - developer_guides ALL + developer_guides DEPENDS wsluarm - wsdg_html_chunked/index.html - wsdg_html/index.html - developer-guide-a4.pdf - developer-guide-us.pdf + ${WSDG_HTML_OUTPUT} + ${WSDG_PDF_OUTPUT} ) VALIDATE_XML( @@ -377,22 +396,25 @@ XML2PDF( letter ) +if(ENABLE_HTML_GUIDES OR ENABLE_PDF_GUIDES) + add_custom_target( all_guides ALL ) + add_dependencies ( all_guides user_guides developer_guides ) +endif() + # release_notes: release-notes.html release-notes.txt release-notes-a4.pdf release-notes-us.pdf -add_custom_target( - release_notes ALL - DEPENDS - release-notes.html - release-notes.txt - release-notes-a4.pdf - release-notes-us.pdf - ${CMAKE_SOURCE_DIR}/NEWS -) +add_custom_target( release_notes_html DEPENDS ws.css release-notes.html ) +add_custom_target( release_notes_txt DEPENDS release-notes.txt ) -ADD_CUSTOM_COMMAND( - OUTPUT - ${CMAKE_SOURCE_DIR}/NEWS - COMMAND cp +# Force serial execution so that separate a2x instances don't trip on each other +add_dependencies ( release_notes_txt release_notes_html ) + +add_custom_target( release_notes ) +add_dependencies ( release_notes release_notes_txt release_notes_html ) + +add_custom_target( + news + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/release-notes.txt ${CMAKE_SOURCE_DIR}/NEWS DEPENDS @@ -411,19 +433,19 @@ ASCIIDOC2TXT( "${ASCIIDOC_CONF_FILES}" ) -ASCIIDOC2PDF( - release-notes-a4.pdf - release-notes.asciidoc - "${ASCIIDOC_CONF_FILES}" - A4 -) - -ASCIIDOC2PDF( - release-notes-us.pdf - release-notes.asciidoc - "${ASCIIDOC_CONF_FILES}" - letter -) +#ASCIIDOC2PDF( +# release-notes-a4.pdf +# release-notes.asciidoc +# "${ASCIIDOC_CONF_FILES}" +# A4 +#) + +#ASCIIDOC2PDF( +# release-notes-us.pdf +# release-notes.asciidoc +# "${ASCIIDOC_CONF_FILES}" +# letter +#) # wsluarm ADD_CUSTOM_COMMAND( |