From 836ccfcbb2e740b268ff715e727d4a16fe4f6d4a Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Thu, 14 Nov 2024 17:45:26 +0100 Subject: [PATCH] Don't build HTML documentation. Add lldb man pages. * Install a redirection index.html page to point users to the upstream HTML documentation. * Remove myst parser patch for RHEL. * Remove -DLLVM_INCLUDE_DOCS * Add lldb man-pages --- ...move-myst_parser-dependency-for-RHEL.patch | 41 ---------- ...move-myst_parser-dependency-for-RHEL.patch | 43 ---------- llvm.spec | 81 ++++++++++++------- 3 files changed, 51 insertions(+), 114 deletions(-) delete mode 100644 0001-19-Remove-myst_parser-dependency-for-RHEL.patch delete mode 100644 0001-20-Remove-myst_parser-dependency-for-RHEL.patch diff --git a/0001-19-Remove-myst_parser-dependency-for-RHEL.patch b/0001-19-Remove-myst_parser-dependency-for-RHEL.patch deleted file mode 100644 index d1df528..0000000 --- a/0001-19-Remove-myst_parser-dependency-for-RHEL.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d8742e9b361e5fd6fee2298b8ea0aeb4671ec05a Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Wed, 22 May 2024 09:39:26 +0200 -Subject: [PATCH] Remove myst_parser dependency for RHEL - ---- - clang/docs/conf.py | 3 +-- - llvm/docs/conf.py | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/clang/docs/conf.py b/clang/docs/conf.py -index 4cee382a718f..d2e2198e05d4 100644 ---- a/clang/docs/conf.py -+++ b/clang/docs/conf.py -@@ -43,8 +43,7 @@ try: - - extensions.append("myst_parser") - except ImportError: -- if not tags.has("builder-man"): -- raise -+ pass - - - # The encoding of source files. -diff --git a/llvm/docs/conf.py b/llvm/docs/conf.py -index 7f2ed5309606..354a41f11280 100644 ---- a/llvm/docs/conf.py -+++ b/llvm/docs/conf.py -@@ -36,8 +36,7 @@ try: - - extensions.append("myst_parser") - except ImportError: -- if not tags.has("builder-man"): -- raise -+ pass - - # Automatic anchors for markdown titles - from llvm_slug import make_slug --- -2.44.0 - diff --git a/0001-20-Remove-myst_parser-dependency-for-RHEL.patch b/0001-20-Remove-myst_parser-dependency-for-RHEL.patch deleted file mode 100644 index 0697d1e..0000000 --- a/0001-20-Remove-myst_parser-dependency-for-RHEL.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 50cd36c2156d375a6d50f661908b460fbbd22e78 Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Wed, 22 May 2024 09:39:26 +0200 -Subject: [PATCH] Remove myst_parser dependency for RHEL - ---- - clang/docs/conf.py | 3 +-- - llvm/docs/conf.py | 5 +---- - 2 files changed, 2 insertions(+), 6 deletions(-) - -diff --git a/clang/docs/conf.py b/clang/docs/conf.py -index 4cee382a718f..d2e2198e05d4 100644 ---- a/clang/docs/conf.py -+++ b/clang/docs/conf.py -@@ -43,8 +43,7 @@ try: - - extensions.append("myst_parser") - except ImportError: -- if not tags.has("builder-man"): -- raise -+ pass - - - # The encoding of source files. -diff --git a/llvm/docs/conf.py b/llvm/docs/conf.py -index d9fa6961032b..e38c009a457d 100644 ---- a/llvm/docs/conf.py -+++ b/llvm/docs/conf.py -@@ -36,10 +36,7 @@ try: - - extensions.append("myst_parser") - except ImportError: -- if not tags.has("builder-man"): -- raise --else: -- myst_enable_extensions = ["substitution"] -+ pass - - # Automatic anchors for markdown titles - myst_heading_anchors = 6 --- -2.46.0 - diff --git a/llvm.spec b/llvm.spec index 0142711..0d79f49 100644 --- a/llvm.spec +++ b/llvm.spec @@ -182,7 +182,7 @@ #region main package Name: %{pkg_name_llvm} Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}} -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Low Level Virtual Machine License: Apache-2.0 WITH LLVM-exception OR NCSA @@ -261,13 +261,6 @@ Patch2000: 0001-19-Always-build-shared-libs-for-LLD.patch #endregion LLD patches #region RHEL patches -# All RHEL -%if %{maj_ver} >= 20 -Patch500: 0001-20-Remove-myst_parser-dependency-for-RHEL.patch -%else -Patch500: 0001-19-Remove-myst_parser-dependency-for-RHEL.patch -%endif - # RHEL 8 only Patch501: 0001-Fix-page-size-constant-on-aarch64-and-ppc64le.patch #endregion RHEL patches @@ -803,13 +796,9 @@ The package contains the LLDB Python module. # automatically apply patches based on LLVM version %autopatch -m%{maj_ver}00 -M%{maj_ver}99 -p1 -%if %{defined rhel} -%patch -p1 -P500 - -%if %{rhel} == 8 +%if %{defined rhel} && 0%{?rhel} == 8 %patch -p1 -P501 %endif -%endif #region LLVM preparation @@ -844,10 +833,6 @@ The package contains the LLDB Python module. #endregion COMPILER-RT preparation -#region LLDB preparation -# Empty lldb/docs/CMakeLists.txt because we cannot build it -echo "" > lldb/docs/CMakeLists.txt -#endregion LLDB preparation #endregion prep #region build @@ -929,14 +914,20 @@ popd #endregion compiler-rt options #region docs options + +# Add all *enabled* documentation targets (no doxygen but sphinx) %global cmake_config_args %{cmake_config_args} \\\ - -DLLVM_BUILD_DOCS:BOOL=ON \\\ - -DLLVM_ENABLE_SPHINX:BOOL=ON \\\ - -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \\\ - -DSPHINX_WARNINGS_AS_ERRORS=OFF \\\ -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \\\ - -DLLVM_INCLUDE_DOCS:BOOL=ON \\\ - -DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html + -DLLVM_ENABLE_SPHINX:BOOL=ON \\\ + -DLLVM_BUILD_DOCS:BOOL=ON + +# Configure sphinx: +# Build man-pages but no HTML docs using sphinx +%global cmake_config_args %{cmake_config_args} \\\ + -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \\\ + -DSPHINX_OUTPUT_HTML:BOOL=OFF \\\ + -DSPHINX_OUTPUT_MAN:BOOL=ON \\\ + -DSPHINX_WARNINGS_AS_ERRORS=OFF #endregion docs options #region lldb options @@ -1193,6 +1184,35 @@ done mkdir -p %{buildroot}%{pkg_datadir}/llvm/cmake cp -Rv cmake/* %{buildroot}%{pkg_datadir}/llvm/cmake +# Install a placeholder to redirect users of the formerly shipped +# HTML documentation to the upstream HTML documentation. +mkdir -pv %{buildroot}%{_pkgdocdir}/html +cat < %{buildroot}%{_pkgdocdir}/html/index.html + + + + LLVM %{maj_ver}.%{min_ver} documentation + + +

+ LLVM %{maj_ver}.%{min_ver} Documentation +

+ + + +EOF + #endregion LLVM installation #region CLANG installation @@ -1270,9 +1290,7 @@ chmod a+x %{buildroot}%{install_datadir}/scan-view/{Reporter.py,startfile.py} rm -vf %{buildroot}%{install_datadir}/clang/clang-format-bbedit.applescript rm -vf %{buildroot}%{install_datadir}/clang/clang-format-sublime.py* -# TODO: Package html docs -rm -Rvf %{buildroot}%{install_docdir}/LLVM/clang/html -rm -Rvf %{buildroot}%{install_docdir}/LLVM/clang-tools/html +# Remove unpackaged files rm -Rvf %{buildroot}%{install_datadir}/clang-doc/clang-doc-default-stylesheet.css rm -Rvf %{buildroot}%{install_datadir}/clang-doc/index.js @@ -1361,9 +1379,6 @@ rm %{buildroot}%{install_bindir}/llvm-omp-kernel-replay #region LLD installation -# Remove LLD's HTML documentation files -rm -Rvf %{buildroot}%{install_docdir}/LLVM/lld/html - %if %{without compat_build} # Required when using update-alternatives: # https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/ @@ -2086,7 +2101,7 @@ fi %files -n %{pkg_name_llvm}-doc %license llvm/LICENSE.TXT -%doc %{_pkgdocdir}/html +%doc %{_pkgdocdir}/html/index.html %files -n %{pkg_name_llvm}-static %license llvm/LICENSE.TXT @@ -2463,6 +2478,8 @@ fi %{install_libdir}/liblldb*.so %{install_libdir}/liblldb.so.* %{install_libdir}/liblldbIntelFeatures.so.* +%{_mandir}/man1/lldb-server%{exec_suffix}.1.gz +%{_mandir}/man1/lldb%{exec_suffix}.1.gz %if %{with bundle_compat_lib} %{_libdir}/liblldb.so.%{compat_maj_ver}* %endif @@ -2478,6 +2495,10 @@ fi #region changelog %changelog +* Tue Nov 19 2024 Konrad Kleine - 19.1.3-4 +- Remove HTML documentation +- Add lldb man pages + * Mon Nov 18 2024 Josh Stone - 19.1.3-3 - Fix profiling after a binutils NOTE change (rhbz#2322754)