summaryrefslogtreecommitdiff
path: root/docs/docbook
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2002-09-25 15:10:57 +0000
committerGerald Carter <jerry@samba.org>2002-09-25 15:10:57 +0000
commit115a39775cb923d026dde58633b6ba6aef3a1943 (patch)
tree4e9f7bb19788459fb8a8f88d52c59f3885d29fc6 /docs/docbook
parentec0b8aa70454cab4a918ab09e8ed52d60b4b3256 (diff)
downloadsamba-115a39775cb923d026dde58633b6ba6aef3a1943.tar.gz
samba-115a39775cb923d026dde58633b6ba6aef3a1943.tar.bz2
samba-115a39775cb923d026dde58633b6ba6aef3a1943.zip
sync'ing up for 3.0alpha20 release
(This used to be commit b5d03c7b55fb2f34fa4d0228abe4389020e5ed5f)
Diffstat (limited to 'docs/docbook')
-rw-r--r--docs/docbook/Makefile.in461
-rwxr-xr-xdocs/docbook/configure233
-rw-r--r--docs/docbook/configure.in45
-rw-r--r--docs/docbook/docbook.txt91
-rw-r--r--docs/docbook/manpages/pdbedit.8.sgml26
-rw-r--r--docs/docbook/manpages/smb.conf.5.sgml365
-rw-r--r--docs/docbook/manpages/smbtar.1.sgml2
-rw-r--r--docs/docbook/manpages/testparm.1.sgml8
-rw-r--r--docs/docbook/projdoc/PAM-Authentication-And-Samba.sgml2
-rw-r--r--docs/docbook/projdoc/Samba-BDC-HOWTO.sgml109
-rw-r--r--docs/docbook/projdoc/Samba-LDAP-HOWTO.sgml89
-rw-r--r--docs/docbook/projdoc/UNIX_INSTALL.sgml5
-rw-r--r--docs/docbook/projdoc/cups.sgml445
-rw-r--r--docs/docbook/projdoc/printer_driver2.sgml60
-rw-r--r--docs/docbook/projdoc/samba-doc.sgml12
-rw-r--r--docs/docbook/scripts/strip-links.pl6
16 files changed, 1113 insertions, 846 deletions
diff --git a/docs/docbook/Makefile.in b/docs/docbook/Makefile.in
index 0320081876..b225eb9780 100644
--- a/docs/docbook/Makefile.in
+++ b/docs/docbook/Makefile.in
@@ -1,7 +1,8 @@
#################################################################
# Makefile.in for Samba Documentation
# Authors: James Moore <jmoore@php.net>
-# Gerald Carter <jerry@samba.org>
+# Gerald Carter <jerry@samba.org>
+# Jelmer Vernooij <jelmer@samba.org>
#
# Please see http://www.samba.org/samba/cvs.html
# for information on getting the latest
@@ -9,391 +10,89 @@
#
# Autoconf Variables
+
+MANPAGES_NAMES=findsmb.1 smbclient.1 \
+ smbspool.8 lmhosts.5 \
+ smbcontrol.1 smbstatus.1 \
+ make_smbcodepage.1 smbd.8 \
+ smbtar.1 nmbd.8 smbmnt.8 \
+ smbumount.8 nmblookup.1 \
+ smbmount.8 swat.8 rpcclient.1 \
+ smbpasswd.5 testparm.1 samba.7 \
+ smbpasswd.8 testprns.1 \
+ smb.conf.5 wbinfo.1 pdbedit.8 \
+ smbcacls.1 smbsh.1 winbindd.8 \
+ make_unicodemap.1 net.8 \
+ smbgroupedit.8 vfstest.1
+
+## This part contains only rules. You shouldn't need to change it
+## if you are adding docs
+
+DOCBOOK2MAN = @JW@ -b man
+DOCBOOK2HTML = @JW@ -b html
+DOCBOOK2PDF = @JW@ -b pdf
+DOCBOOK2PS = @JW@ -b ps
+DOCBOOK2TXT = @JW@ -b txt
+DOCBOOK2INFO = @JW@ -b texi
+HTMLDOC = @HTMLDOC@
SRCDIR = @srcdir@
-JADE = @JADE@
-NSGMLS = @NSGMLS@
-SGMLSPL=@SGMLSPL@
-HTMLDOC=@HTMLDOC@
-PERL=@PERL@
-#CATALOG = @CATALOG@
MANDIR=../manpages
HTMLDIR=../htmldocs
+MANSGMLDIR = manpages/
+SGMLDIR = projdoc/
+PERL = @PERL@
-#Stylesheets and Dependicies
-SGML_SHARE=@SGML_SHARE@
-#SGML_CATALOG_FILES=$(SGML_CATALOG_FILES):./dbsgml/catalog
-HTML_STYLESHEET = $(srcdir)/stylesheets/html.dsl
-HTML_DEPS = $(srcdir)/stylesheets/html-common.dsl $(srcdir)/stylesheets/common.dsl
-
-MANPAGES=$(MANDIR)/findsmb.1 $(MANDIR)/smbclient.1 \
- $(MANDIR)/smbspool.8 $(MANDIR)/lmhosts.5 \
- $(MANDIR)/smbcontrol.1 $(MANDIR)/smbstatus.1 \
- $(MANDIR)/make_smbcodepage.1 $(MANDIR)/smbd.8 \
- $(MANDIR)/smbtar.1 $(MANDIR)/nmbd.8 $(MANDIR)/smbmnt.8 \
- $(MANDIR)/smbumount.8 $(MANDIR)/nmblookup.1 \
- $(MANDIR)/smbmount.8 $(MANDIR)/swat.8 $(MANDIR)/rpcclient.1 \
- $(MANDIR)/smbpasswd.5 $(MANDIR)/testparm.1 $(MANDIR)/samba.7 \
- $(MANDIR)/smbpasswd.8 $(MANDIR)/testprns.1 \
- $(MANDIR)/smb.conf.5 $(MANDIR)/wbinfo.1 $(MANDIR)/pdbedit.8 \
- $(MANDIR)/smbcacls.1 $(MANDIR)/smbsh.1 $(MANDIR)/winbindd.8 \
- $(MANDIR)/make_unicodemap.1 $(MANDIR)/net.8 \
- $(MANDIR)/smbgroupedit.8
-
-SGMLMANSRC=manpages/findsmb.1.sgml manpages/smbclient.1.sgml \
- manpages/smbspool.8.sgml manpages/lmhosts.5.sgml \
- manpages/smbcontrol.1.sgml manpages/smbstatus.1.sgml \
- manpages/make_smbcodepage.1.sgml manpages/smbd.8.sgml \
- manpages/smbtar.1.sgml manpages/nmbd.8.sgml manpages/smbmnt.8.sgml \
- manpages/smbumount.8.sgml manpages/nmblookup.1.sgml \
- manpages/smbmount.8.sgml manpages/swat.8.sgml \
- manpages/rpcclient.1.sgml manpages/smbpasswd.5.sgml \
- manpages/testparm.1.sgml manpages/samba.7.sgml \
- manpages/smbpasswd.8.sgml manpages/testprns.1.sgml \
- manpages/smb.conf.5.sgml manpages/pdbedit.8.sgml \
- manpages/wbinfo.1.sgml manpages/smbcacls.1.sgml \
- manpages/smbsh.1.sgml manpages/winbindd.8.sgml \
- manpages/make_unicodemap.1.sgml manpages/smbgroupedit.8.sgml \
- manpages/net.8.sgml
-
-HOWTOSRC=projdoc/DOMAIN_MEMBER.sgml projdoc/NT_Security.sgml \
- projdoc/msdfs_setup.sgml projdoc/printer_driver2.sgml \
- projdoc/UNIX_INSTALL.sgml projdoc/winbind.sgml projdoc/OS2-Client-HOWTO.sgml \
- projdoc/Samba-PDC-HOWTO.sgml projdoc/ENCRYPTION.sgml \
- projdoc/CVS-Access.sgml projdoc/Integrating-with-Windows.sgml \
- projdoc/PAM-Authentication-And-Samba.sgml projdoc/Samba-LDAP-HOWTO.sgml \
- projdoc/Samba-BDC-HOWTO.sgml projdoc/Printing.sgml projdoc/Diagnosis.sgml \
- projdoc/security_level.sgml projdoc/Browsing.sgml projdoc/Bugs.sgml \
- projdoc/Speed.sgml
+MANPAGES=$(patsubst %,$(MANDIR)/%,$(MANPAGES_NAMES))
+MANPAGES_HTML=$(patsubst %,$(HTMLDIR)/%.html,$(MANPAGES_NAMES))
-
-
-######################################################################
-# Make instructions
-######################################################################
all:
- @echo "Possible options to the Makefile include:"
- @echo " all-docs - Force a rebuild of all documentation"
- @echo " HOWTO - Build all individual HOWTOs in html format"
- @echo " proj-doc - Build the Samba-HOWTO-Collection.[pdf|html] file"
- @echo " man - Rebuild html and nroff versions of man pages as necessary"
- @echo " syntax - Check the SGML/DocBook syntax of all source files"
-
-all-docs: HOWTO proj-doc man-all man-html-all
-
-syntax: $(SGMLMANSRC) projdoc/samba-doc.sgml
- @echo Checking syntax of all SGML/DocBook source files...
- @(for i in $?; do \
- echo "$$i..."; \
- $(NSGMLS) -sv $$i 2>&1 | grep -v "DTDDECL catalog entries are not supported" ; \
- done)
-
-
-
-man: $(MANPAGES)
-
-HOWTO: $(HOWTOSRC)
- @echo Building HOWTO pages...
- @(for i in $?; do \
- htmlfile=`echo $$i | sed 's,.*/,,' | sed "s/\.sgml/\.html/g"`; \
- echo "Making $$htmlfile"; \
- cat $$i | $(PERL) scripts/make-article.pl > /tmp/`echo $$i | sed 's,.*/,,'`; \
- $(JADE) -t sgml -V nochunks -d $(SGML_SHARE)/dsssl/docbook/html/docbook.dsl \
- -f /tmp/jade.log /tmp/`echo $$i | sed 's,.*/,,'` > ../htmldocs/$$htmlfile; \
- cat /tmp/jade.log | grep -v DTDDECL; \
- /bin/rm -f /tmp/jade.log /tmp/`echo $$i | sed 's,.*/,,'`; \
- done)
-
-
-## I'm using htmldoc here to produc the PDF output. If you want
-## Postscript output, you can run
-##
-## sgmltools -b ps projdoc/samba-doc.sgml
-##
-proj-doc:
- echo Building Samba-HOWTO-Collections...
- @$(PERL) scripts/collateindex.pl -N -o projdoc/index.sgml
- @$(JADE) -t sgml -V html-index -d $(SGML_SHARE)/dsssl/docbook/html/docbook.dsl projdoc/samba-doc.sgml
- @$(PERL) scripts/collateindex.pl -o projdoc/index.sgml HTML.index
- @/bin/rm HTML.index *.htm
- @$(JADE) -t sgml -i html -V nochunks -d stylesheets/ldp.dsl\#html projdoc/samba-doc.sgml > samba-doc.html
- @(cd scripts; ./ldp_print ../samba-doc.html)
- @mv -f samba-doc.pdf ../Samba-HOWTO-Collection.pdf
- @/bin/mv -f samba-doc.html ../htmldocs/Samba-HOWTO-Collection.html
-
-
-## generate all HTML man pages
-man-html-all: $(SGMLMANSRC)
- @echo Building HTML formatted man pages...
- @(for i in $?; do \
- htmlfile=`echo $$i | sed 's,.*/,,' | sed "s/\.sgml/\.html/g"`; \
- echo "Making $$htmlfile"; \
- $(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html -f /tmp/jade.log $$i > ../htmldocs/$$htmlfile; \
- cat /tmp/jade.log | grep -v DTDDECL; \
- /bin/rm -f /tmp/jade.log; \
- done)
-
-## generate all man pages
-man-all: $(SGMLMANSRC)
- @echo Building man pages...
- @(for i in $?; do \
- manfile=`echo $$i | sed 's,.*/,,' | sed "s/\.sgml//g"`; \
- echo "Making $$manfile"; \
- $(NSGMLS) -f /tmp/docbook2x.log $$i | $(SGMLSPL) \
- $(SGML_SHARE)/docbook2X/docbook2man-spec.pl; \
- cat /tmp/docbook2x.log | grep -v DTDDECL; \
- /bin/rm -f /tmp/docbook2x.log; \
- cat $$manfile | $(PERL) scripts/strip-links.pl > $(MANDIR)/$$manfile; \
- /bin/rm -f $$manfile; \
- done)
-
-
-
-
-##
-## these rules are for building individual files
-##
-$(MANDIR)/findsmb.1: manpages/findsmb.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbclient.1: manpages/smbclient.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbspool.8: manpages/smbspool.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/lmhosts.5: manpages/lmhosts.5.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbcontrol.1: manpages/smbcontrol.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbstatus.1: manpages/smbstatus.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/make_smbcodepage.1: manpages/make_smbcodepage.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/make_unicodemap.1: manpages/make_unicodemap.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbd.8: manpages/smbd.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbtar.1: manpages/smbtar.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/nmbd.8: manpages/nmbd.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbmnt.8: manpages/smbmnt.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbumount.8: manpages/smbumount.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/nmblookup.1: manpages/nmblookup.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbmount.8: manpages/smbmount.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/swat.8: manpages/swat.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/rpcclient.1: manpages/rpcclient.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbpasswd.5: manpages/smbpasswd.5.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/testparm.1: manpages/testparm.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/samba.7: manpages/samba.7.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbpasswd.8: manpages/smbpasswd.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/testprns.1: manpages/testprns.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smb.conf.5: manpages/smb.conf.5.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/wbinfo.1: manpages/wbinfo.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbcacls.1: manpages/smbcacls.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbsh.1 : manpages/smbsh.1.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/winbindd.8: manpages/winbindd.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-
-$(MANDIR)/pdbedit.8: manpages/pdbedit.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/net.8: manpages/net.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
-$(MANDIR)/smbgroupedit.8: manpages/smbgroupedit.8.sgml
- @echo "Making $@"
- @$(NSGMLS) $< | $(SGMLSPL) $(SGML_SHARE)/docbook2X/docbook2man-spec.pl
- @cat `echo $@ | sed 's,.*/,,'` | $(PERL) scripts/strip-links.pl > $@
- @/bin/rm -f `echo $@ | sed 's,.*/,,'`
- @echo "Making HTML version of $@"
- @$(JADE) -t sgml -i html -V nochunks -d ./stylesheets/ldp.dsl\#html $< > $(HTMLDIR)/`echo $< | sed 's,.*/,,'| sed "s/\.sgml/\.html/g"`
-
+ @echo "Supported make targets:"
+ @echo "manpages - Build manpages"
+ @echo "ps - Build PostScript version of HOWTO Collection"
+ @echo "pdf - Build PDF version of HOWTO Collection"
+ @echo -n "html-single - Build single file HTML version of HOWTO Collection"
+ @echo " and developers guide"
+ @echo "html - Build HTML version of HOWTO Collection"
+ @echo "htmlman - Build html version of manpages"
+ @echo "txt - Build plain text version of HOWTO Collection"
+
+manpages: $(MANPAGES)
+pdf: ../Samba-HOWTO-Collection.pdf
+ps: ../Samba-HOWTO-Collection.ps
+txt: ../Samba-HOWTO-Collection.txt
+htmlman: $(MANPAGES_HTML)
+html:
+ $(DOCBOOK2HTML) -d samba.dsl -o $(HTMLDIR) projdoc/samba-doc.sgml
+html-single: ../Samba-HOWTO-Collection.html ../Samba-Developers-Guide.html
+
+../Samba-HOWTO-Collection.txt: $(SGMLDIR)/samba-doc.sgml
+ $(DOCBOOK2TXT) -o .. $<
+ mv ../samba-doc.txt $@
+
+../Samba-HOWTO-Collection.ps: $(SGMLDIR)/samba-doc.sgml
+ $(DOCBOOK2PS) -o .. $<
+ mv ../samba-doc.ps $@
+
+../Samba-HOWTO-Collection.pdf: ../Samba-HOWTO-Collection.html
+ $(HTMLDOC) --book --color --links -f $@ $<
+
+../Samba-HOWTO-Collection.html: $(SGMLDIR)/samba-doc.sgml
+ $(DOCBOOK2HTML) -u -o .. $<
+ mv ../samba-doc.html $@
+
+../Samba-Developers-Guide.html: devdoc/dev-doc.sgml
+ $(DOCBOOK2HTML) -u -o .. $<
+ mv ../dev-doc.html $@
+
+
+$(HTMLDIR)/%.html: $(MANSGMLDIR)/%.sgml
+ $(DOCBOOK2HTML) -o $(HTMLDIR) $<
+ mv $(HTMLDIR)/index.html $@
+
+$(MANDIR)/%: $(MANSGMLDIR)/%.sgml
+ $(DOCBOOK2MAN) -o $(MANDIR) $<
+ $(PERL) scripts/strip-links.pl < $@ > $@.temp
+ mv $@.temp $@
-## Clean Rule
clean:
- /bin/rm -f manpage.*
+ rm -f $(MANPAGES) $(MANPAGES_HTML) ../htmldocs/*.html ../Samba-HOWTO-Collection.pdf ../Samba-HOWTO-Collection.ps
diff --git a/docs/docbook/configure b/docs/docbook/configure
index 26ea467482..609c17ed87 100755
--- a/docs/docbook/configure
+++ b/docs/docbook/configure
@@ -11,8 +11,6 @@
ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
-ac_help="$ac_help
- --with-sgml-share=DIR change the default location of SGML stylesheets"
# Initialize some variables set by options.
# The variables have the same names as the options, with
@@ -524,22 +522,19 @@ fi
-## check for the necesary install tools
-## Openjade includes 'onsgmls' while
-## the older jade package includes 'nsgmls'
-# Extract the first word of "openjade", so it can be a program name with args.
-set dummy openjade; ac_word=$2
+# Extract the first word of "jw", so it can be a program name with args.
+set dummy jw; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:534: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_JADE'+set}'`\" = set"; then
+echo "configure:529: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_JW'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- case "$JADE" in
+ case "$JW" in
/*)
- ac_cv_path_JADE="$JADE" # Let the user override the test with a path.
+ ac_cv_path_JW="$JW" # Let the user override the test with a path.
;;
?:/*)
- ac_cv_path_JADE="$JADE" # Let the user override the test with a dos path.
+ ac_cv_path_JW="$JW" # Let the user override the test with a dos path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
@@ -547,7 +542,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_path_JADE="$ac_dir/$ac_word"
+ ac_cv_path_JW="$ac_dir/$ac_word"
break
fi
done
@@ -555,99 +550,26 @@ else
;;
esac
fi
-JADE="$ac_cv_path_JADE"
-if test -n "$JADE"; then
- echo "$ac_t""$JADE" 1>&6
+JW="$ac_cv_path_JW"
+if test -n "$JW"; then
+ echo "$ac_t""$JW" 1>&6
else
echo "$ac_t""no" 1>&6
fi
-
-if test -z "$JADE"; then
- # Extract the first word of "jade", so it can be a program name with args.
-set dummy jade; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:571: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_JADE'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$JADE" in
- /*)
- ac_cv_path_JADE="$JADE" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_JADE="$JADE" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_JADE="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-fi
-JADE="$ac_cv_path_JADE"
-if test -n "$JADE"; then
- echo "$ac_t""$JADE" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- # Extract the first word of "nsgmls", so it can be a program name with args.
-set dummy nsgmls; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:606: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_NSGMLS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$NSGMLS" in
- /*)
- ac_cv_path_NSGMLS="$NSGMLS" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_NSGMLS="$NSGMLS" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_NSGMLS="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-fi
-NSGMLS="$ac_cv_path_NSGMLS"
-if test -n "$NSGMLS"; then
- echo "$ac_t""$NSGMLS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- # Extract the first word of "onsgmls", so it can be a program name with args.
-set dummy onsgmls; ac_word=$2
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:642: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_NSGMLS'+set}'`\" = set"; then
+echo "configure:564: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- case "$NSGMLS" in
+ case "$PERL" in
/*)
- ac_cv_path_NSGMLS="$NSGMLS" # Let the user override the test with a path.
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
;;
?:/*)
- ac_cv_path_NSGMLS="$NSGMLS" # Let the user override the test with a dos path.
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a dos path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
@@ -655,7 +577,7 @@ else
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_path_NSGMLS="$ac_dir/$ac_word"
+ ac_cv_path_PERL="$ac_dir/$ac_word"
break
fi
done
@@ -663,19 +585,17 @@ else
;;
esac
fi
-NSGMLS="$ac_cv_path_NSGMLS"
-if test -n "$NSGMLS"; then
- echo "$ac_t""$NSGMLS" 1>&6
+PERL="$ac_cv_path_PERL"
+if test -n "$PERL"; then
+ echo "$ac_t""$PERL" 1>&6
else
echo "$ac_t""no" 1>&6
fi
-fi
-
# Extract the first word of "htmldoc", so it can be a program name with args.
set dummy htmldoc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:679: checking for $ac_word" >&5
+echo "configure:599: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_HTMLDOC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -707,102 +627,6 @@ else
echo "$ac_t""no" 1>&6
fi
-# Extract the first word of "sgmlspl", so it can be a program name with args.
-set dummy sgmlspl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:714: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_SGMLSPL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$SGMLSPL" in
- /*)
- ac_cv_path_SGMLSPL="$SGMLSPL" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_SGMLSPL="$SGMLSPL" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_SGMLSPL="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-fi
-SGMLSPL="$ac_cv_path_SGMLSPL"
-if test -n "$SGMLSPL"; then
- echo "$ac_t""$SGMLSPL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:749: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$PERL" in
- /*)
- ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_PERL="$PERL" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_PERL="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-fi
-PERL="$ac_cv_path_PERL"
-if test -n "$PERL"; then
- echo "$ac_t""$PERL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-SGML_SHARE="/usr/local/share/sgml"
-
-# Check whether --with-sgml-share or --without-sgml-share was given.
-if test "${with_sgml_share+set}" = set; then
- withval="$with_sgml_share"
- case "$withval" in
- no) SGML_SHARE=""
- ;;
- yes)
- ;;
- /*|\\*)
- SGML_SHARE="$withval"
- ;;
- *)
- SGML_SHARE="/$withval"
- ;;
-esac
-
-fi
-
-# The Makefile requires docbook2X in the share/sgml directory
-if ! test -f $SGML_SHARE/docbook2X/docbook2man-spec.pl ; then
- { echo "configure: error: "Unable to find dockbook2X. Make sure it is installed and that the sgml-share path is correct."" 1>&2; exit 1; }
-fi
-
DOC_BUILD_DATE=`date '+%d-%m-%Y'`
@@ -919,7 +743,7 @@ done
ac_given_srcdir=$srcdir
-trap 'rm -fr `echo "Makefile stylesheets/ldp.dsl " | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "Makefile " | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
@@ -951,12 +775,9 @@ s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
-s%@JADE@%$JADE%g
-s%@NSGMLS@%$NSGMLS%g
-s%@HTMLDOC@%$HTMLDOC%g
-s%@SGMLSPL@%$SGMLSPL%g
+s%@JW@%$JW%g
s%@PERL@%$PERL%g
-s%@SGML_SHARE@%$SGML_SHARE%g
+s%@HTMLDOC@%$HTMLDOC%g
s%@DOC_BUILD_DATE@%$DOC_BUILD_DATE%g
CEOF
@@ -999,7 +820,7 @@ EOF
cat >> $CONFIG_STATUS <<EOF
-CONFIG_FILES=\${CONFIG_FILES-"Makefile stylesheets/ldp.dsl "}
+CONFIG_FILES=\${CONFIG_FILES-"Makefile "}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
diff --git a/docs/docbook/configure.in b/docs/docbook/configure.in
index ad0613f2be..3a9ed51d16 100644
--- a/docs/docbook/configure.in
+++ b/docs/docbook/configure.in
@@ -1,49 +1,10 @@
AC_INIT(global.ent)
-## check for the necesary install tools
-## Openjade includes 'onsgmls' while
-## the older jade package includes 'nsgmls'
-AC_PATH_PROG(JADE,openjade)
-
-if test -z "$JADE"; then
- AC_PATH_PROG(JADE,jade)
- AC_PATH_PROG(NSGMLS, nsgmls)
-else
- AC_PATH_PROG(NSGMLS, onsgmls)
-fi
-
-AC_PATH_PROG(HTMLDOC, htmldoc)
-AC_PATH_PROG(SGMLSPL, sgmlspl)
+AC_PATH_PROG(JW, jw)
AC_PATH_PROG(PERL, perl)
-
-dnl ----------------------------------------------------------------
-dnl --with-sgml-share
-SGML_SHARE="/usr/local/share/sgml"
-
-AC_ARG_WITH(sgml-share,
-[ --with-sgml-share=DIR change the default location of SGML stylesheets],
-[case "$withval" in
- no) SGML_SHARE=""
- ;;
- yes)
- ;;
- /*|\\*)
- SGML_SHARE="$withval"
- ;;
- *)
- SGML_SHARE="/$withval"
- ;;
-esac
-])dnl
-
-# The Makefile requires docbook2X in the share/sgml directory
-if [ ! test -f $SGML_SHARE/docbook2X/docbook2man-spec.pl ]; then
- AC_MSG_ERROR("Unable to find dockbook2X. Make sure it is installed and that the sgml-share path is correct.")
-fi
-
-AC_SUBST(SGML_SHARE)dnl
+AC_PATH_PROG(HTMLDOC, htmldoc)
DOC_BUILD_DATE=`date '+%d-%m-%Y'`
AC_SUBST(DOC_BUILD_DATE)
-AC_OUTPUT( Makefile stylesheets/ldp.dsl )
+AC_OUTPUT( Makefile )
diff --git a/docs/docbook/docbook.txt b/docs/docbook/docbook.txt
index 388cd5cf9b..019b073b51 100644
--- a/docs/docbook/docbook.txt
+++ b/docs/docbook/docbook.txt
@@ -1,8 +1,9 @@
!==
-!== docbook.txt for Samba 2.2.0 release
+!== docbook.txt for Samba HEAD
!==
!== Author: David Bannon, D.Bannon@latrobe.edu.au November, 2000
!== Updates: Gerald (Jerry) Carter, jerry@samba.org, Feb. 2001
+!== Updates: Jelmer Vernooij, jelmer@samba.org, Aug, 2002
What are DocBook documents doing in the Samba Distribution ?
-----------------------------------------------------------
@@ -44,93 +45,17 @@ as the following autogenerated formats
* man pages
* HTML
* ASCII text (where appropriate)
+ * PDF
The Tools
---------
-[
- addendum: For a good general overview of installing the tools
- needed for generating files from SGML/DocBook source, refer
- to the DocBook-Install mini HOWTO at
- http://www.ibiblio.org/pub/Linux/docs/HOWTO/mini/DocBook-Install
+To generate the docs, you need to have the following packages installed:
- While the above link is to a Linux HOWTO, the tools can be installed
- on almost any UNIX platform.
-
- David's original notes follow below:
-]
-
-Any sgml document needs to be referred to a suitable style sheet
-(describing syntax) and other sheets that tell the translating programmes
-how to do the translations. The list of necessary 'included files is a
-bit messy but once installed is pretty easy.
-
-On one of my RedHat 6.2 systems I installed the following:
-* sgml-common (as an rpm)
-* docbook (as an rpm)
-* stylesheets (as an rpm)
-* jade (as an rpm)
-* Docbook 4.1 from http://docbook.org
-* DSSSL 157 from http://nwalsh.com/docbook/dsssl/
-
-There are several downloadable descriptions of the DocBook syntax at the
-web sites mentioned above. Note that a lot of the docs only talk about
-version 3.1 with 4.1 as an add-on.
-
-In either case you will need to include in the html/docbook.dsl and most
-likely a couple of defines to achieve a suitable output. I made a
-local dsl file that I called html.dsl that looks like this :
-
-<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
-<!ENTITY dbstyle SYSTEM "/usr/lib/sgml/dsssl-157/docbook/html/docbook.dsl"
-CDATA DSSSL>
-]>
-
-<style-sheet>
-<style-specification use="docbook">
-<style-specification-body>
-
-(define nochunks #t) ;; Dont make multiple pages
-(define rootchunk #t) ;; Do make a 'root' page
-(define %use-id-as-filename% #t) ;; Use book id as filename
-(define %html-ext% ".html") ;; give it a proper html extension
-
-</style-specification-body>
-</style-specification>
-<external-specification id="docbook" document="dbstyle">
-</style-sheet>
-
-Note the top block that refers to where the dsssl-157 style sheets are
-installed, if you don’t put them there make sure you edit the file.
-
-To use this stylesheet, have it in your working directory along with your
-sgml files. Jade does the actual conversion to html, call it like this :
-
-jade -t sgml -d html.dsl stuff.sgml
-
-To create the text version run the html through lynx :
-
-Lynx -dump -nolist stuff.html > stuff.txt
-
-These instructions are crude by might help someone get going. Please feel
-free to contact me if you have any questions or if you can correct any one
-of the many mistakes I must have made above.
-
-David
-
-==========================================================================
+* docbook-utils
+* htmldoc
This directory now contains a ./configure script and Makefile to
-support the automated building of man pages (including HTML versions).
-The DocBook V4.1 DTD and ISO entity files have also been included in CVS
-to make sure we are all working from the same plate.
-
-The SGML_CATALOG_FILES environment variable should be set as follows
-(this assumes you have a working local installation of jade and
-Norman's Walsh's DSSSL stylesheets):
-
- export SGML_CATALOG_FILES=$SGML_CATALOG_FILES:./dbsgml/catalog
-
-
---jerry
+support the automated building of man pages (including HTML versions), and
+the building of the Samba-HOWTO-Collection (HTML,PDF,PS,Text versions).
diff --git a/docs/docbook/manpages/pdbedit.8.sgml b/docs/docbook/manpages/pdbedit.8.sgml
index 3f6023d16f..eeb1fb0d2c 100644
--- a/docs/docbook/manpages/pdbedit.8.sgml
+++ b/docs/docbook/manpages/pdbedit.8.sgml
@@ -27,9 +27,7 @@
<arg choice="opt">-a</arg>
<arg choice="opt">-m</arg>
<arg choice="opt">-x</arg>
- <arg choice="opt">-i passdb-backend</arg>
- <arg choice="opt">-e passdb-backend</arg>
- <arg choice="opt">-D debuglevel</arg>
+ <arg choice="opt">-i file</arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -235,26 +233,18 @@
<varlistentry>
- <term>-i passdb-backend</term>
- <listitem><para>Use a different passdb backend to retrieve users than the one specified in smb.conf.</para>
+ <term>-i file</term>
+ <listitem><para>This command is used to import a smbpasswd
+ file into the database.</para>
- <para>This option will ease migration from one passdb backend to another.
- </para>
+ <para>This option will ease migration from the plain smbpasswd
+ file database to more powerful backend databases like tdb and
+ ldap.</para>
- <para>Example: <command>pdbedit -i smbpasswd:/etc/smbpasswd.old -e tdbsam:/etc/samba/passwd.tdb</command>
+ <para>Example: <command>pdbedit -i /etc/smbpasswd.old</command>
</para>
</listitem>
</varlistentry>
-
- <varlistentry>
- <term>-e passdb-backend</term>
- <listitem><para>Export all currently available users to the specified password database backend.</para>
-
- <para>This option will ease migration from one passdb backend to another and will ease backupping</para>
-
- <para>Example: <command>pdbedit -e smbpasswd:/root/samba-users.backup</command></para>
- </listitem>
- </varlistentry>
</variablelist>
</refsect1>
diff --git a/docs/docbook/manpages/smb.conf.5.sgml b/docs/docbook/manpages/smb.conf.5.sgml
index 1e713147c9..89ffa0934a 100644
--- a/docs/docbook/manpages/smb.conf.5.sgml
+++ b/docs/docbook/manpages/smb.conf.5.sgml
@@ -396,7 +396,7 @@
to change your config based on what the client calls you. Your
server can have a "dual personality".</para>
- <para>Note that this paramater is not available when Samba listens
+ <para>Note that this parameter is not available when Samba listens
on port 445, as clients no longer send this information </para>
</listitem>
@@ -594,10 +594,14 @@
<itemizedlist>
<listitem><para><link linkend="ABORTSHUTDOWNSCRIPT"><parameter>abort shutdown script</parameter></link></para></listitem>
- <listitem><para><link linkend="ADDPRINTERCOMMAND"><parameter>add printer command</parameter></link></para></listitem>
+ <listitem><para><link linkend="ADDGROUPSCRIPT"><parameter>add group script</parameter></link></para></listitem>
+ <listitem><para><link linkend="ADDPRINTERCOMMAND"><parameter>addprinter command</parameter></link></para></listitem>
<listitem><para><link linkend="ADDSHARECOMMAND"><parameter>add share command</parameter></link></para></listitem>
<listitem><para><link linkend="ADDUSERSCRIPT"><parameter>add user script</parameter></link></para></listitem>
+ <listitem><para><link linkend="ADDUSERTOGROUPSCRIPT"><parameter>add user to group script</parameter></link></para></listitem>
<listitem><para><link linkend="ADDMACHINESCRIPT"><parameter>add machine script</parameter></link></para></listitem>
+ <listitem><para><link linkend="DELETEGROUPSCRIPT"><parameter>delete group script</parameter></link></para></listitem>
+ <listitem><para><link linkend="ADSSERVER"><parameter>ads server</parameter></link></para></listitem>
<listitem><para><link linkend="ALGORITHMICRIDBASE"><parameter>algorithmic rid base</parameter></link></para></listitem>
<listitem><para><link linkend="ALLOWTRUSTEDDOMAINS"><parameter>allow trusted domains</parameter></link></para></listitem>
<listitem><para><link linkend="ANNOUNCEAS"><parameter>announce as</parameter></link></para></listitem>
@@ -617,24 +621,30 @@
<listitem><para><link linkend="DEBUGLEVEL"><parameter>debuglevel</parameter></link></para></listitem>
<listitem><para><link linkend="DEFAULT"><parameter>default</parameter></link></para></listitem>
<listitem><para><link linkend="DEFAULTSERVICE"><parameter>default service</parameter></link></para></listitem>
- <listitem><para><link linkend="DELETEPRINTERCOMMAND"><parameter>delete printer command</parameter></link></para></listitem>
+ <listitem><para><link linkend="DELETEPRINTERCOMMAND"><parameter>deleteprinter command</parameter></link></para></listitem>
<listitem><para><link linkend="DELETESHARECOMMAND"><parameter>delete share command</parameter></link></para></listitem>
<listitem><para><link linkend="DELETEUSERSCRIPT"><parameter>delete user script</parameter></link></para></listitem>
+ <listitem><para><link linkend="DELETEUSERFROMGROUPSCRIPT"><parameter>delete user from group script</parameter></link></para></listitem>
<listitem><para><link linkend="DFREECOMMAND"><parameter>dfree command</parameter></link></para></listitem>
+ <listitem><para><link linkend="DISABLENETBIOS"><parameter>disable netbios</parameter></link></para></listitem>
<listitem><para><link linkend="DISABLESPOOLSS"><parameter>disable spoolss</parameter></link></para></listitem>
+ <listitem><para><link linkend="DISPLAYCHARSET"><parameter>display charset</parameter></link></para></listitem>
<listitem><para><link linkend="DNSPROXY"><parameter>dns proxy</parameter></link></para></listitem>
<listitem><para><link linkend="DOMAINADMINGROUP"><parameter>domain admin group</parameter></link></para></listitem>
<listitem><para><link linkend="DOMAINGUESTGROUP"><parameter>domain guest group</parameter></link></para></listitem>
<listitem><para><link linkend="DOMAINLOGONS"><parameter>domain logons</parameter></link></para></listitem>
<listitem><para><link linkend="DOMAINMASTER"><parameter>domain master</parameter></link></para></listitem>
+ <listitem><para><link linkend="DOSCHARSET"><parameter>dos charset</parameter></link></para></listitem>
<listitem><para><link linkend="ENCRYPTPASSWORDS"><parameter>encrypt passwords</parameter></link></para></listitem>
<listitem><para><link linkend="ENHANCEDBROWSING"><parameter>enhanced browsing</parameter></link></para></listitem>
<listitem><para><link linkend="ENUMPORTSCOMMAND"><parameter>enumports command</parameter></link></para></listitem>
<listitem><para><link linkend="GETWDCACHE"><parameter>getwd cache</parameter></link></para></listitem>
<listitem><para><link linkend="HIDELOCALUSERS"><parameter>hide local users</parameter></link></para></listitem>
<listitem><para><link linkend="HIDEUNREADABLE"><parameter>hide unreadable</parameter></link></para></listitem>
+ <listitem><para><link linkend="HIDEUNWRITEABLEFILES"><parameter>hide unwriteable files</parameter></link></para></listitem>
<listitem><para><link linkend="HOMEDIRMAP"><parameter>homedir map</parameter></link></para></listitem>
<listitem><para><link linkend="HOSTMSDFS"><parameter>host msdfs</parameter></link></para></listitem>
+ <listitem><para><link linkend="HOSTNAMELOOKUPS"><parameter>hostname lookups</parameter></link></para></listitem>
<listitem><para><link linkend="HOSTSEQUIV"><parameter>hosts equiv</parameter></link></para></listitem>
<listitem><para><link linkend="INTERFACES"><parameter>interfaces</parameter></link></para></listitem>
<listitem><para><link linkend="KEEPALIVE"><parameter>keepalive</parameter></link></para></listitem>
@@ -682,11 +692,13 @@
<listitem><para><link linkend="MINPASSWORDLENGTH"><parameter>min password length</parameter></link></para></listitem>
<listitem><para><link linkend="MINPROTOCOL"><parameter>min protocol</parameter></link></para></listitem>
<listitem><para><link linkend="MINWINSTTL"><parameter>min wins ttl</parameter></link></para></listitem>
+ <listitem><para><link linkend="NAMECACHETIMEOUT"><parameter>name cache timeout</parameter></link></para></listitem>
<listitem><para><link linkend="NAMERESOLVEORDER"><parameter>name resolve order</parameter></link></para></listitem>
<listitem><para><link linkend="NETBIOSALIASES"><parameter>netbios aliases</parameter></link></para></listitem>
<listitem><para><link linkend="NETBIOSNAME"><parameter>netbios name</parameter></link></para></listitem>
<listitem><para><link linkend="NETBIOSSCOPE"><parameter>netbios scope</parameter></link></para></listitem>
<listitem><para><link linkend="NISHOMEDIR"><parameter>nis homedir</parameter></link></para></listitem>
+ <listitem><para><link linkend="NTLMAUTH"><parameter>ntlm auth</parameter></link></para></listitem>
<listitem><para><link linkend="NONUNIXACCOUNTRANGE"><parameter>non unix account range</parameter></link></para></listitem>
<listitem><para><link linkend="NTPIPESUPPORT"><parameter>nt pipe support</parameter></link></para></listitem>
<listitem><para><link linkend="NTSTATUSSUPPORT"><parameter>nt status support</parameter></link></para></listitem>
@@ -697,6 +709,7 @@
<listitem><para><link linkend="OS2DRIVERMAP"><parameter>os2 driver map</parameter></link></para></listitem>
<listitem><para><link linkend="PAMPASSWORDCHANGE"><parameter>pam password change</parameter></link></para></listitem>
<listitem><para><link linkend="PANICACTION"><parameter>panic action</parameter></link></para></listitem>
+ <listitem><para><link linkend="PARANOIDSERVERSECURITY"><parameter>paranoid server security</parameter></link></para></listitem>
<listitem><para><link linkend="PASSDBBACKEND"><parameter>passdb backend</parameter></link></para></listitem>
<listitem><para><link linkend="PASSWDCHAT"><parameter>passwd chat</parameter></link></para></listitem>
<listitem><para><link linkend="PASSWDCHATDEBUG"><parameter>passwd chat debug</parameter></link></para></listitem>
@@ -714,6 +727,7 @@
<listitem><para><link linkend="READBMPX"><parameter>read bmpx</parameter></link></para></listitem>
<listitem><para><link linkend="READRAW"><parameter>read raw</parameter></link></para></listitem>
<listitem><para><link linkend="READSIZE"><parameter>read size</parameter></link></para></listitem>
+ <listitem><para><link linkend="REALM"><parameter>realm</parameter></link></para></listitem>
<listitem><para><link linkend="REMOTEANNOUNCE"><parameter>remote announce</parameter></link></para></listitem>
<listitem><para><link linkend="REMOTEBROWSESYNC"><parameter>remote browse sync</parameter></link></para></listitem>
<listitem><para><link linkend="RESTRICTANONYMOUS"><parameter>restrict anonymous</parameter></link></para></listitem>
@@ -725,6 +739,7 @@
<listitem><para><link linkend="SHOWADDPRINTERWIZARD"><parameter>show add printer wizard</parameter></link></para></listitem>
<listitem><para><link linkend="SHUTDOWNSCRIPT"><parameter>shutdown script</parameter></link></para></listitem>
<listitem><para><link linkend="SMBPASSWDFILE"><parameter>smb passwd file</parameter></link></para></listitem>
+ <listitem><para><link linkend="SMBPORTS"><parameter>smb ports</parameter></link></para></listitem>
<listitem><para><link linkend="SOCKETADDRESS"><parameter>socket address</parameter></link></para></listitem>
<listitem><para><link linkend="SOCKETOPTIONS"><parameter>socket options</parameter></link></para></listitem>
<listitem><para><link linkend="SOURCEENVIRONMENT"><parameter>source environment</parameter></link></para></listitem>
@@ -740,6 +755,8 @@
<listitem><para><link linkend="TIMESERVER"><parameter>time server</parameter></link></para></listitem>
<listitem><para><link linkend="TIMESTAMPLOGS"><parameter>timestamp logs</parameter></link></para></listitem>
<listitem><para><link linkend="TOTALPRINTJOBS"><parameter>total print jobs</parameter></link></para></listitem>
+ <listitem><para><link linkend="UNICODE"><parameter>unicode</parameter></link></para></listitem>
+ <listitem><para><link linkend="UNIXCHARSET"><parameter>unix charset</parameter></link></para></listitem>
<listitem><para><link linkend="UNIXEXTENSIONS"><parameter>unix extensions</parameter></link></para></listitem>
<listitem><para><link linkend="UNIXPASSWORDSYNC"><parameter>unix password sync</parameter></link></para></listitem>
<listitem><para><link linkend="UPDATEENCRYPTED"><parameter>update encrypted</parameter></link></para></listitem>
@@ -749,6 +766,7 @@
<listitem><para><link linkend="USERNAMEMAP"><parameter>username map</parameter></link></para></listitem>
<listitem><para><link linkend="UTMP"><parameter>utmp</parameter></link></para></listitem>
<listitem><para><link linkend="UTMPDIRECTORY"><parameter>utmp directory</parameter></link></para></listitem>
+ <listitem><para><link linkend="WTMPDIRECTORY"><parameter>wtmp directory</parameter></link></para></listitem>
<listitem><para><link linkend="WINBINDCACHETIME"><parameter>winbind cache time</parameter></link></para></listitem>
<listitem><para><link linkend="WINBINDENUMUSERS"><parameter>winbind enum users</parameter></link></para></listitem>
<listitem><para><link linkend="WINBINDENUMGROUPS"><parameter>winbind enum groups</parameter></link></para></listitem>
@@ -757,6 +775,7 @@
<listitem><para><link linkend="WINBINDUID"><parameter>winbind uid</parameter></link></para></listitem>
<listitem><para><link linkend="WINBINDUSEDEFAULTDOMAIN"><parameter>winbind use default domain</parameter></link></para></listitem>
<listitem><para><link linkend="WINSHOOK"><parameter>wins hook</parameter></link></para></listitem>
+ <listitem><para><link linkend="WINSPARTNERS"><parameter>wins partners</parameter></link></para></listitem>
<listitem><para><link linkend="WINSPROXY"><parameter>wins proxy</parameter></link></para></listitem>
<listitem><para><link linkend="WINSSERVER"><parameter>wins server</parameter></link></para></listitem>
<listitem><para><link linkend="WINSSUPPORT"><parameter>wins support</parameter></link></para></listitem>
@@ -777,6 +796,7 @@
<listitem><para><link linkend="ALLOWHOSTS"><parameter>allow hosts</parameter></link></para></listitem>
<listitem><para><link linkend="AVAILABLE"><parameter>available</parameter></link></para></listitem>
<listitem><para><link linkend="BLOCKINGLOCKS"><parameter>blocking locks</parameter></link></para></listitem>
+<listitem><para><link linkend="BLOCKSIZE"><parameter>block size</parameter></link></para></listitem>
<listitem><para><link linkend="BROWSABLE"><parameter>browsable</parameter></link></para></listitem>
<listitem><para><link linkend="BROWSEABLE"><parameter>browseable</parameter></link></para></listitem>
<listitem><para><link linkend="CASESENSITIVE"><parameter>case sensitive</parameter></link></para></listitem>
@@ -835,6 +855,7 @@
<listitem><para><link linkend="MANGLEDMAP"><parameter>mangled map</parameter></link></para></listitem>
<listitem><para><link linkend="MANGLEDNAMES"><parameter>mangled names</parameter></link></para></listitem>
<listitem><para><link linkend="MANGLINGCHAR"><parameter>mangling char</parameter></link></para></listitem>
+ <listitem><para><link linkend="MANGLINGMETHOD"><parameter>mangling method</parameter></link></para></listitem>
<listitem><para><link linkend="MAPARCHIVE"><parameter>map archive</parameter></link></para></listitem>
<listitem><para><link linkend="MAPHIDDEN"><parameter>map hidden</parameter></link></para></listitem>
<listitem><para><link linkend="MAPSYSTEM"><parameter>map system</parameter></link></para></listitem>
@@ -887,6 +908,7 @@
<listitem><para><link linkend="VALIDUSERS"><parameter>valid users</parameter></link></para></listitem>
<listitem><para><link linkend="VETOFILES"><parameter>veto files</parameter></link></para></listitem>
<listitem><para><link linkend="VETOOPLOCKFILES"><parameter>veto oplock files</parameter></link></para></listitem>
+ <listitem><para><link linkend="VFSPATH"><parameter>vfs path</parameter></link></para></listitem>
<listitem><para><link linkend="VFSOBJECT"><parameter>vfs object</parameter></link></para></listitem>
<listitem><para><link linkend="VFSOPTIONS"><parameter>vfs options</parameter></link></para></listitem>
<listitem><para><link linkend="VOLUME"><parameter>volume</parameter></link></para></listitem>
@@ -920,9 +942,8 @@
</listitem>
</varlistentry>
-
<varlistentry>
- <term><anchor id="ADDPRINTERCOMMAND">add printer command (G)</term>
+ <term><anchor id="ADDPRINTERCOMMAND">addprinter command (G)</term>
<listitem><para>With the introduction of MS-RPC based printing
support for Windows NT/2000 clients in Samba 2.2, The MS Add
Printer Wizard (APW) icon is now also available in the
@@ -939,7 +960,7 @@
shared by <ulink url="smbd.8.html"><command>smbd(8)</command>
</ulink>.</para>
- <para>The <parameter>add printer command</parameter> is
+ <para>The <parameter>addprinter command</parameter> is
automatically invoked with the following parameter (in
order:</para>
@@ -959,14 +980,14 @@
only. The remaining fields in the structure are generated from answers
to the APW questions.</para>
- <para>Once the <parameter>add printer command</parameter> has
+ <para>Once the <parameter>addprinter command</parameter> has
been executed, <command>smbd</command> will reparse the <filename>
smb.conf</filename> to determine if the share defined by the APW
exists. If the sharename is still invalid, then <command>smbd
</command> will return an ACCESS_DENIED error to the client.</para>
<para>See also <link linkend="DELETEPRINTERCOMMAND"><parameter>
- delete printer command</parameter></link>, <link
+ deleteprinter command</parameter></link>, <link
linkend="printing"><parameter>printing</parameter></link>,
<link linkend="SHOWADDPRINTERWIZARD"><parameter>show add
printer wizard</parameter></link></para>
@@ -1016,7 +1037,7 @@
<para>
This parameter is only used for add file shares. To add printer shares,
- see the <link linkend="ADDPRINTERCOMMAND"><parameter>add printer
+ see the <link linkend="ADDPRINTERCOMMAND"><parameter>addprinter
command</parameter></link>.
</para>
@@ -1051,6 +1072,18 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="ADSSERVER">ads server (G)</term>
+ <listitem><para>If this option is specified, samba does
+ not try to figure out what ads server to use itself, but
+ uses the specified ads server. Either one DNS name or IP
+ address can be used.</para>
+
+ <para>Default: <command>ads server = </command></para>
+
+ <para>Example: <command>ads server = 192.168.1.2</command></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="ADDUSERSCRIPT">add user script (G)</term>
@@ -1102,14 +1135,12 @@
%u</command></para>
</listitem>
</varlistentry>
-<varlistentry><term><anchor id="ADDGROUPSCRIPT">add group script (G)</term>
-<listitem><para>This is the full pathname to a script that will
- be run <emphasis>AS ROOT</emphasis> by <ulink url="smbd.8.html">smbd(8) when a new group is requested. It will expand any <parameter>%g</parameter> to the group name passed. This script is only useful for installations using the Windows NT domain administration tools.
- </ulink>
-
-</para></listitem>
-</varlistentry>
-
+
+ <varlistentry><term><anchor id="ADDGROUPSCRIPT">add group script (G)</term>
+ <listitem><para>This is the full pathname to a script that will
+ be run <emphasis>AS ROOT</emphasis> by <ulink url="smbd.8.html">smbd(8)</ulink> when a new group is requested. It will expand any <parameter>%g</parameter> to the group name passed. This script is only useful for installations using the Windows NT domain administration tools.
+ </para></listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="ADMINUSERS">admin users (S)</term>
@@ -1126,8 +1157,23 @@
<para>Example: <command>admin users = jason</command></para>
</listitem>
</varlistentry>
-
+ <varlistentry>
+ <term><anchor id="ADDUSERTOGROUPSCRIPT">add user to group script (G)</term>
+ <listitem><para>Full path to the script that will be called when
+ a user is added to a group using the Windows NT domain administration
+ tools. It will be run by <ulink url="smbd.8.html">smbd(8)</ulink>
+ <emphasis>AS ROOT</emphasis>. Any <parameter>%g</parameter> will be
+ replaced with the group name and any <parameter>%u</parameter> will
+ be replaced with the user name.
+ </para>
+
+ <para>Default: <command>add user to group script = </command></para>
+
+ <para>Example: <command>add user to group script = /usr/sbin/adduser %u %g</command></para>
+
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="ALLOWHOSTS">allow hosts (S)</term>
@@ -1182,8 +1228,6 @@
</listitem>
</varlistentry>
-
-
<varlistentry>
<term><anchor id="ANNOUNCEAS">announce as (G)</term>
<listitem><para>This specifies what type of server
@@ -1353,7 +1397,31 @@
</listitem>
</varlistentry>
-
+
+ <varlistentry>
+ <term><anchor id="BLOCKSIZE">block size (S)</term>
+ <listitem><para>This parameter controls the behavior of
+ <ulink url="smbd.8.html">smbd(8)</ulink> when reporting disk free
+ sizes. By default, this reports a disk block size of 1024 bytes.
+ </para>
+
+ <para>Changing this parameter may have some effect on the
+ efficiency of client writes, this is not yet confirmed. This
+ parameter was added to allow advanced administrators to change
+ it (usually to a higher value) and test the effect it has on
+ client write performance without re-compiling the code. As this
+ is an experimental option it may be removed in a future release.
+ </para>
+
+ <para>Changing this option does not change the disk free reporting
+ size, just the block size unit reported to the client.</para>
+
+ <para>Default: <command>block size = 1024</command></para>
+ <para>Example: <command>block size = 65536</command></para>
+
+ </listitem>
+ </varlistentry>
+
<varlistentry>
@@ -1800,10 +1868,14 @@
</listitem>
</varlistentry>
-
+ <varlistentry><term><anchor id="DELETEGROUPSCRIPT">delete group script (G)</term>
+ <listitem><para>This is the full pathname to a script that will
+ be run <emphasis>AS ROOT</emphasis> by <ulink url="smbd.8.html">smbd(8)</ulink> when a group is requested to be deleted. It will expand any <parameter>%g</parameter> to the group name passed. This script is only useful for installations using the Windows NT domain administration tools.
+ </para></listitem>
+ </varlistentry>
<varlistentry>
- <term><anchor id="DELETEPRINTERCOMMAND">delete printer command (G)</term>
+ <term><anchor id="DELETEPRINTERCOMMAND">deleteprinter command (G)</term>
<listitem><para>With the introduction of MS-RPC based printer
support for Windows NT/2000 clients in Samba 2.2, it is now
possible to delete printer at run time by issuing the
@@ -1816,19 +1888,19 @@
from the print system and from <filename>smb.conf</filename>.
</para>
- <para>The <parameter>delete printer command</parameter> is
+ <para>The <parameter>deleteprinter command</parameter> is
automatically called with only one parameter: <parameter>
"printer name"</parameter>.</para>
- <para>Once the <parameter>delete printer command</parameter> has
+ <para>Once the <parameter>deleteprinter command</parameter> has
been executed, <command>smbd</command> will reparse the <filename>
smb.conf</filename> to associated printer no longer exists.
If the sharename is still valid, then <command>smbd
</command> will return an ACCESS_DENIED error to the client.</para>
<para>See also <link linkend="ADDPRINTERCOMMAND"><parameter>
- add printer command</parameter></link>, <link
+ addprinter command</parameter></link>, <link
linkend="printing"><parameter>printing</parameter></link>,
<link linkend="SHOWADDPRINTERWIZARD"><parameter>show add
printer wizard</parameter></link></para>
@@ -1887,7 +1959,7 @@
<para>
This parameter is only used to remove file shares. To delete printer shares,
- see the <link linkend="DELETEPRINTERCOMMAND"><parameter>delete printer
+ see the <link linkend="DELETEPRINTERCOMMAND"><parameter>deleteprinter
command</parameter></link>.
</para>
@@ -1927,9 +1999,22 @@
%u</command></para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="DELETEUSERFROMGROUPSCRIPT">delete user from group script (G)</term>
+ <listitem><para>Full path to the script that will be called when
+ a user is removed from a group using the Windows NT domain administration
+ tools. It will be run by <ulink url="smbd.8.html">smbd(8)</ulink>
+ <emphasis>AS ROOT</emphasis>. Any <parameter>%g</parameter> will be
+ replaced with the group name and any <parameter>%u</parameter> will
+ be replaced with the user name.
+ </para>
+ <para>Default: <command>delete user from group script = </command></para>
-
+ <para>Example: <command>delete user from group script = /usr/sbin/deluser %u %g</command></para>
+
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="DELETEVETOFILES">delete veto files (S)</term>
@@ -2122,10 +2207,24 @@
</varlistentry>
+ <varlistentry>
+ <term><anchor id="DISABLENETBIOS">disable netbios (G)</term>
+ <listitem><para>Enabling this parameter will disable netbios support
+ in Samba. Netbios is the only available form of browsing in
+ all windows versions except for 2000 and XP. </para>
+
+ <para>Note that clients that only support netbios won't be able to
+ see your samba server when netbios support is disabled.
+ </para>
+
+ <para>Default: <command>disable netbios = no</command></para>
+ <para>Example: <command>disable netbios = yes</command></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="DISABLESPOOLSS">disable spoolss (G)</term>
- <listitem><para>Enabling this parameter will disables Samba's support
+ <listitem><para>Enabling this parameter will disable Samba's support
for the SPOOLSS set of MS-RPC's and will yield identical behavior
as Samba 2.0.x. Windows NT/2000 clients will downgrade to using
Lanman style printing commands. Windows 9x/ME will be uneffected by
@@ -2144,6 +2243,19 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="DISPLAYCHARSET">display charset (G)</term>
+ <listitem><para>Specifies the charset that samba will use
+ to print messages to stdout and stderr and SWAT will use.
+ Should generally be the same as the <command>unix charset</command>.
+ </para>
+
+ <para>Default: <command>display charset = ASCII</command></para>
+
+ <para>Example: <command>display charset = UTF8</command></para>
+
+ </listitem>
+ </varlistentry>
<varlistentry>
@@ -2288,7 +2400,20 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="DOSCHARSET">dos charset (G)</term>
+ <listitem><para>DOS SMB clients assume the server has
+ the same charset as they do. This option specifies which
+ charset Samba should talk to DOS clients.
+ </para>
+ <para>The default depends on which charsets you have instaled.
+ Samba tries to use charset 850 but falls back to ASCII in
+ case it is not available. Run <ulink url="testparm.1.html">testparm(1)
+ </ulink> to check the default on your system.
+ </para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="DOSFILEMODE">dos filemode (S)</term>
@@ -2575,8 +2700,7 @@
<varlistentry>
- <term><anchor id="FORCEDIRECTORYSECURITYMODE">force directory
- security mode (S)</term>
+ <term><anchor id="FORCEDIRECTORYSECURITYMODE">force directory security mode (S)</term>
<listitem><para>This parameter controls what UNIX permission bits
can be modified when a Windows NT client is manipulating the UNIX
permission on a directory using the native NT security dialog box.</para>
@@ -2647,8 +2771,6 @@
</listitem>
</varlistentry>
-
-
<varlistentry>
<term><anchor id="FORCESECURITYMODE">force security mode (S)</term>
<listitem><para>This parameter controls what UNIX permission
@@ -2682,6 +2804,8 @@
<para>Example: <command>force security mode = 700</command></para>
</listitem>
</varlistentry>
+
+
@@ -2873,14 +2997,24 @@
<varlistentry>
- <term><anchor id="HIDEUNREADABLE">hide unreadable (S)</term>
+ <term><anchor id="HIDEUNREADABLE">hide unreadable (G)</term>
<listitem><para>This parameter prevents clients from seeing the
existance of files that cannot be read. Defaults to off.</para>
- <para>Default: <command>hide unreadable = no</command></para></listitem>
+ <para>Default: <command>hide unreadable = no</command></para>
+ </listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="HIDEUNWRITEABLEFILES">hide unwriteable files (G)</term>
+ <listitem><para>This parameter prevents clients from seeing
+ the existance of files that cannot be written to. Defaults to off.
+ Note that unwriteable directories are shown as usual.
+ </para>
+ <para>Default: <command>hide unwriteable = no</command></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="HOMEDIRMAP">homedir map (G)</term>
@@ -2932,6 +3066,21 @@
<para>Default: <command>host msdfs = no</command></para>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><anchor id="HOSTNAMELOOKUPS">hostname lookups (G)</term>
+ <listitem><para>Specifies whether samba should use (expensive)
+ hostname lookups or use the ip addresses instead. An example place
+ where hostname lookups are currently used is when checking
+ the <command>hosts deny</command> and <command>hosts allow</command>.
+ </para>
+
+ <para>Default: <command>hostname lookups = yes</command></para>
+
+ <para>Example: <command>hostname lookups = no</command></para>
+
+ </listitem>
+ </varlistentry>
<varlistentry>
@@ -3318,7 +3467,7 @@
</para>
- <para>Default : <command>ldap filter = (&(uid=%u)(objectclass=sambaAccount))</command></para>
+ <para>Default : <command>ldap filter = (&amp;(uid=%u)(objectclass=sambaAccount))</command></para>
</listitem>
</varlistentry>
@@ -4131,8 +4280,22 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="MANGLINGMETHOD">mangling method (G)</term>
+ <listitem><para> controls the algorithm used for the generating
+ the mangled names. Can take two different values, "hash" and
+ "hash2". "hash" is the default and is the algorithm that has been
+ used in Samba for many years. "hash2" is a newer and considered
+ a better algorithm (generates less collisions) in the names.
+ However, many Win32 applications store the mangled names and so
+ changing to the new algorithm must not be done
+ lightly as these applications may break unless reinstalled.
+ New installations of Samba may set the default to hash2.</para>
+ <para>Default: <command>mangling method = hash</command></para>
+ <para>Example: <command>mangling method = hash2</command></para>
+ </listitem>
+ </varlistentry>
-
<varlistentry>
<term><anchor id="MANGLEDSTACK">mangled stack (G)</term>
<listitem><para>This parameter controls the number of mangled names
@@ -4670,6 +4833,18 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="NAMECACHETIMEOUT">name cache timeout (G)</term>
+ <listitem><para>Specifies the number of seconds it takes before
+ entries in samba's hostname resolve cache time out. If
+ the timeout is set to 0. the caching is disabled.
+ </para>
+
+
+ <para>Default: <command>name cache timeout = 660</command></para>
+ <para>Example: <command>name cache timeout = 0</command></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="NAMERESOLVEORDER">name resolve order (G)</term>
@@ -5017,7 +5192,19 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="NTLMAUTH">ntlm auth (G)</term>
+ <listitem><para>This parameter determines whether or not <ulink url="smbd.8.html">smbd</ulink> will
+ attempt to authenticate users using the NTLM password hash.
+ If disabled, only the lanman password hashes will be used.
+ </para>
+ <para>Please note that at least this option or <command>lanman auth</command> should be enabled in order to be able to log in.
+ </para>
+
+ <para>Default : <command>ntlm auth = yes</command></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="OSLEVEL">os level (G)</term>
@@ -5098,6 +5285,18 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="PARANOIDSERVERSECURITY">paranoid server security (G)</term>
+ <listitem><para>Some version of NT 4.x allow non-guest
+ users with a bad passowrd. When this option is enabled, samba will not
+ use a broken NT 4.x server as password server, but instead complain
+ to the logs and exit.
+ </para>
+
+ <para>Default: <command>paranoid server security = yes</command></para>
+
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="PASSDBBACKEND">passdb backend (G)</term>
@@ -5108,7 +5307,7 @@
(eg --with-tdbsam) at configure time.
</para>
- <para>This paramater is in two parts, the backend's name, and a 'location'
+ <para>This parameter is in two parts, the backend's name, and a 'location'
string that has meaning only to that particular backed. These are separated
by a : character.</para>
@@ -5145,6 +5344,8 @@
<para>See also <link linkend="NONUNIXACCOUNTRANGE">
<parameter>non unix account range</parameter></link></para></listitem>
+ <listitem><para><command>nisplussam</command> - The NIS+ based passdb backend. Takes name NIS domain as an optional argument. Only works with sun NIS+ servers. </para></listitem>
+
<listitem><para><command>plugin</command> - Allows Samba to load an
arbitary passdb backend from the .so specified as a compulsary argument.
</para>
@@ -6196,6 +6397,18 @@
</varlistentry>
+ <varlistentry>
+ <term><anchor id="REALM">realm (G)</term>
+ <listitem><para>
+ This option specifies the kerberos realm to use. The realm is
+ used as the ADS equivalent of the NT4<command>domain</command>. It
+ is usually set to the DNS name of the kerberos server.
+ </para>
+
+ <para>Default: <command>realm = </command></para>
+ <para>Example: <command>realm = mysambabox.mycompany.com</command></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="REMOTEANNOUNCE">remote announce (G)</term>
@@ -6855,7 +7068,16 @@
</varlistentry>
+ <varlistentry>
+ <term><anchor id="SMBPORTS">smb ports (G)</term>
+ <listitem><para>Specifies which ports the server should listen on
+ for SMB traffic.
+ </para>
+ <para>Default: <command>smb ports = 445 139</command></para>
+
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="SOCKETADDRESS">socket address (G)</term>
@@ -7232,8 +7454,27 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="UNICODE">unicode (G)</term>
+ <listitem><para>Specifies whether Samba should try
+ to use unicode on the wire by default.
+ </para>
+ <para>Default: <command>unicode = yes</command></para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="UNIXCHARSET">unix charset (G)</term>
+ <listitem><para>Specifies the charset the unix machine
+ Samba runs on uses. Samba needs to know this in order to be able to
+ convert text to the charsets other SMB clients use.
+ </para>
+ <para>Default: <command>unix charset = ASCII</command></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="UNIXEXTENSIONS">unix extensions(G)</term>
@@ -7599,8 +7840,6 @@
</listitem>
</varlistentry>
-
-
<varlistentry>
<term><anchor id="UTMPDIRECTORY">utmp directory(G)</term>
<listitem><para>This parameter is only available if Samba has
@@ -7614,11 +7853,30 @@
<filename>/var/run/utmp</filename> on Linux).</para>
<para>Default: <emphasis>no utmp directory</emphasis></para>
+ <para>Example: <command>utmp directory = /var/run/utmp</command></para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="WTMPDIRECTORY">wtmp directory(G)</term>
+ <listitem><para>This parameter is only available if Samba has
+ been configured and compiled with the option <command>
+ --with-utmp</command>. It specifies a directory pathname that is
+ used to store the wtmp or wtmpx files (depending on the UNIX system) that
+ record user connections to a Samba server. The difference with
+ the utmp directory is the fact that user info is kept after a user
+ has logged out.
+
+ See also the <link linkend="UTMP">
+ <parameter>utmp</parameter></link> parameter. By default this is
+ not set, meaning the system will use whatever utmp file the
+ native system is set to use (usually
+ <filename>/var/run/wtmp</filename> on Linux).</para>
-
+ <para>Default: <emphasis>no wtmp directory</emphasis></para>
+ <para>Example: <command>wtmp directory = /var/log/wtmp</command></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
@@ -7722,7 +7980,18 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><anchor id="VFSPATH">vfs path (S)</term>
+ <listitem><para>This parameter specifies the directory
+ to look in for vfs modules. The name of every <command>vfs object
+ </command> will be prepended by this directory
+ </para>
+ <para>Default: <command>vfs path = </command></para>
+ <para>Example: <command>vfs path = /usr/lib/samba/vfs</command></para>
+
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><anchor id="VFSOBJECT">vfs object (S)</term>
@@ -8093,6 +8362,20 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
+ <varlistentry>
+ <term><anchor id="WINSPARTNERS">wins partners (G)</term>
+ <listitem><para>A space separated list of partners' IP addresses for
+ WINS replication. WINS partners are always defined as push/pull
+ partners as defining only one way WINS replication is unreliable.
+ WINS replication is currently experimental and unreliable between
+ samba servers.
+ </para>
+
+ <para>Default: <command>wins partners = </command></para>
+
+ <para>Example: <command>wins partners = 192.168.0.1 172.16.1.2</command></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
diff --git a/docs/docbook/manpages/smbtar.1.sgml b/docs/docbook/manpages/smbtar.1.sgml
index 4e2ee5fff0..d1585d7ca3 100644
--- a/docs/docbook/manpages/smbtar.1.sgml
+++ b/docs/docbook/manpages/smbtar.1.sgml
@@ -190,7 +190,7 @@
<refsect1>
<title>VERSION</title>
- <para>This man page is correct for version 2.2 of
+ <para>This man page is correct for version 3.0 of
the Samba suite.</para>
</refsect1>
diff --git a/docs/docbook/manpages/testparm.1.sgml b/docs/docbook/manpages/testparm.1.sgml
index 320e39e6f5..350683eb57 100644
--- a/docs/docbook/manpages/testparm.1.sgml
+++ b/docs/docbook/manpages/testparm.1.sgml
@@ -18,6 +18,7 @@
<command>testparm</command>
<arg choice="opt">-s</arg>
<arg choice="opt">-h</arg>
+ <arg choice="opt">-v</arg>
<arg choice="opt">-L &lt;servername&gt;</arg>
<arg choice="req">config filename</arg>
<arg choice="opt">hostname hostIP</arg>
@@ -77,6 +78,13 @@
%L macro. </para></listitem>
</varlistentry>
+ <varlistentry>
+ <term>-v</term>
+ <listitem><para>If this option is specified, testparm
+ will also output all options that were not used in
+ <filename>smb.conf</filename> and are thus set to
+ their defaults.</para></listitem>
+ </varlistentry>
<varlistentry>
<term>configfilename</term>
diff --git a/docs/docbook/projdoc/PAM-Authentication-And-Samba.sgml b/docs/docbook/projdoc/PAM-Authentication-And-Samba.sgml
index 594516640d..adcd059bc2 100644
--- a/docs/docbook/projdoc/PAM-Authentication-And-Samba.sgml
+++ b/docs/docbook/projdoc/PAM-Authentication-And-Samba.sgml
@@ -154,7 +154,7 @@ password required /lib/security/pam_smbpass.so nodelay smbconf=/etc/samba.
<para>
Note: PAM allows stacking of authentication mechanisms. It is
-also possible to pass information obtained within on PAM module through
+also possible to pass information obtained within one PAM module through
to the next module in the PAM stack. Please refer to the documentation for
your particular system implementation for details regarding the specific
capabilities of PAM in this environment. Some Linux implmentations also
diff --git a/docs/docbook/projdoc/Samba-BDC-HOWTO.sgml b/docs/docbook/projdoc/Samba-BDC-HOWTO.sgml
index 53a0959c39..08cdc3a668 100644
--- a/docs/docbook/projdoc/Samba-BDC-HOWTO.sgml
+++ b/docs/docbook/projdoc/Samba-BDC-HOWTO.sgml
@@ -64,9 +64,13 @@ parameters in the [global]-section of the smb.conf have to be set:
</para>
<para><programlisting>
-workgroup = SAMBA
-domain master = yes
-domain logons = yes
+[global]
+ workgroup = SAMBA
+ domain master = yes
+ domain logons = yes
+ encrypt passwords = yes
+ security = user
+ ....
</programlisting></para>
<para>
@@ -156,35 +160,48 @@ Several things have to be done:
<itemizedlist>
-<listitem><para>
-The file private/MACHINE.SID identifies the domain. When a samba
-server is first started, it is created on the fly and must never be
-changed again. This file has to be the same on the PDC and the BDC,
-so the MACHINE.SID has to be copied from the PDC to the BDC.
-</para></listitem>
-
-<listitem><para>
-The Unix user database has to be synchronized from the PDC to the
-BDC. This means that both the /etc/passwd and /etc/group have to be
-replicated from the PDC to the BDC. This can be done manually
-whenever changes are made, or the PDC is set up as a NIS master
-server and the BDC as a NIS slave server. To set up the BDC as a
-mere NIS client would not be enough, as the BDC would not be able to
-access its user database in case of a PDC failure.
-</para></listitem>
-
-<listitem><para>
-The Samba password database in the file private/smbpasswd has to be
-replicated from the PDC to the BDC. This is a bit tricky, see the
-next section.
-</para></listitem>
-
-<listitem><para>
-Any netlogon share has to be replicated from the PDC to the
-BDC. This can be done manually whenever login scripts are changed,
-or it can be done automatically together with the smbpasswd
-synchronization.
-</para></listitem>
+ <listitem><para>
+ The file <filename>private/MACHINE.SID</filename> identifies the domain. When a samba
+ server is first started, it is created on the fly and must never be
+ changed again. This file has to be the same on the PDC and the BDC,
+ so the MACHINE.SID has to be copied from the PDC to the BDC. Note that in the
+ latest Samba 2.2.x releases, the machine SID (and therefore domain SID) is stored
+ in the <filename>private/secrets.tdb</filename> database. This file cannot just
+ be copied because Samba looks under the key <constant>SECRETS/SID/<replaceable>DOMAIN</replaceable></constant>.
+ where <replaceable>DOMAIN</replaceable> is the machine's netbios name. Since this name has
+ to be unique for each SAMBA server, this lookup will fail. </para>
+ <para>
+ A new option has been added to the <command>smbpasswd(8)</command>
+ command to help ease this problem. When running <command>smbpasswd -S</command> as the root user,
+ the domain SID will be retrieved from a domain controller matching the value of the
+ <parameter>workgroup</parameter> parameter in <filename>smb.conf</filename> and stored as the
+ new Samba server's machine SID. See the <ulink url="smbpasswd.8.html"><command>smbpasswd(8)</command></ulink>
+ man page for more details on this functionality.
+ </para></listitem>
+
+ <listitem><para>
+ The Unix user database has to be synchronized from the PDC to the
+ BDC. This means that both the /etc/passwd and /etc/group have to be
+ replicated from the PDC to the BDC. This can be done manually
+ whenever changes are made, or the PDC is set up as a NIS master
+ server and the BDC as a NIS slave server. To set up the BDC as a
+ mere NIS client would not be enough, as the BDC would not be able to
+ access its user database in case of a PDC failure. LDAP is also a
+ potential vehicle for sharing this information.
+ </para></listitem>
+
+ <listitem><para>
+ The Samba password database in the file <filename>private/smbpasswd</filename>
+ has to be replicated from the PDC to the BDC. This is a bit tricky, see the
+ next section.
+ </para></listitem>
+
+ <listitem><para>
+ Any netlogon share has to be replicated from the PDC to the
+ BDC. This can be done manually whenever login scripts are changed,
+ or it can be done automatically together with the smbpasswd
+ synchronization.
+ </para></listitem>
</itemizedlist>
@@ -194,9 +211,13 @@ by setting
</para>
<para><programlisting>
-workgroup = samba
-domain master = no
-domain logons = yes
+[global]
+ workgroup = SAMBA
+ domain master = yes
+ domain logons = yes
+ encrypt passwords = yes
+ security = user
+ ....
</programlisting></para>
<para>
@@ -213,8 +234,9 @@ name is reserved for the Primary Domain Controller.
<para>
Replication of the smbpasswd file is sensitive. It has to be done
-whenever changes to the SAM are made. Every user's password change is
-done in the smbpasswd file and has to be replicated to the BDC. So
+whenever changes to the SAM are made. Every user's password change
+(including machine trust account password changes) is done in the
+smbpasswd file and has to be replicated to the BDC. So
replicating the smbpasswd file very often is necessary.
</para>
@@ -222,11 +244,18 @@ replicating the smbpasswd file very often is necessary.
As the smbpasswd file contains plain text password equivalents, it
must not be sent unencrypted over the wire. The best way to set up
smbpasswd replication from the PDC to the BDC is to use the utility
-rsync. rsync can use ssh as a transport. ssh itself can be set up to
-accept *only* rsync transfer without requiring the user to type a
-password.
+<command>rsync(1)</command>. <command>rsync</command> can use
+<command>ssh(1)</command> as a transport. <command>ssh</command> itself
+can be set up to accept <emphasis>only</emphasis> <command>rsync</command> transfer without requiring the user to
+type a password. Refer to the man pages for these two tools for more details.
</para>
+<para>
+Another solution with high potential is to use Samba's <parameter>--with-ldapsam</parameter>
+for sharing and/or replicating the list of <constant>sambaAccount</constant> entries.
+This can all be done over SSL to ensure security. See the <ulink url="Samba-LDAP-HOWTO.html">Samba-LDAP-HOWTO</ulink>
+for more details.
+</para>
</sect2>
</sect1>
diff --git a/docs/docbook/projdoc/Samba-LDAP-HOWTO.sgml b/docs/docbook/projdoc/Samba-LDAP-HOWTO.sgml
index a66df0c767..6b153af6fe 100644
--- a/docs/docbook/projdoc/Samba-LDAP-HOWTO.sgml
+++ b/docs/docbook/projdoc/Samba-LDAP-HOWTO.sgml
@@ -15,7 +15,7 @@
</author>
- <pubdate> (13 Jan 2002) </pubdate>
+ <pubdate> (16 Jun 2002) </pubdate>
</chapterinfo>
<title>Storing Samba's User/Machine Account information in an LDAP Directory</title>
@@ -39,7 +39,7 @@ on LDAP architectures and Directories, please refer to the following sites.
<para>
Note that <ulink url="http://www.ora.com/">O'Reilly Publishing</ulink> is working on
a guide to LDAP for System Administrators which has a planned release date of
-early summer, 2002.
+late 2002.
</para>
<para>
@@ -51,7 +51,8 @@ Two additional Samba resources which may prove to be helpful are
maintained by Ignacio Coupeau.</para></listitem>
<listitem><para>The NT migration scripts from <ulink url="http://samba.idealx.org/">IDEALX</ulink> that are
- geared to manage users and group in such a Samba-LDAP Domain Controller configuration.
+ geared to manage users and group in such a Samba-LDAP Domain Controller configuration. These scripts can
+ be found in the Samba 2.2.5 release in the <filename>examples/LDAP/smbldap-tools/</filename> directory.
</para></listitem>
</itemizedlist>
@@ -75,7 +76,7 @@ in the thousands).
The first is that all lookups must be performed sequentially. Given that
there are approximately two lookups per domain logon (one for a normal
session connection such as when mapping a network drive or printer), this
-is a performance bottleneck for lareg sites. What is needed is an indexed approach
+is a performance bottleneck for large sites. What is needed is an indexed approach
such as is used in databases.
</para></listitem>
@@ -96,7 +97,7 @@ Identified (RID).
<para>
As a result of these defeciencies, a more robust means of storing user attributes
-used by smbd was developed. The API which defines access to user accounts
+used by <command>smbd</command> was developed. The API which defines access to user accounts
is commonly referred to as the samdb interface (previously this was called the passdb
API, and is still so named in the CVS trees). In Samba 2.2.3, enabling support
for a samdb backend (e.g. <parameter>--with-ldapsam</parameter> or
@@ -105,7 +106,7 @@ for a samdb backend (e.g. <parameter>--with-ldapsam</parameter> or
<para>
When compiling Samba to include the <parameter>--with-ldapsam</parameter> autoconf
-option, smbd (and associated tools) will store and lookup user accounts in
+option, <command>smbd</command> (and associated tools) will store and lookup user accounts in
an LDAP directory. In reality, this is very easy to understand. If you are
comfortable with using an smbpasswd file, simply replace "smbpasswd" with
"LDAP directory" in all the documentation.
@@ -162,7 +163,7 @@ in 2.2.2). The sambaAccount objectclass is given here:
</para>
<para><programlisting>
-objectclass ( 1.3.1.5.1.4.1.7165.2.2.2 NAME 'sambaAccount' SUP top STRUCTURAL
+objectclass ( 1.3.1.5.1.4.1.7165.2.2.3 NAME 'sambaAccount' SUP top AUXILARY
DESC 'Samba Account'
MUST ( uid $ rid )
MAY ( cn $ lmPassword $ ntPassword $ pwdLastSet $ logonTime $
@@ -172,29 +173,45 @@ objectclass ( 1.3.1.5.1.4.1.7165.2.2.2 NAME 'sambaAccount' SUP top STRUCTURAL
</programlisting></para>
<para>
-The samba.schema file has been formatted for OpenLDAP 2.0. The OID's are
+The <filename>samba.schema</filename> file has been formatted for OpenLDAP 2.0 & 2.1. The OID's are
owned by the Samba Team and as such is legal to be openly published.
If you translate the schema to be used with Netscape DS, please
-submit the modified schema file as a patch to <ulink
-url="jerry@samba.org">jerry@samba.org</ulink>
+submit the modified schema file as a patch to <ulink url="jerry@samba.org">jerry@samba.org</ulink>
+</para>
+
+<para>
+Since the original release, schema files for
+</para>
+
+<itemizedlist>
+ <listitem><para>IBM's SecureWay Server</para></listitem>
+ <listitem><para>Netscape Directory Server version 4.x and 5.x</para></listitem>
+</itemizedlist>
+
+<para>
+have been submitted and included in the Samba source distribution. I cannot
+personally comment on the integration of these commercial directory servers since
+I have not had the oppotinuity to work with them.
</para>
<para>
Just as the smbpasswd file is mean to store information which supplements a
user's <filename>/etc/passwd</filename> entry, so is the sambaAccount object
-meant to supplement the UNIX user account information. A sambaAccount is a
-<constant>STRUCTURAL</constant> objectclass so it can be stored individually
-in the directory. However, there are several fields (e.g. uid) which overlap
-with the posixAccount objectclass outlined in RFC2307. This is by design.
+meant to supplement the UNIX user account information. A sambaAccount is now an
+<constant>AUXILARY</constant> objectclass so it can be stored alongside
+a posixAccount or person objectclass in the directory. Note that there are
+several fields (e.g. uid) which overlap with the posixAccount objectclass
+outlined in RFC2307. This is by design. The move from a STRUCTURAL objectclass
+to an AUXILIARY one was compliance with the LDAP data model which states that
+an entry can contain only one STRUCTURAL objectclass per entry. This is now
+enforced by the OpenLDAP 2.1 server.
</para>
-<!--olem: we should perhaps have a note about shadowAccounts too as many
-systems use them, isn'it ? -->
<para>
In order to store all user account information (UNIX and Samba) in the directory,
it is necessary to use the sambaAccount and posixAccount objectclasses in
-combination. However, smbd will still obtain the user's UNIX account
+combination. However, <command>smbd</command> will still obtain the user's UNIX account
information via the standard C library calls (e.g. getpwnam(), et. al.).
This means that the Samba server must also have the LDAP NSS library installed
and functioning correctly. This division of information makes it possible to
@@ -254,9 +271,9 @@ like in the following example, to speed up searches made on sambaAccount objectc
## required by OpenLDAP 2.0
index objectclass eq
-## support pb_getsampwnam()
+## support pbb_getsampwnam()
index uid pres,eq
-## support pdb_getsambapwrid()
+## support pdb_getsampwrid()
index rid eq
## uncomment these if you are storing posixAccount and
@@ -326,14 +343,44 @@ use with an LDAP directory could appear as
ldap suffix = "ou=people,dc=samba,dc=org"
# generally the default ldap search filter is ok
- # ldap filter = "(&amp;(uid=%u)(objectclass=sambaAccount))"
+ # ldap filter = "(&(uid=%u)(objectclass=sambaAccount))"
</programlisting></para>
</sect2>
+
+
+<sect2>
+<title>Importing <filename>smbpasswd</filename> entries</title>
+
+<para>
+Import existing user entries from an <filename>smbpasswd</filename> can be trivially done using
+a Perl script named <filename>import_smbpasswd.pl</filename> included in the
+<filename>examples/LDAP/</filename> directory of the Samba source distribution. There are
+two main requirements of this script:
+</para>
+
+<itemizedlist>
+ <listitem><para>All users to be imported to the directory must have a valid uid on the
+ local system. This can be a problem if using a machinej different from the Samba server
+ to import the file.</para></listitem>
+
+ <listitem><para>The local system must have a working installation of the Net::LDAP perl
+ module which can be obtained from with <ulink url="http://search.cpan.org/">http://search.cpan.org/</ulink>
+ by searching for <filename>perl-ldap</filename> or directly from <ulink
+ url="http://perl-ldap.sf.net/">http://perl-ldap.sf.net/</ulink>.
+ </para></listitem>
+</itemizedlist>
+
+<para>
+Please refer to the documentation in the same directory as the script for more details.
+</para>
+
+</sect2>
</sect1>
+
<sect1>
<title>Accounts and Groups management</title>
@@ -582,7 +629,7 @@ ntPassword: 878D8014606CDA29677A44EFA1353FC7
<para>
Please mail all comments regarding this HOWTO to <ulink
url="mailto:jerry@samba.org">jerry@samba.org</ulink>. This documents was
-last updated to reflect the Samba 2.2.3 release.
+last updated to reflect the Samba 2.2.5 release.
</para>
diff --git a/docs/docbook/projdoc/UNIX_INSTALL.sgml b/docs/docbook/projdoc/UNIX_INSTALL.sgml
index aab193c451..c307636d5f 100644
--- a/docs/docbook/projdoc/UNIX_INSTALL.sgml
+++ b/docs/docbook/projdoc/UNIX_INSTALL.sgml
@@ -359,13 +359,16 @@
<title>Printing from UNIX to a Client PC</title>
<para>To use a printer that is available via a smb-based
- server from a unix host you will need to compile the
+ server from a unix host with LPR you will need to compile the
smbclient program. You then need to install the script
"smbprint". Read the instruction in smbprint for more details.
</para>
<para>There is also a SYSV style script that does much
the same thing called smbprint.sysv. It contains instructions.</para>
+
+ <para>See the CUPS manual for information about setting up
+ printing from a unix host with CUPS to a smb-based server. </para>
</sect2>
<sect2>
diff --git a/docs/docbook/projdoc/cups.sgml b/docs/docbook/projdoc/cups.sgml
new file mode 100644
index 0000000000..57a12843a8
--- /dev/null
+++ b/docs/docbook/projdoc/cups.sgml
@@ -0,0 +1,445 @@
+<chapter id="cups">
+
+
+<chapterinfo>
+ <author>
+ <firstname>Kurt</firstname><surname>Pfeifle</surname>
+ <affiliation>
+ <address>
+ <email>kpfeifle@danka.de</email>
+ </address>
+ </affiliation>
+ </author>
+
+
+ <pubdate> (24 May 2002) </pubdate>
+</chapterinfo>
+
+<title>Printing with CUPS in Samba 2.2.x</title>
+
+
+<sect1>
+<title>Printing with CUPS in Samba 2.2.x</title>
+
+<para>
+<ulink url="http://www.cups.org/">CUPS</ulink> is a newcomer in
+the UNIX printing scene, which has convinced many people upon first trial
+already. However, it has quite a few new features, which make it different
+from other, more traditional printing systems.
+</para>
+</sect1>
+
+
+<sect1>
+<title>Configuring <filename>smb.conf</filename> for CUPS</title>
+
+<para>
+Printing with CUPS in the most basic <filename>smb.conf</filename>
+setup in Samba 2.2.x only needs two settings: <command>printing = cups</command> and
+<command>printcap = cups</command>. While CUPS itself doesn't need a printcap
+anymore, the <filename>cupsd.conf</filename> configuration file knows two directives
+(example: <command>Printcap /etc/printcap</command> and <command>PrintcapFormat
+BSD</command>), which control if such a file should be created for the
+convenience of third party applications. Make sure it is set! For details see
+<command>man cupsd.conf</command> and other CUPS-related documentation.
+</para>
+
+<para>
+If SAMBA is compiled against libcups, then <command>printcap =
+cups</command> uses the CUPS API to list printers, submit jobs, etc. Otherwise it
+maps to the System V commands with an additional <parameter>-oraw</parameter>
+option for printing. On a Linux system, you can use the <command>ldd</command> command to
+find out details (ldd may not be present on other OS platforms, or its
+function may be embodied by a different command):
+</para>
+
+<para>
+<programlisting>transmeta:/home/kurt # ldd `which smbd`
+ libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x4002d000)
+ libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x4005a000)
+ libcups.so.2 => /usr/lib/libcups.so.2 (0x40123000)
+ libdl.so.2 => /lib/libdl.so.2 (0x401e8000)
+ libnsl.so.1 => /lib/libnsl.so.1 (0x401ec000)
+ libpam.so.0 => /lib/libpam.so.0 (0x40202000)
+ libc.so.6 => /lib/libc.so.6 (0x4020b000)
+ /lib/ld-linux.so.2 =&gt; /lib/ld-linux.so.2 (0x40000000)
+</programlisting></para>
+
+<para>
+The line "libcups.so.2 =&gt; /usr/lib/libcups.so.2
+(0x40123000)" shows there is CUPS support compiled into this version of
+Samba. If this is the case, and <command>printing = cups</command> is set, then any
+otherwise manually set print command in smb.conf is ignored.
+</para>
+</sect1>
+
+
+
+
+<sect1>
+<title>Using CUPS as a mere spooling print server -- "raw"
+printing with vendor drivers download</title>
+
+<para>
+You can setup Samba and your Windows clients to use the
+CUPS print subsystem just as you would with any of the more traditional print
+subsystems: that means the use of vendor provided, native Windows printer
+drivers for each target printer. If you setup the [print$] share to
+download these drivers to the clients, their GDI system (Graphical Device
+Interface) will output the Wndows EMF (Enhanced MetaFile) and
+convert it -- with the help of the printer driver -- locally into the format
+the printer is expecting. Samba and the CUPS print subsystem will have to
+treat these files as raw print files -- they are already in the
+shape to be digestable for the printer. This is the same traditional setup
+for Unix print servers handling Windows client jobs. It does not take much
+CPU power to handle this kind of task efficiently.
+</para>
+</sect1>
+
+
+
+
+<sect1>
+<title>CUPS as a network PostScript RIP -- CUPS drivers working on server, Adobe
+PostScript driver with CUPS-PPDs downloaded to clients</title>
+
+
+<para>
+CUPS is perfectly able to use PPD files (PostScript
+Printer Descriptions). PPDs can control all print device options. They
+are usually provided by the manufacturer -- if you own a PostSript printer,
+that is. PPD files are always a component of PostScript printer drivers on MS
+Windows or Apple Mac OS systems. They are ASCII files containing
+user-selectable print options, mapped to appropriate PostScript, PCL or PJL
+commands for the target printer. Printer driver GUI dialogs translate these
+options "on-the-fly" into buttons and drop-down lists for the user to
+select.
+</para>
+
+<para>
+CUPS can load, without any conversions, the PPD file from
+any Windows (NT is recommended) PostScript driver and handle the options.
+There is a web browser interface to the print options (select
+http://localhost:631/printers/ and click on one "Configure Printer" button
+to see it), a commandline interface (see <command>man lpoptions</command> or
+try if you have <command>lphelp</command> on your system) plus some different GUI frontends on Linux
+UNIX, which can present PPD options to the users. PPD options are normally
+meant to become evaluated by the PostScript RIP on the real PostScript
+printer.
+</para>
+
+<para>
+CUPS doesn't stop at "real" PostScript printers in its
+usage of PPDs. The CUPS developers have extended the PPD concept, to also
+describe available device and driver options for non-PostScript printers
+through CUPS-PPDs.
+</para>
+
+<para>
+This is logical, as CUPS includes a fully featured
+PostScript interpreter (RIP). This RIP is based on Ghostscript. It can
+process all received PostScript (and additionally many other file formats)
+from clients. All CUPS-PPDs geared to non-PostScript printers contain an
+additional line, starting with the keyword <parameter>*cupsFilter</parameter>.
+This line
+tells the CUPS print system which printer-specific filter to use for the
+interpretation of the accompanying PostScript. Thus CUPS lets all its
+printers appear as PostScript devices to its clients, because it can act as a
+PostScript RIP for those printers, processing the received PostScript code
+into a proper raster print format.
+</para>
+
+<para>
+CUPS-PPDs can also be used on Windows-Clients, on top of a
+PostScript driver (recommended is the Adobe one).
+</para>
+
+<para>
+This feature enables CUPS to do a few tricks no other
+spooler can do:
+</para>
+
+<itemizedlist>
+ <listitem><para>act as a networked PostScript RIP (Raster Image Processor), handling
+ printfiles from all client platforms in a uniform way;</para></listitem>
+ <listitem><para>act as a central accounting and billing server, as all files are passed
+ through the <command>pstops</command> Filter and are therefor logged in
+ the CUPS <filename>page&lowbar;log</filename>. - <emphasis>NOTE: </emphasis>this
+ can not happen with "raw" print jobs, which always remain unfiltered
+ per definition;</para></listitem>
+ <listitem><para>enable clients to consolidate on a single PostScript driver, even for
+ many different target printers.</para></listitem>
+</itemizedlist>
+</sect1>
+
+
+
+<sect1>
+<title>Windows Terminal Servers (WTS) as CUPS clients</title>
+
+<para>
+This setup may be of special interest to people
+experiencing major problems in WTS environments. WTS need often a multitude
+of non-PostScript drivers installed to run their clients' variety of
+different printer models. This often imposes the price of much increased
+instability. In many cases, in an attempt to overcome this problem, site
+administrators have resorted to restrict the allowed drivers installed on
+their WTS to one generic PCL- and one PostScript driver. This however
+restricts the clients in the amount of printer options available for them --
+often they can't get out more then simplex prints from one standard paper
+tray, while their devices could do much better, if driven by a different
+driver!
+</para>
+
+<para>
+Using an Adobe PostScript driver, enabled with a CUPS-PPD,
+seems to be a very elegant way to overcome all these shortcomings. The
+PostScript driver is not known to cause major stability problems on WTS (even
+if used with many different PPDs). The clients will be able to (again) chose
+paper trays, duplex printing and other settings. However, there is a certain
+price for this too: a CUPS server acting as a PostScript RIP for its clients
+requires more CPU and RAM than just to act as a "raw spooling" device. Plus,
+this setup is not yet widely tested, although the first feedbacks look very
+promising...
+</para>
+</sect1>
+
+
+<sect1>
+<title>Setting up CUPS for driver download</title>
+
+<para>
+The <command>cupsadsmb</command> utility (shipped with all current
+CUPS versions) makes the sharing of any (or all) installed CUPS printers very
+easy. Prior to using it, you need the following settings in smb.conf:
+</para>
+
+<para><programlisting>[global]
+ load printers = yes
+ printing = cups
+ printcap name = cups
+
+[printers]
+ comment = All Printers
+ path = /var/spool/samba
+ browseable = no
+ public = yes
+ guest ok = yes
+ writable = no
+ printable = yes
+ printer admin = root
+
+[print$]
+ comment = Printer Drivers
+ path = /etc/samba/drivers
+ browseable = yes
+ guest ok = no
+ read only = yes
+ write list = root
+</programlisting></para>
+
+<para>
+For licensing reasons the necessary files of the Adobe
+Postscript driver can not be distributed with either Samba or CUPS. You need
+to download them yourself from the Adobe website. Once extracted, create a
+<filename>drivers</filename> directory in the CUPS data directory (usually
+<filename>/usr/share/cups/</filename>). Copy the Adobe files using
+UPPERCASE filenames, to this directory as follows:
+</para>
+
+<para><programlisting>
+ ADFONTS.MFM
+ ADOBEPS4.DRV
+ ADOBEPS4.HLP
+ ADOBEPS5.DLL
+ ADOBEPSU.DLL
+ ADOBEPSU.HLP
+ DEFPRTR2.PPD
+ ICONLIB.DLL
+</programlisting></para>
+
+<para>
+Users of the ESP Print Pro software are able to install
+their "Samba Drivers" package for this purpose with no problem.
+</para>
+</sect1>
+
+
+
+<sect1>
+<title>Sources of CUPS drivers / PPDs</title>
+
+<para>
+On the internet you can find now many thousand CUPS-PPD
+files (with their companion filters), in many national languages,
+supporting more than 1.000 non-PostScript models.
+</para>
+
+<itemizedlist>
+ <listitem><para><ulink url="http://wwwl.easysw.com/printpro/">ESP PrintPro
+ (http://wwwl.easysw.com/printpro/)</ulink>
+ (commercial, non-Free) is packaged with more than 3.000 PPDs, ready for
+ successful usage "out of the box" on Linux, IBM-AIX, HP-UX, Sun-Solaris,
+ SGI-IRIX, Compaq Tru64, Digital Unix and some more commercial Unices (it
+ is written by the CUPS developers themselves and its sales help finance
+ the further development of CUPS, as they feed their creators)</para></listitem>
+ <listitem><para>the <ulink
+ url="http://gimp-print.sourceforge.net/">Gimp-Print-Project
+ (http://gimp-print.sourceforge.net/)</ulink>
+ (GPL, Free Software) provides around 120 PPDs (supporting nearly 300
+ printers, many driven to photo quality output), to be used alongside the
+ Gimp-Print CUPS filters;</para></listitem>
+ <listitem><para><ulink url="http://www.turboprint.com/">TurboPrint
+ (http://www.turboprint.com/)</ulink>
+ (Shareware, non-Freee) supports roughly the same amount of printers in
+ excellent quality;</para></listitem>
+ <listitem><para><ulink
+ url="http://www-124.ibm.com/developerworks/oss/linux/projects/omni/">OMNI
+ (http://www-124.ibm.com/developerworks/oss/linux/projects/omni/)</ulink>
+ (LPGL, Free) is a package made by IBM, now containing support for more
+ than 400 printers, stemming from the inheritance of IBM OS/2 KnowHow
+ ported over to Linux (CUPS support is in a Beta-stage at present);</para></listitem>
+ <listitem><para><ulink url="http://hpinkjet.sourceforge.net/">HPIJS
+ (http://hpinkjet.sourceforge.net/)</ulink>
+ (BSD-style licnes, Free) supports around 120 of HP's own printers and is
+ also providing excellent print quality now;</para></listitem>
+ <listitem><para><ulink
+ url="http://www.linuxprinting.org/">Foomatic/cupsomatic (http://www.linuxprinting.org/)</ulink>
+ (LPGL, Free) from Linuxprinting.org are providing PPDs for practically every
+ Ghostscript filter known to the world, now usable with CUPS.</para></listitem>
+</itemizedlist>
+
+<para>
+<emphasis>NOTE: </emphasis>the cupsomatic trick from Linuxprinting.org is
+working different from the other drivers. While the other drivers take the
+generic CUPS raster (produced by CUPS' own pstoraster PostScript RIP) as
+their input, cupsomatic "kidnaps" the PostScript inside CUPS, before
+RIP-ping, deviates it to an external Ghostscript installation (which now
+becomes the RIP) and gives it back to a CUPS backend once Ghostscript is
+finished. -- CUPS versions from 1.1.15 and later will provide their pstoraster
+PostScript RIP function again inside a system-wide Ghostscript
+installation rather than in "their own" pstoraster filter. (This
+CUPS-enabling Ghostscript version may be installed either as a
+patch to GNU or AFPL Ghostscript, or as a complete ESP Ghostscript package).
+However, this will not change the cupsomatic approach of guiding the printjob
+along a different path through the filtering system than the standard CUPS
+way...
+</para>
+
+<para>
+Once you installed a printer inside CUPS with one of the
+recommended methods (the lpadmin command, the web browser interface or one of
+the available GUI wizards), you can use <command>cupsaddsmb</command> to share the
+printer via Samba. <command>cupsaddsmb</command> prepares the driver files for
+comfortable client download and installation upon their first contact with
+this printer share.
+</para>
+
+
+
+<sect2>
+<title><command>cupsaddsmb</command></title>
+
+
+<para>
+The <command>cupsaddsmb</command> command copies the needed files
+for convenient Windows client installations from the previously prepared CUPS
+data directory to your [print$] share. Additionally, the PPD
+associated with this printer is copied from <filename>/etc/cups/ppd/</filename> to
+[print$].
+</para>
+
+<para><programlisting>
+<prompt>root# </prompt> <command>cupsaddsmb -U root infotec_IS2027</command>
+Password for root required to access localhost via SAMBA: <userinput>[type in password 'secret']</userinput>
+</programlisting></para>
+
+<para>
+To share all printers and drivers, use the <parameter>-a</parameter>
+parameter instead of a printer name.
+</para>
+
+
+<para>
+Probably you want to see what's going on. Use the
+<parameter>-v</parameter> parameter to get a more verbose output:
+</para>
+
+<para><programlisting>
+<prompt>root# </prompt> cupsaddsmb -v -U root infotec_IS2027
+ Password for root required to access localhost via SAMBA:
+ Running command: smbclient //localhost/print\$ -N -U'root%secret' -c 'mkdir W32X86;put /var/spool/cups/tmp/3cd1cc66376c0 W32X86/infotec_IS2027.PPD;put /usr/share/cups/drivers/ADOBEPS5.DLL W32X86/ADOBEPS5.DLL;put /usr/share/cups/drivers/ADOBEPSU.DLL W32X86/ADOBEPSU.DLL;put /usr/share/cups/drivers/ADOBEPSU.HLP W32X86/ADOBEPSU.HLP'
+ added interface ip=10.160.16.45 bcast=10.160.31.255 nmask=255.255.240.0
+ added interface ip=192.168.182.1 bcast=192.168.182.255 nmask=255.255.255.0
+ added interface ip=172.16.200.1 bcast=172.16.200.255 nmask=255.255.255.0
+ Domain=[TUX-NET] OS=[Unix] Server=[Samba 2.2.3a.200204262025cvs]
+ NT_STATUS_OBJECT_NAME_COLLISION making remote directory \W32X86
+ putting file /var/spool/cups/tmp/3cd1cc66376c0 as \W32X86/infotec_IS2027.PPD (17394.6 kb/s) (average 17395.2 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPS5.DLL as \W32X86/ADOBEPS5.DLL (10877.4 kb/s) (average 11343.0 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPSU.DLL as \W32X86/ADOBEPSU.DLL (5095.2 kb/s) (average 9260.4 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPSU.HLP as \W32X86/ADOBEPSU.HLP (8828.7 kb/s) (average 9247.1 kb/s)
+
+ Running command: smbclient //localhost/print\$ -N -U'root%secret' -c 'mkdir WIN40;put /var/spool/cups/tmp/3cd1cc66376c0 WIN40/infotec_IS2027.PPD;put /usr/share/cups/drivers/ADFONTS.MFM WIN40/ADFONTS.MFM;put /usr/share/cups/drivers/ADOBEPS4.DRV WIN40/ADOBEPS4.DRV;put /usr/share/cups/drivers/ADOBEPS4.HLP WIN40/ADOBEPS4.HLP;put /usr/share/cups/drivers/DEFPRTR2.PPD WIN40/DEFPRTR2.PPD;put /usr/share/cups/drivers/ICONLIB.DLL WIN40/ICONLIB.DLL;put /usr/share/cups/drivers/PSMON.DLL WIN40/PSMON.DLL;'
+ added interface ip=10.160.16.45 bcast=10.160.31.255 nmask=255.255.240.0
+ added interface ip=192.168.182.1 bcast=192.168.182.255 nmask=255.255.255.0
+ added interface ip=172.16.200.1 bcast=172.16.200.255 nmask=255.255.255.0
+ Domain=[TUX-NET] OS=[Unix] Server=[Samba 2.2.3a.200204262025cvs]
+ NT_STATUS_OBJECT_NAME_COLLISION making remote directory \WIN40
+ putting file /var/spool/cups/tmp/3cd1cc66376c0 as \WIN40/infotec_IS2027.PPD (26091.5 kb/s) (average 26092.8 kb/s)
+ putting file /usr/share/cups/drivers/ADFONTS.MFM as \WIN40/ADFONTS.MFM (11241.6 kb/s) (average 11812.9 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPS4.DRV as \WIN40/ADOBEPS4.DRV (16640.6 kb/s) (average 14679.3 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPS4.HLP as \WIN40/ADOBEPS4.HLP (11285.6 kb/s) (average 14281.5 kb/s)
+ putting file /usr/share/cups/drivers/DEFPRTR2.PPD as \WIN40/DEFPRTR2.PPD (823.5 kb/s) (average 12944.0 kb/s)
+ putting file /usr/share/cups/drivers/ICONLIB.DLL as \WIN40/ICONLIB.DLL (19226.2 kb/s) (average 13169.7 kb/s)
+ putting file /usr/share/cups/drivers/PSMON.DLL as \WIN40/PSMON.DLL (18666.1 kb/s) (average 13266.7 kb/s)
+
+ Running command: rpcclient localhost -N -U'root%secret' -c 'adddriver "Windows NT x86" "infotec_IS2027:ADOBEPS5.DLL:infotec_IS2027.PPD:ADOBEPSU.DLL:ADOBEPSU.HLP:NULL:RAW:NULL"'
+ cmd = adddriver "Windows NT x86" "infotec_IS2027:ADOBEPS5.DLL:infotec_IS2027.PPD:ADOBEPSU.DLL:ADOBEPSU.HLP:NULL:RAW:NULL"
+ Printer Driver infotec_IS2027 successfully installed.
+
+ Running command: rpcclient localhost -N -U'root%secret' -c 'adddriver "Windows 4.0" "infotec_IS2027:ADOBEPS4.DRV:infotec_IS2027.PPD:NULL:ADOBEPS4.HLP:PSMON.DLL:RAW:ADFONTS.MFM,DEFPRTR2.PPD,ICONLIB.DLL"'
+ cmd = adddriver "Windows 4.0" "infotec_IS2027:ADOBEPS4.DRV:infotec_IS2027.PPD:NULL:ADOBEPS4.HLP:PSMON.DLL:RAW:ADFONTS.MFM,DEFPRTR2.PPD,ICONLIB.DLL"
+ Printer Driver infotec_IS2027 successfully installed.
+
+ Running command: rpcclient localhost -N -U'root%secret' -c 'setdriver infotec_IS2027 infotec_IS2027'
+ cmd = setdriver infotec_IS2027 infotec_IS2027
+ Succesfully set infotec_IS2027 to driver infotec_IS2027.
+
+ <prompt>root# </prompt>
+</programlisting></para>
+
+<para>
+If you look closely, you'll discover your root password
+was transfered unencrypted over the wire, so beware! Also, if you look
+further her, you'll discover error messages like
+<constant>NT_STATUS_OBJECT_NAME_COLLISION</constant> in between. They occur, because
+the directories <filename>WIN40</filename> and <filename>W32X86</filename> already
+existed in the [print$] driver download share (from a previous driver
+installation). They are harmless here.
+</para>
+
+<para>
+Now your printer is prepared for the clients to use. From
+a client, browse to the CUPS/Samba server, open the "Printers"
+share, right-click on this printer and select "Install..." or
+"Connect..." (depending on the Windows version you use). Now their
+should be a new printer in your client's local "Printers" folder,
+named (in my case) "infotec_IS2027 on kdebitshop"
+</para>
+
+<para>
+<emphasis>NOTE: </emphasis>
+<command>cupsaddsmb</command> will only reliably work i
+with CUPS version 1.1.15 or higher
+and Samba from 2.2.4. If it doesn't work, or if the automatic printer
+driver download to the clients doesn't succeed, you can still manually
+install the CUPS printer PPD on top of the Adobe PostScript driver on
+clients and then point the client's printer queue to the Samba printer
+share for connection, should you desire to use the CUPS networked
+PostScript RIP functions.
+</para>
+</sect2>
+</sect1>
+
+
+</chapter>
diff --git a/docs/docbook/projdoc/printer_driver2.sgml b/docs/docbook/projdoc/printer_driver2.sgml
index 84a24bcdef..85ae0713b3 100644
--- a/docs/docbook/projdoc/printer_driver2.sgml
+++ b/docs/docbook/projdoc/printer_driver2.sgml
@@ -107,7 +107,7 @@ the client.
<para>
These parameters, including <parameter>printer driver
-file</parameter> parameter, are being depreciated and should not
+file</parameter> parameter, are being deprecated and should not
be used in new installations. For more information on this change,
you should refer to the <link linkend="MIGRATION">Migration section</link>
of this document.
@@ -260,7 +260,7 @@ driver now?</emphasis>
<para>
Click "No" in the error dialog and you will be presented with
-the printer properties window. The way assign a driver to a
+the printer properties window. The way to assign a driver to a
printer is to either
</para>
@@ -382,11 +382,65 @@ of the connected user, not necessarily a root account.
</para>
<para>
-There is a complementing <ulink url="smb.conf.5.html#DELETEPRINTERCOMMAND"><parameter>delete
+There is a complementary <ulink url="smb.conf.5.html#DELETEPRINTERCOMMAND"><parameter>delete
printer command</parameter></ulink> for removing entries from the "Printers..."
folder.
</para>
+<para>
+The following is an example <ulink url="smb.conf.5.html#ADDPRINTERCOMMAN"><parameter>add printer command</parameter></ulink> script. It adds the appropriate entries to <filename>/etc/printcap.local</filename> (change that to what you need) and returns a line of 'Done' which is needed for the whole process to work.
+</para>
+
+<programlisting>
+#!/bin/sh
+
+# Script to insert a new printer entry into printcap.local
+#
+# $1, printer name, used as the descriptive name
+# $2, share name, used as the printer name for Linux
+# $3, port name
+# $4, driver name
+# $5, location, used for the device file of the printer
+# $6, win9x location
+
+#
+# Make sure we use the location that RedHat uses for local printer defs
+PRINTCAP=/etc/printcap.local
+DATE=`date +%Y%m%d-%H%M%S`
+LP=lp
+RESTART="service lpd restart"
+
+# Keep a copy
+cp $PRINTCAP $PRINTCAP.$DATE
+# Add the printer to $PRINTCAP
+echo "" >> $PRINTCAP
+echo "$2|$1:\\" >> $PRINTCAP
+echo " :sd=/var/spool/lpd/$2:\\" >> $PRINTCAP
+echo " :mx=0:ml=0:sh:\\" >> $PRINTCAP
+echo " :lp=/usr/local/samba/var/print/$5.prn:" >> $PRINTCAP
+
+touch "/usr/local/samba/var/print/$5.prn" >> /tmp/printadd.$$ 2>&1
+chown $LP "/usr/local/samba/var/print/$5.prn" >> /tmp/printadd.$$ 2>&1
+
+mkdir /var/spool/lpd/$2
+chmod 700 /var/spool/lpd/$2
+chown $LP /var/spool/lpd/$2
+#echo $1 >> "/usr/local/samba/var/print/$5.prn"
+#echo $2 >> "/usr/local/samba/var/print/$5.prn"
+#echo $3 >> "/usr/local/samba/var/print/$5.prn"
+#echo $4 >> "/usr/local/samba/var/print/$5.prn"
+#echo $5 >> "/usr/local/samba/var/print/$5.prn"
+#echo $6 >> "/usr/local/samba/var/print/$5.prn"
+$RESTART >> "/usr/local/samba/var/print/$5.prn"
+# Not sure if this is needed
+touch /usr/local/samba/lib/smb.conf
+#
+# You need to return a value, but I am not sure what it means.
+#
+echo "Done"
+exit 0
+</programlisting>
+
</sect2>
diff --git a/docs/docbook/projdoc/samba-doc.sgml b/docs/docbook/projdoc/samba-doc.sgml
index 0ec9efe014..75c5c379d3 100644
--- a/docs/docbook/projdoc/samba-doc.sgml
+++ b/docs/docbook/projdoc/samba-doc.sgml
@@ -6,7 +6,6 @@
<!ENTITY DOMAIN-MEMBER SYSTEM "DOMAIN_MEMBER.sgml">
<!ENTITY WINBIND SYSTEM "winbind.sgml">
<!ENTITY NT-Security SYSTEM "NT_Security.sgml">
-<!ENTITY OS2-Client SYSTEM "OS2-Client-HOWTO.sgml">
<!ENTITY Samba-PDC-HOWTO SYSTEM "Samba-PDC-HOWTO.sgml">
<!ENTITY Samba-BDC-HOWTO SYSTEM "Samba-BDC-HOWTO.sgml">
<!ENTITY CVS-Access SYSTEM "CVS-Access.sgml">
@@ -19,7 +18,9 @@
<!ENTITY SECURITY-LEVEL SYSTEM "security_level.sgml">
<!ENTITY SPEED SYSTEM "Speed.sgml">
<!ENTITY BROWSING SYSTEM "Browsing.sgml">
-<!ENTITY INDEX-FILE SYSTEM "index.sgml">
+<!ENTITY GROUP-MAPPING-HOWTO SYSTEM "GROUP-MAPPING-HOWTO.sgml">
+<!ENTITY Portability SYSTEM "Portability.sgml">
+<!ENTITY Other-Clients SYSTEM "Other-Clients.sgml">
]>
<book id="Samba-Project-Documentation">
@@ -79,11 +80,10 @@ Cheers, jerry
&Samba-LDAP;
&BROWSING;
&SPEED;
-&OS2-Client;
+&Other-Clients;
&CVS-Access;
&BUGS;
-
-<!-- Autogenerated Index -->
-&INDEX-FILE;
+&GROUP-MAPPING-HOWTO;
+&Portability;
</book>
diff --git a/docs/docbook/scripts/strip-links.pl b/docs/docbook/scripts/strip-links.pl
index dbbdceaabc..66bc101e08 100644
--- a/docs/docbook/scripts/strip-links.pl
+++ b/docs/docbook/scripts/strip-links.pl
@@ -1,13 +1,15 @@
#!/usr/bin/perl
-## small script to stirp the <URL:...> tags from
+## small script to strip the <URL:...> tags from
## manpages generated from docbook2man. we'll leave
## the <URL:ftp://...> and <URL:mailto:...> links for now
while (<STDIN>) {
chomp ($_);
- $_ =~ s/\s*<URL:.*html.*>\s*//g;
+ $_ =~ s/\s*<URL:.*html.*>\s+/ /g;
+ $_ =~ s/\s*<URL:.*html.*>\S//g;
+ $_ =~ s/\s*<URL:.*html.*>$//g;
print "$_\n";
}