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
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))
# 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 $@
--- /dev/null
+
+# 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 "
+<!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'>
+"
</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>
</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>
#!/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