Bug 10000 - Man pages for ntdb tools missing
Man pages for ntdb tools missing
Status: RESOLVED FIXED
Product: Samba 4.1 and newer
Classification: Unclassified
Component: Documentation
unspecified
All All
: P5 normal
: ---
Assigned To: Karolin Seeger
Samba Documentation QA Contact~
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-05 08:33 UTC by Karolin Seeger
Modified: 2013-08-27 07:38 UTC (History)
1 user (show)

See Also:


Attachments
git-am fix for 4.1.0. (23.13 KB, patch)
2013-08-19 23:20 UTC, Jeremy Allison
kseeger: review+
Details
Additional patch to fix version number (4.05 KB, patch)
2013-08-21 08:13 UTC, Karolin Seeger
jra: review+
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karolin Seeger 2013-07-05 08:33:52 UTC
There are no man pages for the ntdb tools available.
That's a blocker for 4.1.0!
Comment 1 Karolin Seeger 2013-08-09 10:17:59 UTC
Rusty, could you provide man pages for ntdb, please?

Thanks!
Comment 2 Rusty Russell 2013-08-15 03:20:13 UTC
samba-bugs@samba.org writes:

> https://bugzilla.samba.org/show_bug.cgi?id=10000
>
> Karolin Seeger <ks@sernet.de> changed:
>
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>          AssignedTo|samba-docs-qa@samba.org     |rusty@rustcorp.com.au
>
> --- Comment #1 from Karolin Seeger <ks@sernet.de> 2013-08-09 10:17:59 UTC ---
> Rusty, could you provide man pages for ntdb, please?
>
> Thanks!
>
> -- 
> Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are the assignee for the bug.

Review and apply please?

From 9aa579ad18ae52578cf51db8c8500dbe739e25ad Mon Sep 17 00:00:00 2001
From: Rusty Russell <rusty@rustcorp.com.au>
Date: Thu, 15 Aug 2013 11:24:55 +0930
Subject: [PATCH] ntdb: add man pages.

Copied and modified from tdb man pages.  Avoided reproducing API documentation
which is extensively documented in the ntdb.h header already.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=10000

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

diff --git a/lib/ntdb/man/ntdb.3.xml b/lib/ntdb/man/ntdb.3.xml
new file mode 100644
index 0000000..79f8937
--- /dev/null
+++ b/lib/ntdb/man/ntdb.3.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<refentry>
+  <refmeta>
+    <refentrytitle>ntdb</refentrytitle>
+    <manvolnum>3</manvolnum>
+    <refmiscinfo class="source">Samba</refmiscinfo>
+    <refmiscinfo class="manual">System Administration tools</refmiscinfo>
+    <refmiscinfo class="version">4.0</refmiscinfo>
+  </refmeta>
+  <refnamediv>
+    <refname>ntdb</refname>
+<refpurpose>A not-so trivial keyword/data database system</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+<synopsis>#include &lt;ntdb.h&gt;</synopsis>
+  </refsynopsisdiv>
+  <refsect1><title>DESCRIPTION</title>
+    <para>
+      If you have previously used the tdb library from Samba, much of
+      this will seem familiar, but there are some API changes which a
+      compiler will warn you about if you simply replace 'tdb' with
+      'ntdb' in your code!  The on-disk format for ntdb is
+      incompatible with tdb.
+    </para>
+    <para>
+      tdb's API was based on gdbm, and ntdb continues this tradition,
+      with enhancements.  A differences guide is available in the text
+      file <filename>lib/ntdb/doc/TDB_porting.txt</filename> in the
+      SAMBA source tree.
+    </para>
+  </refsect1>
+  <refsect1><title>NTDB API OVERVIEW</title>
+    <para>
+      The complete API is documented in the ntdb.h header, which is
+      kept up-to-date and recommended reading.
+    </para>
+    <para>
+      Normal usage is to call ntdb_open() to create or open an ntdb
+      file.  ntdb_store() is used to add records, ntdb_fetch() is used
+      to fetch them.  Traversals are supported via callback
+      (ntdb_traverse()) or iteration (ntdb_firstkey() and
+      ntdb_nextkey()).  Transactions are supported for batching
+      updates or reads atomically, using ntdb_transaction_start() and
+      ntdb_transaction_commit().
+    </para>
+    <refsect2><title>Use With Talloc</title>
+      <para>
+	ntdb_open() takes an optional linked list of attributes:
+	in particular you can specify an alternate allocator (such as
+	talloc):
+      </para>
+      <programlisting>
+#include &lt;talloc.h&gt;
+#include &lt;ntdb.h&gt;
+
+static void *my_alloc(const void *owner, size_t len, void *priv)
+{
+    return talloc_size(owner, len);
+}
+
+static void *my_expand(void *old, size_t newlen, void *priv)
+{
+    return talloc_realloc_size(NULL, old, newlen);
+}
+
+static void my_free(void *old, void *priv)
+{
+    talloc_free(old);
+}
+
+/* This opens an ntdb file as a talloc object with given parent. */
+struct ntdb_context *ntdb_open_talloc(const void *parent,
+                                      const char *filename)
+{
+     struct ntdb_context *ntdb;
+     union ntdb_attribute alloc;
+
+     alloc.base.attr = NTDB_ATTRIBUTE_ALLOCATOR;
+     alloc.base.next = NULL;
+     alloc.alloc.alloc = my_alloc;
+     alloc.alloc.expand = my_expand;
+     alloc.alloc.free = my_free;
+
+     ntdb = ntdb_open(filename, NTDB_DEFAULT, O_RDWR|O_CREAT, 0600,
+                      &amp;alloc);
+     if (ntdb) {
+         talloc_steal(parent, ntdb);
+         talloc_set_name(ntdb, "%s", filename);
+     }
+     return ntdb;
+}
+</programlisting>
+    </refsect2>
+  </refsect1>
+  <refsect1><title>SEE ALSO</title>
+    <para>
+      <ulink url="http://tdb.samba.org/"/>
+    </para>
+  </refsect1>
+
+  <refsect1><title>AUTHOR</title>
+    <para> The original tdb software was created by Andrew Tridgell, and
+    is now developed by the
+      Samba Team as an Open Source project similar to the way the
+      Linux kernel is developed.  ntdb was derived from tdb, but mostly
+      rewritten by Rusty Russell.
+    </para>
+  </refsect1>
+
+  <refsect1><title>COPYRIGHT/LICENSE</title>
+    <para>
+      Copyright (C) Rusty Russell 2013, IBM Corporation
+    </para>
+    <para>
+      This program is free software; you can redistribute it and/or modify
+      it under the terms of the GNU Lesser General Public License as
+      published by the Free Software Foundation; either version 3 of the
+      License, or (at your option) any later version.
+    </para>
+    <para>
+      This program is distributed in the hope that it will be useful, but
+      WITHOUT ANY WARRANTY; without even the implied warranty of
+      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+      General Public License for more details.
+    </para>
+    <para>
+      You should have received a copy of the GNU General Public License
+      along with this program; if not, see http://www.gnu.org/licenses/.
+    </para>
+  </refsect1>
+</refentry>
diff --git a/lib/ntdb/man/ntdbbackup.8.xml b/lib/ntdb/man/ntdbbackup.8.xml
new file mode 100644
index 0000000..977c0f7
--- /dev/null
+++ b/lib/ntdb/man/ntdbbackup.8.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<refentry id="ntdbbackup.8">
+
+<refmeta>
+	<refentrytitle>ntdbbackup</refentrytitle>
+	<manvolnum>8</manvolnum>
+	<refmiscinfo class="source">Samba</refmiscinfo>
+	<refmiscinfo class="manual">System Administration tools</refmiscinfo>
+	<refmiscinfo class="version">4.0</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+	<refname>ntdbbackup</refname>
+	<refpurpose>tool for backing up and for validating the integrity of samba .ntdb files</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+	<cmdsynopsis>
+		<command>ntdbbackup</command>
+		<arg choice="opt">-s suffix</arg>
+		<arg choice="opt">-v</arg>
+		<arg choice="opt">-h</arg>
+	</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+	<title>DESCRIPTION</title>
+
+	<para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+	<manvolnum>1</manvolnum></citerefentry> suite.</para>
+
+	<para><command>ntdbbackup</command> is a tool that may be used to backup samba .ntdb
+	files. This tool may also be used to verify the integrity of the .ntdb 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.
+	</para>
+</refsect1>
+
+
+<refsect1>
+	<title>OPTIONS</title>
+
+	<variablelist>
+
+		<varlistentry>
+		<term>-h</term>
+		<listitem><para>
+		Get help information.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term>-s suffix</term>
+		<listitem><para>
+		The <command>-s</command> option allows the administrator to specify a file
+		backup extension. This way it is possible to keep a history of ntdb backup
+		files by using a new suffix for each backup.
+		</para> </listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term>-v</term>
+		<listitem><para>
+		The <command>-v</command> will check the database for damages (corrupt data)
+		which if detected causes the backup to be restored.
+		</para></listitem>
+		</varlistentry>
+
+	</variablelist>
+</refsect1>
+
+
+<refsect1>
+	<title>COMMANDS</title>
+
+	<para><emphasis>GENERAL INFORMATION</emphasis></para>
+
+	<para>
+	The <command>ntdbbackup</command> 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 ntdb files, even during Samba
+	operation. Typical usage for the command will be:
+	</para>
+
+	<para>ntdbbackup [-s suffix] *.ntdb</para>
+
+	<para>
+	Before restarting samba the following command may be run to validate .ntdb files:
+	</para>
+
+	<para>ntdbbackup -v [-s suffix] *.ntdb</para>
+
+	<para>
+	Note that Samba 4 can use .tdb files instead, so you should
+	use <command>tdbbackup</command> on those files.
+	</para>
+
+	<para>
+	Samba .tdb and .ntdb files are stored in various locations, be sure to run backup all
+	.(n)tdb files on the system. Important files includes:
+	</para>
+
+	<itemizedlist>
+		<listitem><para>
+		<command>secrets.(n)tdb</command> - usual location is in the /usr/local/samba/private
+		directory, or on some systems in /etc/samba.
+		</para></listitem>
+
+		<listitem><para>
+		<command>passdb.(n)tdb</command> - usual location is in the /usr/local/samba/private
+		directory, or on some systems in /etc/samba.
+		</para></listitem>
+
+		<listitem><para>
+		<command>*.tdb</command> and <command>*.ntdb</command> located in the /usr/local/samba/var directory or on some
+		systems in the /var/cache or /var/lib/samba directories.
+		</para></listitem>
+	</itemizedlist>
+
+</refsect1>
+
+<refsect1>
+	<title>VERSION</title>
+
+	<para>This man page is correct for version 4 of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+	<title>SEE ALSO</title>
+
+    <para>
+      tdbbackup(8), ntdbrestore(8)
+    </para>
+</refsect1>
+
+<refsect1>
+	<title>AUTHOR</title>
+
+	<para>
+	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.
+	</para>
+
+	<para>The ntdbbackup man page was written by Rusty Russell,
+	based on the tdbbackup man page by John H Terpstra.</para>
+</refsect1>
+
+</refentry>
diff --git a/lib/ntdb/man/ntdbdump.8.xml b/lib/ntdb/man/ntdbdump.8.xml
new file mode 100644
index 0000000..ee1711a
--- /dev/null
+++ b/lib/ntdb/man/ntdbdump.8.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<refentry id="ntdbdump.8">
+
+<refmeta>
+	<refentrytitle>ntdbdump</refentrytitle>
+	<manvolnum>8</manvolnum>
+	<refmiscinfo class="source">Samba</refmiscinfo>
+	<refmiscinfo class="manual">System Administration tools</refmiscinfo>
+	<refmiscinfo class="version">4.0</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+	<refname>ntdbdump</refname>
+	<refpurpose>tool for printing the contents of an NTDB file</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+	<cmdsynopsis>
+		<command>ntdbdump</command>
+		<arg choice="opt">-k <replaceable>keyname</replaceable></arg>
+		<arg choice="opt">-e</arg>
+		<arg choice="opt">-h</arg>
+		<arg choice="req">filename</arg>
+	</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+	<title>DESCRIPTION</title>
+
+	<para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+	<manvolnum>1</manvolnum></citerefentry> suite.</para>
+
+	<para><command>ntdbdump</command> is a very simple utility that 'dumps' the
+		contents of a NTDB (New Trivial DataBase) file to standard output in a
+		human-readable format.
+	</para>
+
+	<para>This tool can be used when debugging problems with NTDB files. It is
+		intended for those who are somewhat familiar with Samba internals.
+	</para>
+</refsect1>
+
+<refsect1>
+	<title>OPTIONS</title>
+
+	<variablelist>
+
+		<varlistentry>
+		<term>-h</term>
+		<listitem><para>
+		Get help information.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term>-k <replaceable>keyname</replaceable></term>
+		<listitem><para>
+		The <command>-k</command> option restricts dumping to a single key, if found.
+		</para> </listitem>
+		</varlistentry>
+
+	</variablelist>
+</refsect1>
+
+<refsect1>
+	<title>SEE ALSO</title>
+
+    <para>
+      tdbdump(8), ntdbtool(8)
+    </para>
+</refsect1>
+
+<refsect1>
+	<title>VERSION</title>
+
+	<para>This man page is correct for version 4 of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+	<title>AUTHOR</title>
+
+	<para>
+	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.
+	</para>
+
+	<para>The ntdbdump man page was written by Rusty Russell, base on the tdbdump man page by Jelmer Vernooij.</para>
+</refsect1>
+
+</refentry>
diff --git a/lib/ntdb/man/ntdbrestore.8.xml b/lib/ntdb/man/ntdbrestore.8.xml
new file mode 100644
index 0000000..a1f0421
--- /dev/null
+++ b/lib/ntdb/man/ntdbrestore.8.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<refentry id="ntdbrestore.8">
+
+<refmeta>
+	<refentrytitle>ntdbrestore</refentrytitle>
+	<manvolnum>8</manvolnum>
+	<refmiscinfo class="source">Samba</refmiscinfo>
+	<refmiscinfo class="manual">System Administration tools</refmiscinfo>
+	<refmiscinfo class="version">4.0</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+	<refname>ntdbrestore</refname>
+	<refpurpose>tool for creating a NTDB file out of a ntdbdump output</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+	<cmdsynopsis>
+		<command>ntdbrestore</command>
+		<arg choice="req">ntdbfilename</arg>
+	</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+	<title>DESCRIPTION</title>
+
+	<para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+	<manvolnum>1</manvolnum></citerefentry> suite.</para>
+
+	<para><command>ntdbrestore</command> is a very simple utility that 'restores' the
+		contents of dump file into NTDB (New Trivial DataBase) file. The dump file is obtained from the ntdbdump or tdbdump
+		commands.
+	</para>
+
+	<para>This tool wait on the standard input for the content of the dump and will write the ntdb in the ntdbfilename
+  parameter.
+	</para>
+	<para>This tool can be used to translate between ntdb and tdb files by dumping and restoring.
+	</para>
+</refsect1>
+
+
+<refsect1>
+	<title>VERSION</title>
+
+	<para>This man page is correct for version 4 of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+	<title>SEE ALSO</title>
+
+    <para>
+      ntdbdump(8), tdbrestore(8)
+    </para>
+</refsect1>
+
+<refsect1>
+	<title>AUTHOR</title>
+
+	<para>
+	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.
+
+        ntdbrestore was written by Rusty Russell based on tdbrestore, which was initially written by Volker Lendecke based on an
+        idea by Simon McVittie.
+	</para>
+
+	<para>The ntdbrestore man page was written by Rusty Russell, based on the tdbrestore man page by Matthieu Patou.</para>
+</refsect1>
+
+</refentry>
diff --git a/lib/ntdb/man/ntdbtool.8.xml b/lib/ntdb/man/ntdbtool.8.xml
new file mode 100644
index 0000000..6a69a05
--- /dev/null
+++ b/lib/ntdb/man/ntdbtool.8.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<refentry id="ntdbtool.8">
+
+<refmeta>
+	<refentrytitle>ntdbtool</refentrytitle>
+	<manvolnum>8</manvolnum>
+	<refmiscinfo class="source">Samba</refmiscinfo>
+	<refmiscinfo class="manual">System Administration tools</refmiscinfo>
+	<refmiscinfo class="version">4.0</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+	<refname>ntdbtool</refname>
+	<refpurpose>manipulate the contents NTDB files</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+
+	<cmdsynopsis>
+		<command>ntdbtool</command>
+	</cmdsynopsis>
+
+	<cmdsynopsis>
+		<command>ntdbtool</command>
+		<arg choice="plain">
+		<replaceable>NTDBFILE</replaceable>
+		</arg>
+		<arg rep="repeat" choice="opt">
+		<replaceable>COMMANDS</replaceable>
+		</arg>
+	</cmdsynopsis>
+
+</refsynopsisdiv>
+
+<refsect1>
+	<title>DESCRIPTION</title>
+
+	<para>This tool is part of the
+	<citerefentry><refentrytitle>samba</refentrytitle>
+	<manvolnum>1</manvolnum></citerefentry> suite.</para>
+
+	<para><command>ntdbtool</command> a tool for displaying and
+	altering the contents of Samba NTDB (New Trivial DataBase) files. Each
+	of the commands listed below can be entered interactively or
+	provided on the command line.</para>
+
+</refsect1>
+
+
+<refsect1>
+	<title>COMMANDS</title>
+
+	<variablelist>
+
+		<varlistentry>
+		<term><option>create</option>
+		<replaceable>NTDBFILE</replaceable></term>
+		<listitem><para>Create a new database named
+		<replaceable>NTDBFILE</replaceable>.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>open</option>
+		<replaceable>NTDBFILE</replaceable></term>
+		<listitem><para>Open an existing database named
+		<replaceable>NTDBFILE</replaceable>.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>erase</option></term>
+		<listitem><para>Erase the current database.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>dump</option></term>
+		<listitem><para>Dump the current database as strings.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>cdump</option></term>
+		<listitem><para>Dump the current database as connection records.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>keys</option></term>
+		<listitem><para>Dump the current database keys as strings.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>hexkeys</option></term>
+		<listitem><para>Dump the current database keys as hex values.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>info</option></term>
+		<listitem><para>Print summary information about the
+		current database.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>insert</option>
+		<replaceable>KEY</replaceable>
+		<replaceable>DATA</replaceable>
+		</term>
+		<listitem><para>Insert a record into the
+		current database.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>move</option>
+		<replaceable>KEY</replaceable>
+		<replaceable>NTDBFILE</replaceable>
+		</term>
+		<listitem><para>Move a record from the
+		current database into <replaceable>NTDBFILE</replaceable>.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>store</option>
+		<replaceable>KEY</replaceable>
+		<replaceable>DATA</replaceable>
+		</term>
+		<listitem><para>Store (replace) a record in the
+		current database.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>show</option>
+		<replaceable>KEY</replaceable>
+		</term>
+		<listitem><para>Show a record by key.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>delete</option>
+		<replaceable>KEY</replaceable>
+		</term>
+		<listitem><para>Delete a record by key.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>list</option>
+		</term>
+		<listitem><para>Print the current database hash table and free list.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>free</option>
+		</term>
+		<listitem><para>Print the current database and free list.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term><option>!</option>
+		<replaceable>COMMAND</replaceable>
+		</term>
+		<listitem><para>Execute the given system command.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term>
+		<option>first</option>
+		</term>
+		<listitem><para>Print the first record in the current database.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term>
+		<option>next</option>
+		</term>
+		<listitem><para>Print the next record in the current database.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term>
+		<option>check</option>
+		</term>
+		<listitem><para>Check the integrity of the current database.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term>
+		<option>repack</option>
+		</term>
+		<listitem><para>Repack a database using a temporary file to remove fragmentation.
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term>
+		<option>quit</option>
+		</term>
+		<listitem><para>Exit <command>ntdbtool</command>.
+		</para></listitem>
+		</varlistentry>
+
+	</variablelist>
+</refsect1>
+
+<refsect1>
+	<title>SEE ALSO</title>
+
+    <para>
+      tdbtool(8)
+    </para>
+</refsect1>
+
+<refsect1>
+	<title>CAVEATS</title>
+	<para>The contents of the Samba NTDB files are private
+	to the implementation and should not be altered with
+	<command>ntdbtool</command>.
+	</para>
+</refsect1>
+
+<refsect1>
+	<title>VERSION</title>
+	<para>This man page is correct for version 4.0 of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+	<title>AUTHOR</title>
+
+	<para> 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.</para>
+</refsect1>
+
+</refentry>
diff --git a/lib/ntdb/wscript b/lib/ntdb/wscript
index 63c8402..ce66c92 100644
--- a/lib/ntdb/wscript
+++ b/lib/ntdb/wscript
@@ -121,6 +121,8 @@ def configure(conf):
             Logs.warn('Disabling pyntdb as python devel libs not found')
             conf.env.disable_python = True
 
+    conf.CHECK_XSLTPROC_MANPAGES()
+
     # This make #include <ccan/...> work.
     conf.ADD_EXTRA_INCLUDES('''#lib''')
 
@@ -152,7 +154,8 @@ def build(bld):
                           public_headers='ntdb.h',
                           public_headers_install=not private_library,
                           pc_files='ntdb.pc',
-                          private_library=private_library)
+                          private_library=private_library,
+                          manpages='man/ntdb.3')
 
         bld.SAMBA_BINARY('ntdbtorture',
                          'tools/ntdbtorture.c',
@@ -161,19 +164,19 @@ def build(bld):
 
         bld.SAMBA_BINARY('ntdbtool',
                          'tools/ntdbtool.c',
-                         deps='ntdb')
+                         deps='ntdb', manpages='man/ntdbtool.8')
 
         bld.SAMBA_BINARY('ntdbdump',
                          'tools/ntdbdump.c',
-                         deps='ntdb')
+                         deps='ntdb', manpages='man/ntdbdump.8')
 
         bld.SAMBA_BINARY('ntdbrestore',
                          'tools/ntdbrestore.c',
-                         deps='ntdb')
+                         deps='ntdb', manpages='man/ntdbrestore.8')
 
         bld.SAMBA_BINARY('ntdbbackup',
                          'tools/ntdbbackup.c',
-                         deps='ntdb')
+                         deps='ntdb', manpages='man/ntdbbackup.8')
 
         if bld.env.DEVELOPER_MODE:
             # FIXME: We need CCAN for some API tests, but waf thinks it's
Comment 3 Karolin Seeger 2013-08-19 07:30:14 UTC
Rusty, thanks a lot for providing the man pages!
Could you add the patch as an attachment, please?

Thanks!
Comment 4 Jeremy Allison 2013-08-19 23:20:23 UTC
Created attachment 9149 [details]
git-am fix for 4.1.0.

git-am version I've reviewed and pushed to master. Once it's in I'll re-assign to Karolin for inclusion in 4.1.0.
Jeremy.
Comment 5 Karolin Seeger 2013-08-20 09:15:37 UTC
(In reply to comment #4)
> Created attachment 9149 [details]
> git-am fix for 4.1.0.
> 
> git-am version I've reviewed and pushed to master. Once it's in I'll re-assign
> to Karolin for inclusion in 4.1.0.
> Jeremy.

It's commit 3e11421e74 in master.
Comment 6 Karolin Seeger 2013-08-20 09:16:44 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > Created attachment 9149 [details] [details]
> > git-am fix for 4.1.0.
> > 
> > git-am version I've reviewed and pushed to master. Once it's in I'll re-assign
> > to Karolin for inclusion in 4.1.0.
> > Jeremy.
> 
> It's commit 3e11421e74 in master.

Cherry-picked and pushed to autobuild-v4-1-test.
Comment 7 Karolin Seeger 2013-08-21 06:54:24 UTC
Pushed to v4-1-test.
Closing out bug report.

Thanks!
Comment 8 Karolin Seeger 2013-08-21 08:12:27 UTC
Just noticed that the version is set to 4.0, re-opening bug report.
Comment 9 Karolin Seeger 2013-08-21 08:13:45 UTC
Created attachment 9154 [details]
Additional patch to fix version number
Comment 10 Jeremy Allison 2013-08-21 17:07:30 UTC
Comment on attachment 9154 [details]
Additional patch to fix version number

LGTM. Pushed to autobuild !

Thanks,

Jeremy.
Comment 11 Karolin Seeger 2013-08-22 08:51:43 UTC
(In reply to comment #10)
> Comment on attachment 9154 [details]
> Additional patch to fix version number
> 
> LGTM. Pushed to autobuild !
> 
> Thanks,
> 
> Jeremy.

Thanks, Jeremy!

Cherry-picked and pushed to autobuild-v4-1-test.
Comment 12 Karolin Seeger 2013-08-27 07:38:23 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > Comment on attachment 9154 [details] [details]
> > Additional patch to fix version number
> > 
> > LGTM. Pushed to autobuild !
> > 
> > Thanks,
> > 
> > Jeremy.
> 
> Thanks, Jeremy!
> 
> Cherry-picked and pushed to autobuild-v4-1-test.

Pushed to v4-1-test.
Closing out bug report.