From 0110990f01390c80b8db423ba7eed486883219de Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 20 Dec 2009 18:01:24 +0100 Subject: [PATCH] tdb: Also build and install tdb manpages from standalone tdb. --- docs-xml/manpages-3/tdbbackup.8.xml | 2 +- docs-xml/manpages-3/tdbdump.8.xml | 2 +- docs-xml/manpages-3/tdbtool.8.xml | 2 +- lib/tdb/Makefile.in | 6 +- lib/tdb/configure.ac | 7 + lib/tdb/include/tdb.h | 2 +- lib/tdb/manpages/tdbbackup.8.xml | 136 ++++++++++++++++ lib/tdb/manpages/tdbdump.8.xml | 61 ++++++++ lib/tdb/manpages/tdbtool.8.xml | 235 ++++++++++++++++++++++++++++ lib/tdb/tdb.mk | 15 +- 10 files changed, 462 insertions(+), 6 deletions(-) create mode 100644 lib/tdb/manpages/tdbbackup.8.xml create mode 100644 lib/tdb/manpages/tdbdump.8.xml create mode 100644 lib/tdb/manpages/tdbtool.8.xml diff --git a/docs-xml/manpages-3/tdbbackup.8.xml b/docs-xml/manpages-3/tdbbackup.8.xml index 5c42371ea26..78fe32eb8ec 100644 --- a/docs-xml/manpages-3/tdbbackup.8.xml +++ b/docs-xml/manpages-3/tdbbackup.8.xml @@ -1,5 +1,5 @@ - + diff --git a/docs-xml/manpages-3/tdbdump.8.xml b/docs-xml/manpages-3/tdbdump.8.xml index 8e42e086225..90465e53e87 100644 --- a/docs-xml/manpages-3/tdbdump.8.xml +++ b/docs-xml/manpages-3/tdbdump.8.xml @@ -1,5 +1,5 @@ - + diff --git a/docs-xml/manpages-3/tdbtool.8.xml b/docs-xml/manpages-3/tdbtool.8.xml index 042c88cdc60..9f96db277db 100644 --- a/docs-xml/manpages-3/tdbtool.8.xml +++ b/docs-xml/manpages-3/tdbtool.8.xml @@ -1,5 +1,5 @@ - + diff --git a/lib/tdb/Makefile.in b/lib/tdb/Makefile.in index 93bfe37f4f2..3abeec3258c 100644 --- a/lib/tdb/Makefile.in +++ b/lib/tdb/Makefile.in @@ -31,18 +31,22 @@ PYTHON_CHECK_TARGET = @PYTHON_CHECK_TARGET@ LIB_PATH_VAR = @LIB_PATH_VAR@ tdbdir = @tdbdir@ +EXTRA_TARGETS = @DOC_TARGET@ + TDB_OBJ = @TDB_OBJ@ @LIBREPLACEOBJ@ SONAMEFLAG = @SONAMEFLAG@ VERSIONSCRIPT = @VERSIONSCRIPT@ EXPORTSFILE = @EXPORTSFILE@ +XSLTPROC = @XSLTPROC@ + default: all include $(tdbdir)/tdb.mk include $(tdbdir)/rules.mk -all:: showflags dirs $(PROGS) $(TDB_SOLIB) libtdb.a $(PYTHON_BUILD_TARGET) +all:: showflags dirs $(PROGS) $(TDB_SOLIB) libtdb.a $(PYTHON_BUILD_TARGET) $(EXTRA_TARGETS) install:: all $(TDB_SOLIB): $(TDB_OBJ) diff --git a/lib/tdb/configure.ac b/lib/tdb/configure.ac index 779f596e187..dac7bb2673d 100644 --- a/lib/tdb/configure.ac +++ b/lib/tdb/configure.ac @@ -38,6 +38,13 @@ AC_ARG_ENABLE(python, fi ]) +AC_PATH_PROG(XSLTPROC,xsltproc) +DOC_TARGET="" +if test -n "$XSLTPROC"; then + DOC_TARGET=doc +fi +AC_SUBST(DOC_TARGET) + m4_include(build_macros.m4) BUILD_WITH_SHARED_BUILD_DIR diff --git a/lib/tdb/include/tdb.h b/lib/tdb/include/tdb.h index db9ce4ad276..c9e946a8855 100644 --- a/lib/tdb/include/tdb.h +++ b/lib/tdb/include/tdb.h @@ -143,7 +143,7 @@ void tdb_remove_flags(struct tdb_context *tdb, unsigned flag); void tdb_enable_seqnum(struct tdb_context *tdb); void tdb_increment_seqnum_nonblock(struct tdb_context *tdb); int tdb_check(struct tdb_context *tdb, - int (*check)(TDB_DATA key, TDB_DATA data, void *private_data), + int (*check) (TDB_DATA key, TDB_DATA data, void *private_data), void *private_data); /* Low level locking functions: use with care */ diff --git a/lib/tdb/manpages/tdbbackup.8.xml b/lib/tdb/manpages/tdbbackup.8.xml new file mode 100644 index 00000000000..5c42371ea26 --- /dev/null +++ b/lib/tdb/manpages/tdbbackup.8.xml @@ -0,0 +1,136 @@ + + + + + + tdbbackup + 8 + Samba + System Administration tools + 3.6 + + + + + tdbbackup + tool for backing up and for validating the integrity of samba .tdb files + + + + + tdbbackup + -s suffix + -v + -h + + + + + DESCRIPTION + + This tool is part of the samba + 1 suite. + + tdbbackup is a tool that may be used to backup samba .tdb + files. This tool may also be used to verify the integrity of the .tdb files prior + to samba startup or during normal operation. If it finds file damage and it finds + a prior backup the backup file will be restored. + + + + + + OPTIONS + + + + + -h + + Get help information. + + + + + -s suffix + + The -s option allows the adminisistrator to specify a file + backup extension. This way it is possible to keep a history of tdb backup + files by using a new suffix for each backup. + + + + + -v + + The -v will check the database for damages (currupt data) + which if detected causes the backup to be restored. + + + + + + + + + COMMANDS + + GENERAL INFORMATION + + + The tdbbackup utility can safely be run at any time. It was designed so + that it can be used at any time to validate the integrity of tdb files, even during Samba + operation. Typical usage for the command will be: + + + tdbbackup [-s suffix] *.tdb + + + Before restarting samba the following command may be run to validate .tdb files: + + + tdbbackup -v [-s suffix] *.tdb + + + Samba .tdb files are stored in various locations, be sure to run backup all + .tdb file on the system. Important files includes: + + + + + secrets.tdb - usual location is in the /usr/local/samba/private + directory, or on some systems in /etc/samba. + + + + passdb.tdb - usual location is in the /usr/local/samba/private + directory, or on some systems in /etc/samba. + + + + *.tdb located in the /usr/local/samba/var directory or on some + systems in the /var/cache or /var/lib/samba directories. + + + + + + + VERSION + + This man page is correct for version 3 of the Samba suite. + + + + AUTHOR + + + The original Samba software and related utilities were created by Andrew Tridgell. + Samba is now developed by the Samba Team as an Open Source project similar to the way + the Linux kernel is developed. + + + The tdbbackup man page was written by John H Terpstra. + + + diff --git a/lib/tdb/manpages/tdbdump.8.xml b/lib/tdb/manpages/tdbdump.8.xml new file mode 100644 index 00000000000..8e42e086225 --- /dev/null +++ b/lib/tdb/manpages/tdbdump.8.xml @@ -0,0 +1,61 @@ + + + + + + tdbdump + 8 + Samba + System Administration tools + 3.6 + + + + + tdbdump + tool for printing the contents of a TDB file + + + + + tdbdump + filename + + + + + DESCRIPTION + + This tool is part of the samba + 1 suite. + + tdbdump is a very simple utility that 'dumps' the + contents of a TDB (Trivial DataBase) file to standard output in a + human-readable format. + + + This tool can be used when debugging problems with TDB files. It is + intended for those who are somewhat familiar with Samba internals. + + + + + + VERSION + + This man page is correct for version 3 of the Samba suite. + + + + AUTHOR + + + The original Samba software and related utilities were created by Andrew Tridgell. + Samba is now developed by the Samba Team as an Open Source project similar to the way + the Linux kernel is developed. + + + The tdbdump man page was written by Jelmer Vernooij. + + + diff --git a/lib/tdb/manpages/tdbtool.8.xml b/lib/tdb/manpages/tdbtool.8.xml new file mode 100644 index 00000000000..042c88cdc60 --- /dev/null +++ b/lib/tdb/manpages/tdbtool.8.xml @@ -0,0 +1,235 @@ + + + + + + tdbtool + 8 + Samba + System Administration tools + 3.6 + + + + + tdbtool + manipulate the contents TDB files + + + + + + tdbtool + + + + tdbtool + + TDBFILE + + + COMMANDS + + + + + + + DESCRIPTION + + This tool is part of the + samba + 1 suite. + + tdbtool a tool for displaying and + altering the contents of Samba TDB (Trivial DataBase) files. Each + of the commands listed below can be entered interactively or + provided on the command line. + + + + + + COMMANDS + + + + + + TDBFILE + Create a new database named + TDBFILE. + + + + + + TDBFILE + Open an existing database named + TDBFILE. + + + + + + Erase the current database. + + + + + + Dump the current database as strings. + + + + + + Dump the current database as connection records. + + + + + + Dump the current database keys as strings. + + + + + + Dump the current database keys as hex values. + + + + + + Print summary information about the + current database. + + + + + + KEY + DATA + + Insert a record into the + current database. + + + + + + KEY + TDBFILE + + Move a record from the + current database into TDBFILE. + + + + + + KEY + DATA + + Store (replace) a record in the + current database. + + + + + + KEY + + Show a record by key. + + + + + + KEY + + Delete a record by key. + + + + + + + Print the current database hash table and free list. + + + + + + + Print the current database and free list. + + + + + + COMMAND + + Execute the given system command. + + + + + + + + Print the first record in the current database. + + + + + + + + Print the next record in the current database. + + + + + + + + Check the integrity of the current database. + + + + + + + + Exit tdbtool. + + + + + + + + CAVEATS + The contents of the Samba TDB files are private + to the implementation and should not be altered with + tdbtool. + + + + + VERSION + This man page is correct for version 3.0.25 of the Samba suite. + + + + AUTHOR + + The original Samba software and related utilities were + created by Andrew Tridgell. Samba is now developed by the + Samba Team as an Open Source project similar to the way the + Linux kernel is developed. + + + diff --git a/lib/tdb/tdb.mk b/lib/tdb/tdb.mk index 267c2d1c856..93aa8994803 100644 --- a/lib/tdb/tdb.mk +++ b/lib/tdb/tdb.mk @@ -51,7 +51,20 @@ tdb.$(SHLIBEXT): libtdb.$(SHLIBEXT) pytdb.o $(SHLD) $(SHLD_FLAGS) -o $@ pytdb.o -L. -ltdb `$(PYTHON_CONFIG) --ldflags` install:: installdirs installbin installheaders installlibs \ - $(PYTHON_INSTALL_TARGET) + $(PYTHON_INSTALL_TARGET) installdocs + +doc:: manpages/tdbbackup.8 manpages/tdbdump.8 manpages/tdbtool.8 + +.SUFFIXES: .8.xml .8 + +.8.xml.8: + -test -z "$(XSLTPROC)" || $(XSLTPROC) -o $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +installdocs:: + ${INSTALLCMD} -d $(DESTDIR)$(mandir)/man1 + for I in manpages/*.1; do \ + ${INSTALLCMD} -m 644 $$I $(DESTDIR)$(mandir)/man1 \ + done install-python:: build-python mkdir -p $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, prefix='$(prefix)')"` -- 2.34.1