From 3cd608170b99492bdd5fe3b7b8e7db61af199845 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Thu, 9 Aug 2018 09:59:06 +0200
Subject: [PATCH] Disable build of manpages and documentation

This patch fixes a bug described in an upstream bug report
https://bugzilla.samba.org/show_bug.cgi?id=9515
which was closed as WONTFIX by disabling the build of manpages and
documentation.

If installed on the host, samba4 uses the docbook-xsl package to build
parts of the documentation. This package is broken, on Debian for
example the bug reported to samba4 was fixed in the docbook-xsl package:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765567

Since we do not provide a host version of docbook-xsl we need to disable
the build of manpages and documentation.

Patch was downloaded from
https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/network/samba/patches/samba-950-no-man.patch

[Bernd: rebased for samba-4.8.5]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 buildtools/wafsamba/wafsamba.py | 10 ++++-----
 docs-xml/wscript_build          | 40 ++++++++++++++++-----------------
 source4/scripting/wscript_build |  4 ++--
 3 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 4bb19d070e2..a255d841111 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -335,9 +335,9 @@ def SAMBA_LIBRARY(bld, libname, source,
         else:
             bld.PKG_CONFIG_FILES(pc_files, vnum=vnum)
 
-    if (manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and
-        bld.env['XSLTPROC_MANPAGES']):
-        bld.MANPAGES(manpages, install)
+#    if (manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and
+#        bld.env['XSLTPROC_MANPAGES']):
+#        bld.MANPAGES(manpages, install)
 
 
 Build.BuildContext.SAMBA_LIBRARY = SAMBA_LIBRARY
@@ -442,8 +442,8 @@ def SAMBA_BINARY(bld, binname, source,
         samba_ldflags  = pie_ldflags
         )
 
-    if manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']:
-        bld.MANPAGES(manpages, install)
+#    if manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']:
+#        bld.MANPAGES(manpages, install)
 
 Build.BuildContext.SAMBA_BINARY = SAMBA_BINARY
 
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index ec5d28fc62a..f81c125bcd4 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -148,23 +148,23 @@ bld.SAMBA_GENERATOR(parameter_all,
                     rule=smbdotconf_generate_parameter_list,
                     dep_vars=bld.dynconfig_varnames())
 
-def SMBDOTCONF_MANPAGE(bld, target):
-    ''' assemble and build smb.conf.5 manual page'''
-    bld.SAMBAMANPAGES(target, parameter_all)
-
-if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']):
-
-    SMBDOTCONF_MANPAGE(bld, 'manpages/smb.conf.5')
-    bld.SAMBAMANPAGES(manpages)
-
-    if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'):
-        bld.SAMBAMANPAGES(pam_winbind_manpages)
-
-    if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'):
-        bld.SAMBAMANPAGES(krb5_locator_manpages)
-
-    if bld.CONFIG_SET('HAVE_KRB5_LOCALAUTH_PLUGIN_H'):
-        bld.SAMBAMANPAGES(krb5_localauth_manpages)
-
-    if bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'):
-        bld.SAMBAMANPAGES('manpages/vfs_zfsacl.8')
+#def SMBDOTCONF_MANPAGE(bld, target):
+#    ''' assemble and build smb.conf.5 manual page'''
+#    bld.SAMBAMANPAGES(target, parameter_all)
+#
+#if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']):
+#
+#    SMBDOTCONF_MANPAGE(bld, 'manpages/smb.conf.5')
+#    bld.SAMBAMANPAGES(manpages)
+#
+#    if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'):
+#        bld.SAMBAMANPAGES(pam_winbind_manpages)
+#
+#    if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'):
+#        bld.SAMBAMANPAGES(krb5_locator_manpages)
+#
+#    if bld.CONFIG_SET('HAVE_KRB5_LOCALAUTH_PLUGIN_H'):
+#        bld.SAMBAMANPAGES(krb5_localauth_manpages)
+#
+#    if bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'):
+#        bld.SAMBAMANPAGES('manpages/vfs_zfsacl.8')
diff --git a/source4/scripting/wscript_build b/source4/scripting/wscript_build
index 2f53cce12b7..9841ae0a116 100644
--- a/source4/scripting/wscript_build
+++ b/source4/scripting/wscript_build
@@ -12,8 +12,8 @@ if sbin_files:
     bld.INSTALL_FILES('${SBINDIR}',
                       sbin_files,
                       chmod=MODE_755, python_fixup=True, flat=True)
-    if 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']:
-        bld.MANPAGES(man_files, True)
+#    if 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']:
+#        bld.MANPAGES(man_files, True)
 
 if bld.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
     bld.INSTALL_FILES('${BINDIR}',
-- 
2.18.0

