summaryrefslogtreecommitdiff
path: root/databases/ldb20/files
diff options
context:
space:
mode:
Diffstat (limited to 'databases/ldb20/files')
-rw-r--r--databases/ldb20/files/ldb.3427
-rw-r--r--databases/ldb20/files/ldbadd.178
-rw-r--r--databases/ldb20/files/ldbdel.180
-rw-r--r--databases/ldb20/files/ldbedit.1111
-rw-r--r--databases/ldb20/files/ldbmodify.173
-rw-r--r--databases/ldb20/files/ldbrename.181
-rw-r--r--databases/ldb20/files/ldbsearch.191
-rw-r--r--databases/ldb20/files/patch-buildtools_wafsamba_samba__autoconf.py50
-rw-r--r--databases/ldb20/files/patch-buildtools_wafsamba_samba__install.py11
-rw-r--r--databases/ldb20/files/patch-buildtools_wafsamba_wscript22
-rw-r--r--databases/ldb20/files/patch-ldb__mdb_ldb_mdb.c11
-rw-r--r--databases/ldb20/files/patch-ldb_key_value__ldb_kv_cache.c13
-rw-r--r--databases/ldb20/files/patch-lib_replace_wscript11
-rw-r--r--databases/ldb20/files/patch-wscript31
14 files changed, 1090 insertions, 0 deletions
diff --git a/databases/ldb20/files/ldb.3 b/databases/ldb20/files/ldb.3
new file mode 100644
index 000000000000..8ebebfc7f337
--- /dev/null
+++ b/databases/ldb20/files/ldb.3
@@ -0,0 +1,427 @@
+'\" t
+.\" Title: ldb
+.\" Author: [see the "Author" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 12/11/2018
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDB" "3" "12/11/2018" "LDB 1\&.1" "System Administration tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ldb \- A light\-weight database library
+.SH "SYNOPSIS"
+.sp
+.nf
+#include <ldb\&.h>
+.fi
+.SH "DESCRIPTION"
+.PP
+ldb is a light weight embedded database library and API\&. With a programming interface that is very similar to LDAP, ldb can store its data either in a tdb(3) database or in a real LDAP database\&.
+.PP
+When used with the tdb backend ldb does not require any database daemon\&. Instead, ldb function calls are processed immediately by the ldb library, which does IO directly on the database, while allowing multiple readers/writers using operating system byte range locks\&. This leads to an API with very low overheads, often resulting in speeds of more than 10x what can be achieved with a more traditional LDAP architecture\&.
+.PP
+In a taxonomy of databases ldb would sit half way between key/value pair databases (such as berkley db or tdb) and a full LDAP database\&. With a structured attribute oriented API like LDAP and good indexing capabilities, ldb can be used for quite sophisticated applications that need a light weight database, without the administrative overhead of a full LDAP installation\&.
+.PP
+Included with ldb are a number of useful command line tools for manipulating a ldb database\&. These tools are similar in style to the equivalent ldap command line tools\&.
+.PP
+In its default mode of operation with a tdb backend, ldb can also be seen as a "schema\-less LDAP"\&. By default ldb does not require a schema, which greatly reduces the complexity of getting started with ldb databases\&. As the complexity of you application grows you can take advantage of some of the optional schema\-like attributes that ldb offers, or you can migrate to using the full LDAP api while keeping your exiting ldb code\&.
+.PP
+If you are new to ldb, then I suggest starting with the manual pages for ldbsearch(1) and ldbedit(1), and experimenting with a local database\&. Then I suggest you look at the ldb_connect(3) and ldb_search(3) manual pages\&.
+.SH "TOOLS"
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+ldbsearch(1)
+\- command line ldb search utility
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+ldbedit(1)
+\- edit all or part of a ldb database using your favourite editor
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+ldbadd(1)
+\- add records to a ldb database using LDIF formatted input
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+ldbdel(1)
+\- delete records from a ldb database
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+ldbmodify(1)
+\- modify records in a ldb database using LDIF formatted input
+.RE
+.SH "FUNCTIONS"
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_connect(3)\fR
+\- connect to a ldb backend
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_search(3)\fR
+\- perform a database search
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_add(3)\fR
+\- add a record to the database
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_delete(3)\fR
+\- delete a record from the database
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_modify(3)\fR
+\- modify a record in the database
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_errstring(3)\fR
+\- retrieve extended error information from the last operation
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_ldif_write(3)\fR
+\- write a LDIF formatted message
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_ldif_write_file(3)\fR
+\- write a LDIF formatted message to a file
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_ldif_read(3)\fR
+\- read a LDIF formatted message
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_ldif_read_free(3)\fR
+\- free the result of a ldb_ldif_read()
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_ldif_read_file(3)\fR
+\- read a LDIF message from a file
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_ldif_read_string(3)\fR
+\- read a LDIF message from a string
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_msg_find_element(3)\fR
+\- find an element in a ldb_message
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_val_equal_exact(3)\fR
+\- compare two ldb_val structures
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_msg_find_val(3)\fR
+\- find an element by value
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_msg_add_empty(3)\fR
+\- add an empty message element to a ldb_message
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_msg_add(3)\fR
+\- add a non\-empty message element to a ldb_message
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_msg_element_compare(3)\fR
+\- compare two ldb_message_element structures
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_msg_find_int(3)\fR
+\- return an integer value from a ldb_message
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_msg_find_uint(3)\fR
+\- return an unsigned integer value from a ldb_message
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_msg_find_double(3)\fR
+\- return a double value from a ldb_message
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_msg_find_string(3)\fR
+\- return a string value from a ldb_message
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_set_alloc(3)\fR
+\- set the memory allocation function to be used by ldb
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_set_debug(3)\fR
+\- set a debug handler to be used by ldb
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBldb_set_debug_stderr(3)\fR
+\- set a debug handler for stderr output
+.RE
+.SH "AUTHOR"
+.PP
+ldb was written by
+\m[blue]\fBAndrew Tridgell\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+If you wish to report a problem or make a suggestion then please see the
+\m[blue]\fB\%http://ldb.samba.org/\fR\m[]
+web site for current contact and maintainer information\&.
+.PP
+ldb is released under the GNU Lesser General Public License version 2 or later\&. Please see the file COPYING for license details\&.
+.SH "NOTES"
+.IP " 1." 4
+Andrew Tridgell
+.RS 4
+\%https://www.samba.org/~tridge/
+.RE
diff --git a/databases/ldb20/files/ldbadd.1 b/databases/ldb20/files/ldbadd.1
new file mode 100644
index 000000000000..b7e1fa3027ce
--- /dev/null
+++ b/databases/ldb20/files/ldbadd.1
@@ -0,0 +1,78 @@
+'\" t
+.\" Title: ldbadd
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 12/11/2018
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBADD" "1" "12/11/2018" "LDB 1\&.1" "System Administration tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ldbadd \- Command\-line utility for adding records to an LDB
+.SH "SYNOPSIS"
+.HP \w'\fBldbadd\fR\ 'u
+\fBldbadd\fR [\-h] [\-H\ LDB\-URL] [ldif\-file1] [ldif\-file2] [\&.\&.\&.]
+.SH "DESCRIPTION"
+.PP
+ldbadd adds records to an ldb(3) database\&. It reads the ldif(5) files specified on the command line and adds the records from these files to the LDB database, which is specified by the \-H option or the LDB_URL environment variable\&.
+.PP
+If \- is specified as a ldb file, the ldif input is read from standard input\&.
+.SH "OPTIONS"
+.PP
+\-h
+.RS 4
+Show list of available options\&.
+.RE
+.PP
+\-H <ldb\-url>
+.RS 4
+LDB URL to connect to\&. See ldb(3) for details\&.
+.RE
+.SH "ENVIRONMENT"
+.PP
+LDB_URL
+.RS 4
+LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
+.RE
+.SH "VERSION"
+.PP
+This man page is correct for version 1\&.1 of LDB\&.
+.SH "SEE ALSO"
+.PP
+ldb(3), ldbmodify, ldbdel, ldif(5)
+.SH "AUTHOR"
+.PP
+ldb was written by
+\m[blue]\fBAndrew Tridgell\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+If you wish to report a problem or make a suggestion then please see the
+\m[blue]\fB\%http://ldb.samba.org/\fR\m[]
+web site for current contact and maintainer information\&.
+.PP
+This manpage was written by Jelmer Vernooij\&.
+.SH "NOTES"
+.IP " 1." 4
+Andrew Tridgell
+.RS 4
+\%https://www.samba.org/~tridge/
+.RE
diff --git a/databases/ldb20/files/ldbdel.1 b/databases/ldb20/files/ldbdel.1
new file mode 100644
index 000000000000..0b93d92a78bf
--- /dev/null
+++ b/databases/ldb20/files/ldbdel.1
@@ -0,0 +1,80 @@
+'\" t
+.\" Title: ldbdel
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 12/11/2018
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBDEL" "1" "12/11/2018" "LDB 1\&.1" "System Administration tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ldbdel \- Command\-line program for deleting LDB records
+.SH "SYNOPSIS"
+.HP \w'\fBldbdel\fR\ 'u
+\fBldbdel\fR [\-h] [\-H\ LDB\-URL] [dn] [\&.\&.\&.]
+.SH "DESCRIPTION"
+.PP
+ldbdel deletes records from an ldb(3) database\&. It deletes the records identified by the dn\*(Aqs specified on the command\-line\&.
+.PP
+ldbdel uses either the database that is specified with the \-H option or the database specified by the LDB_URL environment variable\&.
+.SH "OPTIONS"
+.PP
+\-h
+.RS 4
+Show list of available options\&.
+.RE
+.PP
+\-H <ldb\-url>
+.RS 4
+LDB URL to connect to\&. See ldb(3) for details\&.
+.RE
+.SH "ENVIRONMENT"
+.PP
+LDB_URL
+.RS 4
+LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
+.RE
+.SH "VERSION"
+.PP
+This man page is correct for version 1\&.1 of LDB\&.
+.SH "SEE ALSO"
+.PP
+ldb(3), ldbmodify, ldbadd, ldif(5)
+.SH "AUTHOR"
+.PP
+ldb was written by
+\m[blue]\fBAndrew Tridgell\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+If you wish to report a problem or make a suggestion then please see the
+\m[blue]\fB\%http://ldb.samba.org/\fR\m[]
+web site for current contact and maintainer information\&.
+.PP
+ldbdel was written by Andrew Tridgell\&.
+.PP
+This manpage was written by Jelmer Vernooij\&.
+.SH "NOTES"
+.IP " 1." 4
+Andrew Tridgell
+.RS 4
+\%https://www.samba.org/~tridge/
+.RE
diff --git a/databases/ldb20/files/ldbedit.1 b/databases/ldb20/files/ldbedit.1
new file mode 100644
index 000000000000..f3e114b853a7
--- /dev/null
+++ b/databases/ldb20/files/ldbedit.1
@@ -0,0 +1,111 @@
+'\" t
+.\" Title: ldbedit
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 12/11/2018
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBEDIT" "1" "12/11/2018" "LDB 1\&.1" "System Administration tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ldbedit \- Edit LDB databases using your preferred editor
+.SH "SYNOPSIS"
+.HP \w'\fBldbedit\fR\ 'u
+\fBldbedit\fR [\-?] [\-\-usage] [\-s\ base|one|sub] [\-b\ basedn] [\-a] [\-e\ editor] [\-H\ LDB\-URL] [expression] [attributes...]
+.SH "DESCRIPTION"
+.PP
+ldbedit is a utility that allows you to edit LDB entries (in tdb files, sqlite files or LDAP servers) using your preferred editor\&. ldbedit generates an LDIF file based on your query, allows you to edit the LDIF, and then merges that LDIF back into the LDB backend\&.
+.SH "OPTIONS"
+.PP
+\-?, \-\-help
+.RS 4
+Show list of available options, and a phrase describing what that option does\&.
+.RE
+.PP
+\-\-usage
+.RS 4
+Show list of available options\&. This is similar to the help option, however it does not provide any description, and is hence shorter\&.
+.RE
+.PP
+\-H <ldb\-url>
+.RS 4
+LDB URL to connect to\&. For a tdb database, this will be of the form tdb://\fIfilename\fR\&. For a LDAP connection over unix domain sockets, this will be of the form ldapi://\fIsocket\fR\&. For a (potentially remote) LDAP connection over TCP, this will be of the form ldap://\fIhostname\fR\&. For an SQLite database, this will be of the form sqlite://\fIfilename\fR\&.
+.RE
+.PP
+\-s one|sub|base
+.RS 4
+Search scope to use\&. One\-level, subtree or base\&.
+.RE
+.PP
+\-a, \-all
+.RS 4
+Edit all records\&. This allows you to apply the same change to a number of records at once\&. You probably want to combine this with an expression of the form "objectclass=*"\&.
+.RE
+.PP
+\-e editor, \-\-editor editor
+.RS 4
+Specify the editor that should be used (overrides the VISUAL and EDITOR environment variables)\&. If this option is not used, and neither VISUAL nor EDITOR environment variables are set, then the vi editor will be used\&.
+.RE
+.PP
+\-b basedn
+.RS 4
+Specify Base Distinguished Name to use\&.
+.RE
+.PP
+\-v, \-\-verbose
+.RS 4
+Make ldbedit more verbose about the operations that are being performed\&. Without this option, ldbedit will only provide a summary change line\&.
+.RE
+.SH "ENVIRONMENT"
+.PP
+LDB_URL
+.RS 4
+LDB URL to connect to\&. This can be overridden by using the \-H command\-line option\&.)
+.RE
+.PP
+VISUAL and EDITOR
+.RS 4
+Environment variables used to determine what editor to use\&. VISUAL takes precedence over EDITOR, and both are overridden by the \-e command\-line option\&.
+.RE
+.SH "VERSION"
+.PP
+This man page is correct for version 1\&.1 of LDB\&.
+.SH "SEE ALSO"
+.PP
+ldb(3), ldbmodify(1), ldbdel(1), ldif(5), vi(1)
+.SH "AUTHOR"
+.PP
+ldb was written by
+\m[blue]\fBAndrew Tridgell\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+If you wish to report a problem or make a suggestion then please see the
+\m[blue]\fB\%http://ldb.samba.org/\fR\m[]
+web site for current contact and maintainer information\&.
+.PP
+This manpage was written by Jelmer Vernooij and updated by Brad Hards\&.
+.SH "NOTES"
+.IP " 1." 4
+Andrew Tridgell
+.RS 4
+\%https://www.samba.org/~tridge/
+.RE
diff --git a/databases/ldb20/files/ldbmodify.1 b/databases/ldb20/files/ldbmodify.1
new file mode 100644
index 000000000000..c6fd6894496a
--- /dev/null
+++ b/databases/ldb20/files/ldbmodify.1
@@ -0,0 +1,73 @@
+'\" t
+.\" Title: ldbmodify
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 12/11/2018
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBMODIFY" "1" "12/11/2018" "LDB 1\&.1" "System Administration tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ldbmodify \- Modify records in a LDB database
+.SH "SYNOPSIS"
+.HP \w'\fBldbmodify\fR\ 'u
+\fBldbmodify\fR [\-H\ LDB\-URL] [ldif\-file]
+.SH "DESCRIPTION"
+.PP
+ldbmodify changes, adds and deletes records in a LDB database\&. The changes that should be made to the LDB database are read from the specified LDIF\-file\&. If \- is specified as the filename, input is read from stdin\&.
+.PP
+For now, see ldapmodify(1) for details on the LDIF file format\&.
+.SH "OPTIONS"
+.PP
+\-H <ldb\-url>
+.RS 4
+LDB URL to connect to\&. See ldb(3) for details\&.
+.RE
+.SH "ENVIRONMENT"
+.PP
+LDB_URL
+.RS 4
+LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
+.RE
+.SH "VERSION"
+.PP
+This man page is correct for version 1\&.1 of LDB\&.
+.SH "SEE ALSO"
+.PP
+ldb(3), ldbedit
+.SH "AUTHOR"
+.PP
+ldb was written by
+\m[blue]\fBAndrew Tridgell\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+If you wish to report a problem or make a suggestion then please see the
+\m[blue]\fB\%http://ldb.samba.org/\fR\m[]
+web site for current contact and maintainer information\&.
+.PP
+This manpage was written by Jelmer Vernooij\&.
+.SH "NOTES"
+.IP " 1." 4
+Andrew Tridgell
+.RS 4
+\%https://www.samba.org/~tridge/
+.RE
diff --git a/databases/ldb20/files/ldbrename.1 b/databases/ldb20/files/ldbrename.1
new file mode 100644
index 000000000000..eb32ae64e53d
--- /dev/null
+++ b/databases/ldb20/files/ldbrename.1
@@ -0,0 +1,81 @@
+'\" t
+.\" Title: ldbrename
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 12/11/2018
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBRENAME" "1" "12/11/2018" "LDB 1\&.1" "System Administration tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ldbrename \- Edit LDB databases using your favorite editor
+.SH "SYNOPSIS"
+.HP \w'\fBldbrename\fR\ 'u
+\fBldbrename\fR [\-h] [\-o\ options] {olddn} {newdn}
+.SH "DESCRIPTION"
+.PP
+ldbrename is a utility that allows you to rename trees in an LDB database based by DN\&. This utility takes two arguments: the original DN name of the top element and the DN to change it to\&.
+.SH "OPTIONS"
+.PP
+\-h
+.RS 4
+Show list of available options\&.
+.RE
+.PP
+\-H <ldb\-url>
+.RS 4
+LDB URL to connect to\&. See ldb(3) for details\&.
+.RE
+.PP
+\-o options
+.RS 4
+Extra ldb options, such as modules\&.
+.RE
+.SH "ENVIRONMENT"
+.PP
+LDB_URL
+.RS 4
+LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
+.RE
+.SH "VERSION"
+.PP
+This man page is correct for version 1\&.1 of LDB\&.
+.SH "SEE ALSO"
+.PP
+ldb(3), ldbmodify, ldbdel, ldif(5)
+.SH "AUTHOR"
+.PP
+ldb was written by
+\m[blue]\fBAndrew Tridgell\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+If you wish to report a problem or make a suggestion then please see the
+\m[blue]\fB\%http://ldb.samba.org/\fR\m[]
+web site for current contact and maintainer information\&.
+.PP
+This manpage was written by Jelmer Vernooij\&.
+.SH "NOTES"
+.IP " 1." 4
+Andrew Tridgell
+.RS 4
+\%https://www.samba.org/~tridge/
+.RE
diff --git a/databases/ldb20/files/ldbsearch.1 b/databases/ldb20/files/ldbsearch.1
new file mode 100644
index 000000000000..a86908b1181f
--- /dev/null
+++ b/databases/ldb20/files/ldbsearch.1
@@ -0,0 +1,91 @@
+'\" t
+.\" Title: ldbsearch
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 12/11/2018
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBSEARCH" "1" "12/11/2018" "LDB 1\&.1" "System Administration tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ldbsearch \- Search for records in a LDB database
+.SH "SYNOPSIS"
+.HP \w'\fBldbsearch\fR\ 'u
+\fBldbsearch\fR [\-h] [\-s\ base|one|sub] [\-b\ basedn] [\-i] [\-H\ LDB\-URL] [expression] [attributes]
+.SH "DESCRIPTION"
+.PP
+ldbsearch searches a LDB database for records matching the specified expression (see the ldapsearch(1) manpage for a description of the expression format)\&. For each record, the specified attributes are printed\&.
+.SH "OPTIONS"
+.PP
+\-h
+.RS 4
+Show list of available options\&.
+.RE
+.PP
+\-H <ldb\-url>
+.RS 4
+LDB URL to connect to\&. See ldb(3) for details\&.
+.RE
+.PP
+\-s one|sub|base
+.RS 4
+Search scope to use\&. One\-level, subtree or base\&.
+.RE
+.PP
+\-i
+.RS 4
+Read search expressions from stdin\&.
+.RE
+.PP
+\-b basedn
+.RS 4
+Specify Base DN to use\&.
+.RE
+.SH "ENVIRONMENT"
+.PP
+LDB_URL
+.RS 4
+LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
+.RE
+.SH "VERSION"
+.PP
+This man page is correct for version 1\&.1 of LDB\&.
+.SH "SEE ALSO"
+.PP
+ldb(3), ldbedit(1)
+.SH "AUTHOR"
+.PP
+ldb was written by
+\m[blue]\fBAndrew Tridgell\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+If you wish to report a problem or make a suggestion then please see the
+\m[blue]\fB\%http://ldb.samba.org/\fR\m[]
+web site for current contact and maintainer information\&.
+.PP
+This manpage was written by Jelmer Vernooij\&.
+.SH "NOTES"
+.IP " 1." 4
+Andrew Tridgell
+.RS 4
+\%https://www.samba.org/~tridge/
+.RE
diff --git a/databases/ldb20/files/patch-buildtools_wafsamba_samba__autoconf.py b/databases/ldb20/files/patch-buildtools_wafsamba_samba__autoconf.py
new file mode 100644
index 000000000000..0403fd0fb236
--- /dev/null
+++ b/databases/ldb20/files/patch-buildtools_wafsamba_samba__autoconf.py
@@ -0,0 +1,50 @@
+--- buildtools/wafsamba/samba_autoconf.py.orig 2019-09-04 10:53:16 UTC
++++ buildtools/wafsamba/samba_autoconf.py
+@@ -573,7 +573,7 @@ def library_flags(self, libs):
+
+
+ @conf
+-def CHECK_LIB(conf, libs, mandatory=False, empty_decl=True, set_target=True, shlib=False):
++def CHECK_LIB(conf, libs, mandatory=False, empty_decl=True, set_target=True, shlib=False, msg=None):
+ '''check if a set of libraries exist as system libraries
+
+ returns the sublist of libs that do exist as a syslib or []
+@@ -593,11 +593,29 @@ int foo()
+ ret.append(lib)
+ continue
+
++ if msg is None:
++ msg = 'Checking for library %s' % lib
++
+ (ccflags, ldflags, cpppath) = library_flags(conf, lib)
++
+ if shlib:
+- res = conf.check(features='c cshlib', fragment=fragment, lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
++ res = conf.check(features='c cshlib',
++ fragment=fragment,
++ lib=lib,
++ uselib_store=lib,
++ cflags=ccflags,
++ ldflags=ldflags,
++ uselib=lib.upper(),
++ mandatory=False,
++ msg=msg)
+ else:
+- res = conf.check(lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
++ res = conf.check(lib=lib,
++ uselib_store=lib,
++ cflags=ccflags,
++ ldflags=ldflags,
++ uselib=lib.upper(),
++ mandatory=False,
++ msg=msg)
+
+ if not res:
+ if mandatory:
+@@ -944,5 +962,5 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(c
+ conf.env.undefined_ldflags = conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True)
+
+ if (conf.env.undefined_ignore_ldflags == [] and
+- conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup'])):
++ conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup'] + conf.env.WERROR_CFLAGS)):
+ conf.env.undefined_ignore_ldflags = ['-undefined', 'dynamic_lookup']
diff --git a/databases/ldb20/files/patch-buildtools_wafsamba_samba__install.py b/databases/ldb20/files/patch-buildtools_wafsamba_samba__install.py
new file mode 100644
index 000000000000..5a85a034aea7
--- /dev/null
+++ b/databases/ldb20/files/patch-buildtools_wafsamba_samba__install.py
@@ -0,0 +1,11 @@
+--- buildtools/wafsamba/samba_install.py.orig 2019-03-21 10:12:32 UTC
++++ buildtools/wafsamba/samba_install.py
+@@ -115,7 +115,7 @@ def install_library(self):
+ inst_name = bld.make_libname(t.target)
+ elif self.vnum:
+ vnum_base = self.vnum.split('.')[0]
+- install_name = bld.make_libname(target_name, version=self.vnum)
++ install_name = bld.make_libname(target_name, version=vnum_base)
+ install_link = bld.make_libname(target_name, version=vnum_base)
+ inst_name = bld.make_libname(t.target)
+ if not self.private_library or not t.env.SONAME_ST:
diff --git a/databases/ldb20/files/patch-buildtools_wafsamba_wscript b/databases/ldb20/files/patch-buildtools_wafsamba_wscript
new file mode 100644
index 000000000000..9327600e7bd2
--- /dev/null
+++ b/databases/ldb20/files/patch-buildtools_wafsamba_wscript
@@ -0,0 +1,22 @@
+--- buildtools/wafsamba/wscript.orig 2017-04-28 11:57:26 UTC
++++ buildtools/wafsamba/wscript
+@@ -74,12 +74,17 @@ def set_options(opt):
+ help=("private library directory [PREFIX/lib/%s]" % Utils.g_module.APPNAME),
+ action="store", dest='PRIVATELIBDIR', default=None)
+
++ opt.add_option('--with-openldap',
++ help='additional directory to search for OpenLDAP libs',
++ action='store', dest='ldap_open', default=None,
++ match = ['Checking for library lber', 'Checking for library ldap'])
++
+ opt.add_option('--with-libiconv',
+ help='additional directory to search for libiconv',
+- action='store', dest='iconv_open', default='/usr/local',
++ action='store', dest='iconv_open', default=None,
+ match = ['Checking for library iconv', 'Checking for iconv_open', 'Checking for header iconv.h'])
+ opt.add_option('--without-gettext',
+- help=("Disable use of gettext"),
++ help=("disable use of gettext"),
+ action="store_true", dest='disable_gettext', default=False)
+
+ gr = opt.option_group('developer options')
diff --git a/databases/ldb20/files/patch-ldb__mdb_ldb_mdb.c b/databases/ldb20/files/patch-ldb__mdb_ldb_mdb.c
new file mode 100644
index 000000000000..54a1f6814b73
--- /dev/null
+++ b/databases/ldb20/files/patch-ldb__mdb_ldb_mdb.c
@@ -0,0 +1,11 @@
+--- ldb_mdb/ldb_mdb.c.orig 2019-06-13 03:07:34 UTC
++++ ldb_mdb/ldb_mdb.c
+@@ -183,7 +183,7 @@ static int lmdb_store(struct ldb_kv_priv
+
+ if (flags == TDB_INSERT) {
+ mdb_flags = MDB_NOOVERWRITE;
+- } else if ((flags == TDB_MODIFY)) {
++ } else if (flags == TDB_MODIFY) {
+ /*
+ * Modifying a record, ensure that it exists.
+ * This mimics the TDB semantics
diff --git a/databases/ldb20/files/patch-ldb_key_value__ldb_kv_cache.c b/databases/ldb20/files/patch-ldb_key_value__ldb_kv_cache.c
new file mode 100644
index 000000000000..34ab1a19ba94
--- /dev/null
+++ b/databases/ldb20/files/patch-ldb_key_value__ldb_kv_cache.c
@@ -0,0 +1,13 @@
+--- ldb_key_value/ldb_kv_cache.c.orig 2019-01-14 23:24:45 UTC
++++ ldb_key_value/ldb_kv_cache.c
+@@ -90,7 +90,9 @@ static int ldb_schema_attribute_compare(
+ {
+ const struct ldb_schema_attribute *sa1 = (const struct ldb_schema_attribute *)p1;
+ const struct ldb_schema_attribute *sa2 = (const struct ldb_schema_attribute *)p2;
+- return ldb_attr_cmp(sa1->name, sa2->name);
++ int res = ldb_attr_cmp(sa1->name, sa2->name);
++
++ return (res) ? res : (sa1->flags > sa2->flags) ? 1 : (sa1->flags < sa2->flags) ? -1 : 0;
+ }
+
+ /*
diff --git a/databases/ldb20/files/patch-lib_replace_wscript b/databases/ldb20/files/patch-lib_replace_wscript
new file mode 100644
index 000000000000..d476cec47cfb
--- /dev/null
+++ b/databases/ldb20/files/patch-lib_replace_wscript
@@ -0,0 +1,11 @@
+--- lib/replace/wscript.orig 2019-03-21 10:12:32 UTC
++++ lib/replace/wscript
+@@ -119,7 +119,7 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/atomic.h stdatomic.h')
+ conf.CHECK_HEADERS('libgen.h')
+
+- if conf.CHECK_CFLAGS('-Wno-format-truncation'):
++ if conf.CHECK_CFLAGS(['-Wno-format-truncation'] + conf.env.WERROR_CFLAGS):
+ conf.define('HAVE_WNO_FORMAT_TRUNCATION', '1')
+
+ if conf.CHECK_CFLAGS('-Wno-unused-function'):
diff --git a/databases/ldb20/files/patch-wscript b/databases/ldb20/files/patch-wscript
new file mode 100644
index 000000000000..c6a58228712b
--- /dev/null
+++ b/databases/ldb20/files/patch-wscript
@@ -0,0 +1,31 @@
+--- wscript.orig 2019-09-04 10:53:16 UTC
++++ wscript
+@@ -207,7 +207,7 @@ def build(bld):
+ if bld.env.standalone_ldb:
+ if not 'PACKAGE_VERSION' in bld.env:
+ bld.env.PACKAGE_VERSION = VERSION
+- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
++ bld.env.PKGCONFIGDIR = '%%PKGCONFIGDIR%%'
+ private_library = False
+ else:
+ private_library = True
+@@ -497,11 +497,6 @@ def build(bld):
+ deps='cmocka ldb',
+ install=False)
+
+- bld.SAMBA_BINARY('ldb_match_test',
+- source='tests/ldb_match_test.c',
+- deps='cmocka ldb',
+- install=False)
+-
+ bld.SAMBA_BINARY('ldb_key_value_test',
+ source='tests/ldb_key_value_test.c',
+ deps='cmocka ldb ldb_tdb_err_map',
+@@ -614,7 +609,6 @@ def test(ctx):
+ 'ldb_msg_test',
+ 'ldb_tdb_kv_ops_test',
+ 'ldb_tdb_test',
+- 'ldb_match_test',
+ 'ldb_key_value_test',
+ # we currently don't run ldb_key_value_sub_txn_tdb_test as it
+ # tests the nested/sub transaction handling