[SCM] Samba Shared Repository - branch master updated
Andreas Schneider
asn at samba.org
Wed Jun 22 16:44:02 UTC 2022
The branch, master has been updated
via 9788e92bf12 build: Ensure that SAMBA_GENERATOR() tasks fail on error
via 6f96bb40e79 docs: Show current system path for smb.conf in &smb.conf entity
via 45094bd8913 docs-xml: Use &pathconfig.WINBINDD_SOCKET_DIR; to avoid reference to old /tmp/.winbindd
via f3de9f6c2e0 build: Allow &pathconfig XML entities to be used in all manpages, not just smb.conf
from f68374aac54 lib:cmdline: Fix error handling of --client-protection=sign|encrypt|off
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 9788e92bf1251b4791ca84e83aa9437101e7d436
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Jun 21 19:23:26 2022 +1200
build: Ensure that SAMBA_GENERATOR() tasks fail on error
Previously the error from inside the shell was eaten.
This showed up particularly as a failure to notice errors when running xsltproc
to build the manpages.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
Autobuild-Date(master): Wed Jun 22 16:43:30 UTC 2022 on sn-devel-184
commit 6f96bb40e79574af2cd5579557c196be07b5c9f2
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Jun 21 11:44:04 2022 +1200
docs: Show current system path for smb.conf in &smb.conf entity
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
commit 45094bd891318f650ac5f0a1bb88e9cbb08729fd
Author: Andrew Bartlett <abartlet at samba.org>
Date: Mon Jun 20 14:35:19 2022 +1200
docs-xml: Use &pathconfig.WINBINDD_SOCKET_DIR; to avoid reference to old /tmp/.winbindd
We can now write docs that follow how the software on this system was
built, which is much less confusing for users. Also /tmp/.winbindd
has not been used for a long time.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15101
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
commit f3de9f6c2e004caab3c410b70c9a7424d5dc8627
Author: Andrew Bartlett <abartlet at samba.org>
Date: Mon Jun 20 14:34:05 2022 +1200
build: Allow &pathconfig XML entities to be used in all manpages, not just smb.conf
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15101
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
-----------------------------------------------------------------------
Summary of changes:
buildtools/wafsamba/wafsamba.py | 13 ++++++--
docs-xml/Makefile | 10 ++++--
docs-xml/build/DTD/samba-doc | 5 +++
docs-xml/build/DTD/samba.entities | 2 +-
...-file-list.sh => generate-pathconf-entities.sh} | 24 +++------------
docs-xml/manpages/idmap_hash.8.xml | 2 +-
docs-xml/manpages/idmap_ldap.8.xml | 2 +-
docs-xml/manpages/idmap_script.8.xml | 2 +-
docs-xml/manpages/libsmbclient.7.xml | 2 +-
docs-xml/manpages/net.8.xml | 20 ++++++------
docs-xml/manpages/winbindd.8.xml | 35 +++++++++++++--------
docs-xml/smbdotconf/generate-file-list.sh | 24 +++------------
docs-xml/wscript_build | 36 +++++++++++++++++-----
13 files changed, 98 insertions(+), 79 deletions(-)
copy docs-xml/{smbdotconf/generate-file-list.sh => generate-pathconf-entities.sh} (80%)
Changeset truncated at 500 lines:
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 79fe8b5e575..79f352878a8 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -913,12 +913,19 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='',
dep_vars.append('ruledeps')
dep_vars.append('SAMBA_GENERATOR_VARS')
+ shell=isinstance(rule, str)
+
+ # This ensures that if the command (executed in the shell) fails
+ # (returns non-zero), the build fails
+ if shell:
+ rule = "set -e; " + rule
+
bld.SET_BUILD_GROUP(group)
t = bld(
rule=rule,
source=bld.EXPAND_VARIABLES(source, vars=vars),
+ shell=shell,
target=target,
- shell=isinstance(rule, str),
update_outputs=True,
before='c',
ext_out='.c',
@@ -1180,10 +1187,10 @@ def SAMBAMANPAGES(bld, manpages, extra_source=None):
source = [m + '.xml']
if extra_source is not None:
source = [source, extra_source]
- # ${SRC[1]} and ${SRC[2]} are not referenced in the
+ # ${SRC[1]}, ${SRC[2]} and ${SRC[3]} are not referenced in the
# SAMBA_GENERATOR but trigger the dependency calculation so
# ensures that manpages are rebuilt when these change.
- source += ['build/DTD/samba.entities', 'build/DTD/samba.build.version']
+ source += ['build/DTD/samba.build.pathconfig', 'build/DTD/samba.entities', 'build/DTD/samba.build.version']
bld.SAMBA_GENERATOR(m,
source=source,
target=m,
diff --git a/docs-xml/Makefile b/docs-xml/Makefile
index c614097f6c0..ae50b14d79a 100644
--- a/docs-xml/Makefile
+++ b/docs-xml/Makefile
@@ -17,7 +17,7 @@ DBLATEX_OPTIONS = -p xslt/latex.xsl -i xslt/latex
DATETIME := $(shell date +%Y%m%d%H%M%S)
-XSLTPROC_DEPS = build/catalog.xml build/DTD/samba.build.version
+XSLTPROC_DEPS = build/catalog.xml build/DTD/samba.build.version build/DTD/samba.build.pathconfig
ifeq ($(PROFILE), Y)
XSLTPROC += --profile --load-trace --timing
@@ -57,6 +57,7 @@ clean::
rm -f xslt/figures/*pdf
rm -f $(SMBDOTCONFDOC)/parameters.*.xml
rm -f build/catalog.xml
+ rm -f DTD/samba.build.pathconfig
# Output format targets
pdf:: $(patsubst %,$(PDFDIR)/%.pdf,$(MAIN_DOCS))
@@ -177,13 +178,18 @@ $(MANPAGEDIR)/smb.conf.5.xml: parameters
# the parameters xml files. Otherwise, when parameters.*.xml does not exist
# yet, the parameters are not generated when smb.conf.5.xml is newer than
# any smbdotconf/*/*.xml file ...
-.PHONY: parameters
+.PHONY: parameters pathconf
parameters: $(SMBDOTCONFDOC)/parameters.all.xml
+pathconf: build/DTD/samba.build.pathconfig
+
$(SMBDOTCONFDOC)/parameters.all.xml: $(wildcard $(SMBDOTCONFDOC)/*/*.xml) $(SMBDOTCONFDOC)/generate-file-list.sh
$(SMBDOTCONFDOC)/generate-file-list.sh $(SMBDOTCONFDOC) > $@
+build/DTD/samba.build.pathconfig: generate-pathconf-entities.sh
+ ./generate-pathconf-entities.sh > $@
+
$(OUTPUTDIR):
test -d $@ || mkdir $@
diff --git a/docs-xml/build/DTD/samba-doc b/docs-xml/build/DTD/samba-doc
index 9873aa03458..e4a52789257 100644
--- a/docs-xml/build/DTD/samba-doc
+++ b/docs-xml/build/DTD/samba-doc
@@ -28,6 +28,11 @@
"http://www.samba.org/samba/LOCAL.BUILDDIR.DTD/samba.build.version">
%samba.build.version;
+<!ENTITY % samba.build.pathconfig PUBLIC
+ "-//Samba-Team//VERSION Samba Build Version//EN"
+ "http://www.samba.org/samba/LOCAL.BUILDDIR.DTD/samba.build.pathconfig">
+%samba.build.pathconfig;
+
<!-- smb.conf options -->
<!ELEMENT smbconfblock ((smbconfoption|smbconfsection|smbconfcomment)*)>
diff --git a/docs-xml/build/DTD/samba.entities b/docs-xml/build/DTD/samba.entities
index 15a5ba83fb9..bba0c2c396b 100644
--- a/docs-xml/build/DTD/samba.entities
+++ b/docs-xml/build/DTD/samba.entities
@@ -896,7 +896,7 @@
<!ENTITY smbd '<application>smbd</application>'>
<!ENTITY nmbd '<application>nmbd</application>'>
<!ENTITY testparm '<application>testparm</application>'>
-<!ENTITY smb.conf '<filename>smb.conf</filename>'>
+<!ENTITY smb.conf '<filename>&pathconfig.CONFIGFILE;</filename>'>
<!ENTITY smbclient '<application>smbclient</application>'>
<!ENTITY winbindd '<application>winbindd</application>'>
<!ENTITY net '<application>net</application>'>
diff --git a/docs-xml/smbdotconf/generate-file-list.sh b/docs-xml/generate-pathconf-entities.sh
similarity index 80%
copy from docs-xml/smbdotconf/generate-file-list.sh
copy to docs-xml/generate-pathconf-entities.sh
index 27c9c5b753e..6c0c31a3522 100755
--- a/docs-xml/smbdotconf/generate-file-list.sh
+++ b/docs-xml/generate-pathconf-entities.sh
@@ -1,10 +1,9 @@
-#!/bin/sh
-#
+
# This is the fallback table for when we use the docs-xml build
# system. When build as part of the main waf build, these are set to
# the full correct path for the system.
#
-echo "<!DOCTYPE section [
+echo "
<!ENTITY pathconfig.SCRIPTSBINDIR '\${prefix}/sbin'>
<!ENTITY pathconfig.LOCKDIR '\${prefix}/var/lock'>
<!ENTITY pathconfig.NCALRPCDIR '\${prefix}/var/run/ncalrpc'>
@@ -18,20 +17,5 @@ echo "<!DOCTYPE section [
<!ENTITY pathconfig.NTP_SIGND_SOCKET_DIR '\${prefix}/var/lib/ntp_signd'>
<!ENTITY pathconfig.MITKDCPATH '\${prefix}/sbin/krb5kdc'>
<!ENTITY pathconfig.SAMBA_DATADIR '\${prefix}/var/samba'>
-]>"
-
-DIR=.
-if [ "x$1" != "x" ]; then
- DIR="$1"
-fi
-
-OLD=$(pwd)
-cd $DIR
-
-echo "<section>"
-for I in $(find . -mindepth 2 -type f -name '*.xml' | sort -t/ -k3 | xargs); do
- cat $I
-done
-echo "</section>"
-
-cd $OLD
+<!ENTITY pathconfig.CONFIGFILE '\${prefix}/etc/smb.conf'>
+"
diff --git a/docs-xml/manpages/idmap_hash.8.xml b/docs-xml/manpages/idmap_hash.8.xml
index fd3a2d68240..03ff02a486b 100644
--- a/docs-xml/manpages/idmap_hash.8.xml
+++ b/docs-xml/manpages/idmap_hash.8.xml
@@ -25,7 +25,7 @@
This plugin also implements the nss_info API and can be used
to support a local name mapping files if enabled via the
"winbind normalize names" and "winbind nss info"
- parameters in smb.conf.
+ parameters in &smb.conf;.
The module divides the range into subranges for each domain that is being
handled by the idmap config.
diff --git a/docs-xml/manpages/idmap_ldap.8.xml b/docs-xml/manpages/idmap_ldap.8.xml
index 0601f6164cc..80f272d3fa3 100644
--- a/docs-xml/manpages/idmap_ldap.8.xml
+++ b/docs-xml/manpages/idmap_ldap.8.xml
@@ -41,7 +41,7 @@
<listitem><para>
Defines the directory base suffix to use for
SID/uid/gid mapping entries. If not defined, idmap_ldap will default
- to using the "ldap idmap suffix" option from smb.conf.
+ to using the "ldap idmap suffix" option from &smb.conf;.
</para></listitem>
</varlistentry>
diff --git a/docs-xml/manpages/idmap_script.8.xml b/docs-xml/manpages/idmap_script.8.xml
index 95afde18693..2e7f2be59fd 100644
--- a/docs-xml/manpages/idmap_script.8.xml
+++ b/docs-xml/manpages/idmap_script.8.xml
@@ -60,7 +60,7 @@
<para>
The tdb2 idmap backend supports an external program for performing id mappings
- through the smb.conf option <parameter>idmap config * : script</parameter> or
+ through the &smb.conf; option <parameter>idmap config * : script</parameter> or
its deprecated legacy form <parameter>idmap : script</parameter>.
</para>
diff --git a/docs-xml/manpages/libsmbclient.7.xml b/docs-xml/manpages/libsmbclient.7.xml
index 8dab4d06cba..a08a4ae95ce 100644
--- a/docs-xml/manpages/libsmbclient.7.xml
+++ b/docs-xml/manpages/libsmbclient.7.xml
@@ -93,7 +93,7 @@
When libsmbclient is invoked by an application it searches for a directory called
<filename>.smb</filename> in the $HOME directory that is specified in the users shell
environment. It then searches for a file called <filename>smb.conf</filename> which,
- if present, will fully over-ride the system <filename>/etc/samba/smb.conf</filename> file. If
+ if present, will fully over-ride the system &smb.conf; file. If
instead libsmbclient finds a file called <filename>~/.smb/smb.conf.append</filename>,
it will read the system <filename>/etc/samba/smb.conf</filename> and then append the
contents of the <filename>~/.smb/smb.conf.append</filename> to it.
diff --git a/docs-xml/manpages/net.8.xml b/docs-xml/manpages/net.8.xml
index 5a37119aa20..557cf0d0883 100644
--- a/docs-xml/manpages/net.8.xml
+++ b/docs-xml/manpages/net.8.xml
@@ -2111,7 +2111,7 @@ commands.
</para>
<para>
-To set this up, first set up your smb.conf by adding to the [global] section:
+To set this up, first set up your &smb.conf; by adding to the [global] section:
usershare path = /usr/local/samba/lib/usershares
@@ -2126,7 +2126,7 @@ which means that a file in that directory can be renamed or deleted only
by the owner of the file).
Finally, tell smbd how many usershares you will allow by adding to the [global]
-section of smb.conf a line such as :
+section of &smb.conf; a line such as :
usershare max shares = 100.
@@ -2154,7 +2154,7 @@ Add or replace a new user defined share, with name "sharename".
<para>
"path" specifies the absolute pathname on the system to be exported.
-Restrictions may be put on this, see the global smb.conf parameters:
+Restrictions may be put on this, see the global &smb.conf; parameters:
"usershare owner only", "usershare prefix allow list", and
"usershare prefix deny list".
</para>
@@ -2166,7 +2166,7 @@ on the share when browsed to by a client.
<para>The optional "acl" field
specifies which users have read and write access to the entire share.
-Note that guest connections are not allowed unless the smb.conf parameter
+Note that guest connections are not allowed unless the &smb.conf; parameter
"usershare allow guests" has been set. The definition of a user
defined share acl is: "user:permission", where user is a valid
username on the system and permission can be "F", "R", or "D".
@@ -2184,9 +2184,9 @@ authenticated user has read-only access.
<para>
The optional "guest_ok" has the same effect as the parameter of the
-same name in smb.conf, in that it allows guest access to this user
+same name in &smb.conf;, in that it allows guest access to this user
defined share. This parameter is only allowed if the global parameter
-"usershare allow guests" has been set to true in the smb.conf.
+"usershare allow guests" has been set to true in the &smb.conf;.
</para>
There is no separate command to modify an existing user defined share,
@@ -2268,7 +2268,7 @@ by enabling the RPC conf mode and specifying the address of the remote server.
<para>
The deployment of this configuration data can be activated in two levels from the
-<emphasis>smb.conf</emphasis> file: Share definitions from registry are
+<emphasis>&smb.conf;</emphasis> file: Share definitions from registry are
activated by setting <parameter>registry shares</parameter> to
<quote>yes</quote> in the [global] section and global configuration options are
activated by setting <smbconfoption name="include">registry</smbconfoption> in
@@ -2721,7 +2721,7 @@ win32 eventlog files (usually *.evt). evt files are used by the native Windows e
<para>
The import and export of evt files can only succeed when <parameter>eventlog list</parameter> is used in
-<emphasis>smb.conf</emphasis> file.
+<emphasis>&smb.conf;</emphasis> file.
See the <citerefentry><refentrytitle>smb.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manpage for details.
</para>
@@ -2750,7 +2750,7 @@ Prints a eventlog *.evt file to standard output.
Imports a eventlog *.evt file defined by <replaceable>filename</replaceable> into the
samba internal tdb representation of eventlog defined by <replaceable>eventlog</replaceable>.
<replaceable>eventlog</replaceable> needs to part of the <parameter>eventlog list</parameter>
-defined in smb.conf.
+defined in &smb.conf;.
See the <citerefentry><refentrytitle>smb.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manpage for details.
</para>
@@ -2763,7 +2763,7 @@ See the <citerefentry><refentrytitle>smb.conf</refentrytitle> <manvolnum>5</manv
Exports the samba internal tdb representation of eventlog defined by <replaceable>eventlog</replaceable>
to a eventlog *.evt file defined by <replaceable>filename</replaceable>.
<replaceable>eventlog</replaceable> needs to part of the <parameter>eventlog list</parameter>
-defined in smb.conf.
+defined in &smb.conf;.
See the <citerefentry><refentrytitle>smb.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manpage for details.
</para>
diff --git a/docs-xml/manpages/winbindd.8.xml b/docs-xml/manpages/winbindd.8.xml
index 7a643b8879c..e60bd655ec0 100644
--- a/docs-xml/manpages/winbindd.8.xml
+++ b/docs-xml/manpages/winbindd.8.xml
@@ -432,28 +432,36 @@ auth required /lib/security/pam_unix.so \
</varlistentry>
<varlistentry>
- <term>/tmp/.winbindd/pipe</term>
+ <term>&pathconfig.WINBINDD_SOCKET_DIR;/pipe</term>
<listitem><para>The UNIX pipe over which clients communicate with
the <command>winbindd</command> program. For security reasons, the
winbind client will only attempt to connect to the winbindd daemon
- if both the <filename>/tmp/.winbindd</filename> directory
- and <filename>/tmp/.winbindd/pipe</filename> file are owned by
- root. </para></listitem>
+ if both the <filename>&pathconfig.WINBINDD_SOCKET_DIR;</filename> directory
+ and <filename>&pathconfig.WINBINDD_SOCKET_DIR;/pipe</filename> file are owned by
+ root. </para>
+
+ <para><smbconfoption name="winbindd socket directory"/>
+ overrides this default.</para>
+
+ </listitem>
</varlistentry>
<varlistentry>
- <term>$LOCKDIR/winbindd_privileged/pipe</term>
+ <term>$STATEDIR/winbindd_privileged/pipe</term>
<listitem><para>The UNIX pipe over which 'privileged' clients
communicate with the <command>winbindd</command> program. For security
reasons, access to some winbindd functions - like those needed by
the <command>ntlm_auth</command> utility - is restricted. By default,
only users in the 'root' group will get this access, however the administrator
- may change the group permissions on $LOCKDIR/winbindd_privileged to allow
+ may change the group permissions on $STATEDIR/winbindd_privileged to allow
programs like 'squid' to use ntlm_auth.
Note that the winbind client will only attempt to connect to the winbindd daemon
- if both the <filename>$LOCKDIR/winbindd_privileged</filename> directory
- and <filename>$LOCKDIR/winbindd_privileged/pipe</filename> file are owned by
- root. </para></listitem>
+ if both the <filename>$STATEDIR/winbindd_privileged</filename> directory
+ and <filename>$STATEDIR/winbindd_privileged/pipe</filename> file are owned by
+ root. </para>
+ <para><smbconfoption name="state dir"/> controls what
+ $STATEDIR refers to.</para>
+ </listitem>
</varlistentry>
<varlistentry>
@@ -463,11 +471,12 @@ auth required /lib/security/pam_unix.so \
</varlistentry>
<varlistentry>
- <term>$LOCKDIR/winbindd_idmap.tdb</term>
+ <term>$STATEDIR/winbindd_idmap.tdb</term>
<listitem><para>Storage for the Windows NT rid to UNIX user/group
- id mapping. The lock directory is specified when Samba is initially
- compiled using the <parameter>--with-lockdir</parameter> option.
- This directory is by default <filename>/usr/local/samba/var/locks
+ id mapping. The directory is specified when Samba is initially
+ compiled using the
+ <parameter>--with-statedir</parameter> option or <smbconfoption name="state dir"/>.
+ The default directory in this installation is <filename>&pathconfig.STATEDIR;
</filename>. </para></listitem>
</varlistentry>
diff --git a/docs-xml/smbdotconf/generate-file-list.sh b/docs-xml/smbdotconf/generate-file-list.sh
index 27c9c5b753e..dd981b3c472 100755
--- a/docs-xml/smbdotconf/generate-file-list.sh
+++ b/docs-xml/smbdotconf/generate-file-list.sh
@@ -1,24 +1,10 @@
#!/bin/sh
#
-# This is the fallback table for when we use the docs-xml build
-# system. When build as part of the main waf build, these are set to
-# the full correct path for the system.
-#
-echo "<!DOCTYPE section [
-<!ENTITY pathconfig.SCRIPTSBINDIR '\${prefix}/sbin'>
-<!ENTITY pathconfig.LOCKDIR '\${prefix}/var/lock'>
-<!ENTITY pathconfig.NCALRPCDIR '\${prefix}/var/run/ncalrpc'>
-<!ENTITY pathconfig.PIDDIR '\${prefix}/var/run'>
-<!ENTITY pathconfig.STATEDIR '\${prefix}/var/locks'>
-<!ENTITY pathconfig.PRIVATE_DIR '\${prefix}/private'>
-<!ENTITY pathconfig.BINDDNS_DIR '\${prefix}/bind-dns'>
-<!ENTITY pathconfig.SMB_PASSWD_FILE '\${prefix}/private/smbpasswd'>
-<!ENTITY pathconfig.WINBINDD_SOCKET_DIR '\${prefix}/var/run/winbindd'>
-<!ENTITY pathconfig.CACHEDIR '\${prefix}/var/cache'>
-<!ENTITY pathconfig.NTP_SIGND_SOCKET_DIR '\${prefix}/var/lib/ntp_signd'>
-<!ENTITY pathconfig.MITKDCPATH '\${prefix}/sbin/krb5kdc'>
-<!ENTITY pathconfig.SAMBA_DATADIR '\${prefix}/var/samba'>
-]>"
+set -e
+echo "<!DOCTYPE section ["
+$(dirname $0)/../generate-pathconf-entities.sh
+
+echo "]>"
DIR=.
if [ "x$1" != "x" ]; then
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index c8c4b68e514..40f55141ad8 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -116,10 +116,7 @@ vfs_module_manpages = ['vfs_acl_tdb',
'vfs_xattr_tdb',
'vfs_zfsacl' ]
-def smbdotconf_generate_parameter_list(task):
- parameter_all = task.outputs[0].bldpath(task.env)
- articles = task.inputs
-
+def generate_path_entity_list():
entities = bld.pathconfig_entities()
# We need this if we build with Heimdal as we can't easily make
@@ -129,15 +126,24 @@ def smbdotconf_generate_parameter_list(task):
if bld.CONFIG_SET('MIT_KDC_PATH'):
mit_kdc_path = bld.CONFIG_GET('MIT_KDC_PATH')
- t = "<!DOCTYPE section [\n" +\
- "\n".join(entities) +\
+ t = "\n".join(entities) +\
"\n" +\
"<!ENTITY pathconfig.MITKDCPATH " + mit_kdc_path + ">\n" +\
+ "\n"
+ return t
+
+def smbdotconf_generate_parameter_list_file(task):
+ parameter_all = task.outputs[0].bldpath(task.env)
+ articles = task.inputs
+
+ t = "<!DOCTYPE section [\n" +\
+ generate_path_entity_list() + \
"]>\n" +\
"<section>\n" +\
"".join(art.read() for art in articles) +\
"</section>\n"
+
save_file(parameter_all, t , create_dir=True)
return 0
@@ -152,9 +158,25 @@ articles = " ".join(sorted([x.path_from(bld.path) for x in sources],
bld.SAMBA_GENERATOR(parameter_all,
source=articles,
target=parameter_all,
- rule=smbdotconf_generate_parameter_list,
+ rule=smbdotconf_generate_parameter_list_file)
+
+def generate_path_entity_file(task):
+ path_entities_file = task.outputs[0].bldpath(task.env)
+
+ save_file(path_entities_file,
+ generate_path_entity_list(),
+ create_dir=True)
+ return 0
+
+path_entities = 'build/DTD/samba.build.pathconfig'
+
+bld.SAMBA_GENERATOR(path_entities,
+ source=articles,
+ target=path_entities,
+ rule=generate_path_entity_file,
dep_vars=bld.dynconfig_varnames())
+
def SMBDOTCONF_MANPAGE(bld, target):
''' assemble and build smb.conf.5 manual page'''
bld.SAMBAMANPAGES(target, parameter_all)
--
Samba Shared Repository
More information about the samba-cvs
mailing list