aboutsummaryrefslogtreecommitdiff
path: root/databases/ldb22
diff options
context:
space:
mode:
authorTimur I. Bakeyev <timur@FreeBSD.org>2020-09-23 00:46:02 +0000
committerTimur I. Bakeyev <timur@FreeBSD.org>2020-09-23 00:46:02 +0000
commit06eaa9357648018c11a6d531ff0683852cd722d1 (patch)
tree105c447d687852fcf07095b3d7284bdece25fbcd /databases/ldb22
parent51d887b2f7216988c2181e14ac218bdb914ebf05 (diff)
downloadports-06eaa9357648018c11a6d531ff0683852cd722d1.tar.gz
ports-06eaa9357648018c11a6d531ff0683852cd722d1.zip
Add Samba 4.13 supplimentary lib databases/ldb22
Notes
Notes: svn path=/head/; revision=549649
Diffstat (limited to 'databases/ldb22')
-rw-r--r--databases/ldb22/Makefile167
-rw-r--r--databases/ldb22/distinfo3
-rw-r--r--databases/ldb22/files/man/ldb.3427
-rw-r--r--databases/ldb22/files/man/ldbadd.178
-rw-r--r--databases/ldb22/files/man/ldbdel.180
-rw-r--r--databases/ldb22/files/man/ldbedit.1111
-rw-r--r--databases/ldb22/files/man/ldbmodify.173
-rw-r--r--databases/ldb22/files/man/ldbrename.181
-rw-r--r--databases/ldb22/files/man/ldbsearch.191
-rw-r--r--databases/ldb22/files/patch-buildtools_wafsamba_samba__autoconf.py50
-rw-r--r--databases/ldb22/files/patch-buildtools_wafsamba_samba__install.py11
-rw-r--r--databases/ldb22/files/patch-buildtools_wafsamba_wscript22
-rw-r--r--databases/ldb22/files/patch-ldb_key_value__ldb_kv_cache.c13
-rw-r--r--databases/ldb22/files/patch-lib_replace_wscript11
-rw-r--r--databases/ldb22/files/patch-wscript31
-rw-r--r--databases/ldb22/pkg-descr9
16 files changed, 1258 insertions, 0 deletions
diff --git a/databases/ldb22/Makefile b/databases/ldb22/Makefile
new file mode 100644
index 000000000000..5e6968a0f697
--- /dev/null
+++ b/databases/ldb22/Makefile
@@ -0,0 +1,167 @@
+# $FreeBSD$
+
+PORTNAME= ldb
+PORTVERSION= 2.2.0
+PORTREVISION= 0
+PORTEPOCH= 0
+CATEGORIES= databases
+MASTER_SITES= SAMBA
+PKGNAMESUFFIX?= 22
+
+MAINTAINER= timur@FreeBSD.org
+COMMENT= LDAP-like embedded database
+
+LICENSE= GPLv3+
+
+IGNORE_NONTHREAD_PYTHON=needs port lang/python${PYTHON_SUFFIX} to be build with THREADS support
+
+LDB_DEPENDS= talloc>=2.2.0:devel/talloc \
+ tevent>=0.10.0:devel/tevent \
+ tdb>=1.4.0:databases/tdb \
+ lmdb>=0.9.23:databases/lmdb \
+ popt>=0:devel/popt
+BUILD_DEPENDS= ${LDB_DEPENDS} \
+ cmocka>=1.1.3:sysutils/cmocka
+TEST_DEPENDS= ${LDB_DEPENDS} \
+ cmocka>=1.1.3:sysutils/cmocka
+RUN_DEPENDS= ${LDB_DEPENDS}
+
+USES= compiler pkgconfig waf
+
+CONFLICTS_INSTALL= ldb-1.1.* ldb1[2-9]-1.* ldb2[013-9]-2.*
+
+USE_LDCONFIG= yes
+WAF_CMD= ${BUILD_WRKSRC}/buildtools/bin/waf
+CONFIGURE_LOG= ${BUILD_WRKSRC}/bin/config.log
+
+USE_OPENLDAP= yes
+PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig
+PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR:S;${PREFIX}/;;}
+
+CONFIGURE_ARGS+= --bundled-libraries=!talloc,!tevent,!tdb,!popt,!cmocka \
+ --with-modulesdir=${PREFIX}/lib/shared-modules \
+ --with-privatelibdir=${PREFIX}/lib/ldb \
+ --mandir=${MANPREFIX}/man \
+ --with-openldap=${LOCALBASE} \
+ --disable-rpath \
+ --without-gettext
+
+OPTIONS_DEFINE= MANPAGES DEBUG PYTHON3
+MANPAGES_DESC= Build and install manpages (requires textproc/docbook-xsl)
+
+DEBUG_CONFIGURE_ON= --verbose --enable-debug
+DEBUG_MAKE_ARGS= --verbose
+DEBUG_FLAGS= -g -ggdb3 -O0
+
+.include <bsd.port.options.mk>
+
+LDB_BINS= bin/ldbedit \
+ bin/ldbmodify \
+ bin/ldbadd \
+ bin/ldbdel \
+ bin/ldbsearch \
+ bin/ldbrename
+
+LDB_LIBS= lib/libldb.so \
+ lib/libldb.so.2 \
+ lib/ldb/libldb-tdb-int.so \
+ lib/ldb/libldb-tdb-err-map.so \
+ lib/ldb/libldb-key-value.so \
+ lib/ldb/libldb-cmdline.so \
+ lib/shared-modules/ldb/skel.so \
+ lib/shared-modules/ldb/server_sort.so \
+ lib/shared-modules/ldb/sample.so \
+ lib/shared-modules/ldb/rdn_name.so \
+ lib/shared-modules/ldb/paged_searches.so \
+ lib/shared-modules/ldb/ldb.so \
+ lib/shared-modules/ldb/ldap.so \
+ lib/shared-modules/ldb/asq.so \
+ lib/shared-modules/ldb/tdb.so
+# Only for 64-bit architectures
+.if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != powerpc && ${ARCH} != powerpcspe
+LDB_LIBS+= lib/ldb/libldb-mdb-int.so \
+ lib/shared-modules/ldb/mdb.so
+.endif
+
+PLIST_FILES= include/ldb_version.h \
+ include/ldb_handlers.h \
+ include/ldb_errors.h \
+ include/ldb.h \
+ include/ldb_module.h \
+ ${LDB_BINS} \
+ ${LDB_LIBS} \
+ ${PKGCONFIGDIR}/ldb.pc
+
+.include <bsd.port.pre.mk>
+
+CFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+.if ! ${PORT_OPTIONS:MMANPAGES}
+CONFIGURE_ENV+= XSLTPROC="true"
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \
+ xsltproc:textproc/libxslt
+.endif
+
+.if ! ${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON)
+USES+= python:build,test
+CONFIGURE_ARGS+= --disable-python
+.else
+USES+= python:3.4+ gettext-runtime
+
+PLIST_FILES+= include/pyldb.h \
+ lib/libpyldb-util.so \
+ lib/libpyldb-util.so.2 \
+ ${PYTHON_SITELIBDIR}/ldb.so \
+ ${PYTHON_SITELIBDIR}/_ldb_text.py \
+ ${PKGCONFIGDIR}/pyldb-util.pc
+.endif
+
+# No fancy color error messages
+.if ${COMPILER_TYPE} == "clang"
+CFLAGS+= -fno-color-diagnostics
+.endif
+CONFIGURE_ENV+= NOCOLOR=yes
+MAKE_ENV+= NOCOLOR=yes
+
+LDB_MAN1= man/man1/ldbadd.1.gz \
+ man/man1/ldbdel.1.gz \
+ man/man1/ldbedit.1.gz \
+ man/man1/ldbmodify.1.gz \
+ man/man1/ldbrename.1.gz \
+ man/man1/ldbsearch.1.gz
+
+LDB_MAN3= man/man3/ldb.3.gz
+
+PLIST_FILES+= ${LDB_MAN1} ${LDB_MAN3}
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%PKGCONFIGDIR%%|${PKGCONFIGDIR}|g' \
+ ${BUILD_WRKSRC}/wscript
+
+# Use threading (or multiprocessing) but not thread (renamed in python 3+).
+pre-configure:
+ @if ! ${PYTHON_CMD} -c "import multiprocessing;" 2>/dev/null; then \
+ ${ECHO_CMD}; \
+ ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE_NONTHREAD_PYTHON:Q}.; \
+ ${ECHO_CMD}; \
+ ${FALSE}; \
+ fi
+
+pre-build-MANPAGES-off:
+ -${MKDIR} ${BUILD_WRKSRC}/bin/default/man
+.for man in ${LDB_MAN1} ${LDB_MAN3}
+ ${INSTALL_MAN} ${FILESDIR}/man/`basename ${man} .gz` ${BUILD_WRKSRC}/bin/default/man
+.endfor
+
+post-install:
+.for lib in ${LDB_BINS} ${LDB_LIBS}
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${lib}
+.endfor
+.if ${PORT_OPTIONS:MPYTHON3} && !defined(NO_PYTHON)
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpyldb-util.so
+ ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/ldb.so
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/databases/ldb22/distinfo b/databases/ldb22/distinfo
new file mode 100644
index 000000000000..fbfe3bf73730
--- /dev/null
+++ b/databases/ldb22/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1600820338
+SHA256 (ldb-2.2.0.tar.gz) = 134bb51769709af59f30bf468e454d1377a8096acd4e80dcb42fd264f558bd5f
+SIZE (ldb-2.2.0.tar.gz) = 1676551
diff --git a/databases/ldb22/files/man/ldb.3 b/databases/ldb22/files/man/ldb.3
new file mode 100644
index 000000000000..ee748545d8f1
--- /dev/null
+++ b/databases/ldb22/files/man/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: 09/23/2020
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDB" "3" "09/23/2020" "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/ldb22/files/man/ldbadd.1 b/databases/ldb22/files/man/ldbadd.1
new file mode 100644
index 000000000000..90014c9d6703
--- /dev/null
+++ b/databases/ldb22/files/man/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: 09/23/2020
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBADD" "1" "09/23/2020" "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 overridden 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/ldb22/files/man/ldbdel.1 b/databases/ldb22/files/man/ldbdel.1
new file mode 100644
index 000000000000..86541dccc899
--- /dev/null
+++ b/databases/ldb22/files/man/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: 09/23/2020
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBDEL" "1" "09/23/2020" "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 overridden 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/ldb22/files/man/ldbedit.1 b/databases/ldb22/files/man/ldbedit.1
new file mode 100644
index 000000000000..cb7b75fe8d67
--- /dev/null
+++ b/databases/ldb22/files/man/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: 09/23/2020
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBEDIT" "1" "09/23/2020" "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/ldb22/files/man/ldbmodify.1 b/databases/ldb22/files/man/ldbmodify.1
new file mode 100644
index 000000000000..be4815da7287
--- /dev/null
+++ b/databases/ldb22/files/man/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: 09/23/2020
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBMODIFY" "1" "09/23/2020" "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 overridden 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/ldb22/files/man/ldbrename.1 b/databases/ldb22/files/man/ldbrename.1
new file mode 100644
index 000000000000..0bdbc67a3b32
--- /dev/null
+++ b/databases/ldb22/files/man/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: 09/23/2020
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBRENAME" "1" "09/23/2020" "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 overridden 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/ldb22/files/man/ldbsearch.1 b/databases/ldb22/files/man/ldbsearch.1
new file mode 100644
index 000000000000..ff7645bfce4e
--- /dev/null
+++ b/databases/ldb22/files/man/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: 09/23/2020
+.\" Manual: System Administration tools
+.\" Source: LDB 1.1
+.\" Language: English
+.\"
+.TH "LDBSEARCH" "1" "09/23/2020" "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 overridden 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/ldb22/files/patch-buildtools_wafsamba_samba__autoconf.py b/databases/ldb22/files/patch-buildtools_wafsamba_samba__autoconf.py
new file mode 100644
index 000000000000..0403fd0fb236
--- /dev/null
+++ b/databases/ldb22/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/ldb22/files/patch-buildtools_wafsamba_samba__install.py b/databases/ldb22/files/patch-buildtools_wafsamba_samba__install.py
new file mode 100644
index 000000000000..5a85a034aea7
--- /dev/null
+++ b/databases/ldb22/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/ldb22/files/patch-buildtools_wafsamba_wscript b/databases/ldb22/files/patch-buildtools_wafsamba_wscript
new file mode 100644
index 000000000000..9327600e7bd2
--- /dev/null
+++ b/databases/ldb22/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/ldb22/files/patch-ldb_key_value__ldb_kv_cache.c b/databases/ldb22/files/patch-ldb_key_value__ldb_kv_cache.c
new file mode 100644
index 000000000000..34ab1a19ba94
--- /dev/null
+++ b/databases/ldb22/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/ldb22/files/patch-lib_replace_wscript b/databases/ldb22/files/patch-lib_replace_wscript
new file mode 100644
index 000000000000..d476cec47cfb
--- /dev/null
+++ b/databases/ldb22/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/ldb22/files/patch-wscript b/databases/ldb22/files/patch-wscript
new file mode 100644
index 000000000000..c6a58228712b
--- /dev/null
+++ b/databases/ldb22/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
diff --git a/databases/ldb22/pkg-descr b/databases/ldb22/pkg-descr
new file mode 100644
index 000000000000..92cd13b5db8c
--- /dev/null
+++ b/databases/ldb22/pkg-descr
@@ -0,0 +1,9 @@
+ldb is a LDAP-like embedded database.
+
+ldb provides a fast database with an LDAP-like API designed to be used
+within an application.
+
+In some ways it can be seen as a intermediate solution between key-value
+pair databases and a real LDAP database.
+
+WWW: https://ldb.samba.org/