Compare commits

...

2 Commits

Author SHA1 Message Date
c6964c5ed7 1.4.10 2025-01-23 15:08:00 +01:00
21bb9220c4 Added database/tdb as tdb1410 2025-01-23 15:05:49 +01:00
13 changed files with 604 additions and 0 deletions

View File

@ -0,0 +1,75 @@
PORTNAME= tdb
DISTVERSION= 1.4.10
#PORTEPOCH= 1
CATEGORIES= databases
MASTER_SITES= SAMBA
MAINTAINER= samba@FreeBSD.org
COMMENT= Trivial Database
WWW= https://tdb.samba.org/
LICENSE= GPLv3
USES= compiler pkgconfig shebangfix waf
USE_LDCONFIG= yes
SHEBANG_GLOB= *.py
WAF_CMD= buildtools/bin/waf
CONFIGURE_LOG= bin/config.log
PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig
PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR:S;^${PREFIX}/;;}
CONFIGURE_ARGS+= --disable-rpath \
--disable-rpath-install \
--bundled-libraries=NONE \
--builtin-libraries=replace \
--without-gettext
CONFIGURE_ENV= PYTHONHASHSEED=1
MAKE_ENV= PYTHONHASHSEED=1
MANPAGES_DESC= Build and install manpages (requires textproc/docbook-xsl)
OPTIONS_DEFINE= MANPAGES DEBUG PYTHON
OPTIONS_DEFAULT= PYTHON
OPTIONS_SUB= yes
DEBUG_CFLAGS= -g -ggdb3 -O0
DEBUG_CONFIGURE_ON= --verbose --enable-debug
DEBUG_MAKE_ARGS= --verbose
PYTHON_USES= gettext-runtime python
PYTHON_USE+= python=py3kplist
PYTHON_USES_OFF= python:build,test
PYTHON_CONFIGURE_OFF= --disable-python
MANPAGES_CONFIGURE_ENV_OFF+= XSLTPROC="true"
MANPAGES_BUILD_DEPENDS+= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \
xsltproc:textproc/libxslt
# No fancy color error messages
CFLAGS+= ${CFLAGS_${CHOSEN_COMPILER_TYPE}}
CFLAGS_clang= -fno-color-diagnostics
CONFIGURE_ENV+= NOCOLOR=yes
MAKE_ENV+= NOCOLOR=yes
# Some symbols in tdb's linker version scripts are not defined, but since the
# scripts are generated dynamically, suppress errors with lld >= 17 due to these
# undefined symbols.
LDFLAGS+= -Wl,--undefined-version
CONFLICTS_INSTALL= tdb
post-patch:
@${REINPLACE_CMD} -e 's|%%PKGCONFIGDIR%%|${PKGCONFIGDIR}|g' \
${BUILD_WRKSRC}/wscript
pre-build-MANPAGES-off:
${MKDIR} ${BUILD_WRKSRC}/bin/default/man
${INSTALL_MAN} ${FILESDIR}/tdb*.8 ${BUILD_WRKSRC}/bin/default/man
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/tdb*
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtdb.so.1
post-install-PYTHON-on:
${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/tdb*.so
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1722341236
SHA256 (tdb-1.4.9.tar.gz) = 0ac226073e3a2db8648da7af744cb95f50766a52feeb001d558b2b321b74a765
SIZE (tdb-1.4.9.tar.gz) = 746608

View File

@ -0,0 +1,35 @@
--- buildtools/wafsamba/samba_autoconf.py.orig 2019-08-20 15:35:08 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,14 @@ 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:
@@ -949,5 +952,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']

View File

@ -0,0 +1,11 @@
--- buildtools/wafsamba/samba_install.py.orig 2019-02-14 11:21:38 UTC
+++ buildtools/wafsamba/samba_install.py
@@ -118,7 +118,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:

View File

@ -0,0 +1,15 @@
--- buildtools/wafsamba/wscript.orig 2019-02-26 06:44:21 UTC
+++ buildtools/wafsamba/wscript
@@ -82,10 +82,10 @@ def options(opt):
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')

View File

@ -0,0 +1,11 @@
--- lib/replace/wscript.orig 2019-02-26 06:44:21 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'):

View File

@ -0,0 +1,11 @@
--- wscript.orig 2019-02-26 07:02:52 UTC
+++ wscript
@@ -121,7 +121,7 @@ def build(bld):
COMMON_SRC = bld.SUBDIR('common', COMMON_FILES)
if bld.env.standalone_tdb:
- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
+ bld.env.PKGCONFIGDIR = '%%PKGCONFIGDIR%%'
private_library = False
else:
private_library = True

View File

@ -0,0 +1,129 @@
'\" t
.\" Title: tdbbackup
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 2015-04-25
.\" Manual: System Administration tools
.\" Source: Samba 3.6
.\" Language: English
.\"
.TH "TDBBACKUP" "8" "2015\-04\-25" "Samba 3\&.6" "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"
tdbbackup \- tool for backing up and for validating the integrity of samba \&.tdb files
.SH "SYNOPSIS"
.HP \w'\fBtdbbackup\fR\ 'u
\fBtdbbackup\fR [\-s\ suffix] [\-v] [\-h] [\-l]
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(1)
suite\&.
.PP
\fBtdbbackup\fR
is a tool that may be used to backup samba \&.tdb files\&. This tool may also be used to verify the integrity of the \&.tdb files prior to samba startup or during normal operation\&. If it finds file damage and it finds a prior backup the backup file will be restored\&.
.SH "OPTIONS"
.PP
\-h
.RS 4
Get help information\&.
.RE
.PP
\-s suffix
.RS 4
The
\fB\-s\fR
option allows the administrator to specify a file backup extension\&. This way it is possible to keep a history of tdb backup files by using a new suffix for each backup\&.
.RE
.PP
\-v
.RS 4
The
\fB\-v\fR
will check the database for damages (corrupt data) which if detected causes the backup to be restored\&.
.RE
.PP
\-l
.RS 4
This options disables any locking, by passing TDB_NOLOCK to tdb_open_ex()\&. Only use this for database files which are not used by any other process! And also only if it is otherwise not possible to open the database, e\&.g\&. databases which were created with mutex locking\&.
.RE
.SH "COMMANDS"
.PP
\fIGENERAL INFORMATION\fR
.PP
The
\fBtdbbackup\fR
utility can safely be run at any time\&. It was designed so that it can be used at any time to validate the integrity of tdb files, even during Samba operation\&. Typical usage for the command will be:
.PP
tdbbackup [\-s suffix] *\&.tdb
.PP
Before restarting samba the following command may be run to validate \&.tdb files:
.PP
tdbbackup \-v [\-s suffix] *\&.tdb
.PP
Samba \&.tdb files are stored in various locations, be sure to run backup all \&.tdb file on the system\&. Important files includes:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBsecrets\&.tdb\fR
\- usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBpassdb\&.tdb\fR
\- usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB*\&.tdb\fR
located in the /usr/local/samba/var directory or on some systems in the /var/cache or /var/lib/samba directories\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 3 of the Samba suite\&.
.SH "AUTHOR"
.PP
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\&.
.PP
The tdbbackup man page was written by John H Terpstra\&.

View File

@ -0,0 +1,72 @@
'\" t
.\" Title: tdbdump
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 2015-04-25
.\" Manual: System Administration tools
.\" Source: Samba 3.6
.\" Language: English
.\"
.TH "TDBDUMP" "8" "2015\-04\-25" "Samba 3\&.6" "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"
tdbdump \- tool for printing the contents of a TDB file
.SH "SYNOPSIS"
.HP \w'\fBtdbdump\fR\ 'u
\fBtdbdump\fR [\-k\ \fIkeyname\fR] [\-e] [\-h] {filename}
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(1)
suite\&.
.PP
\fBtdbdump\fR
is a very simple utility that \*(Aqdumps\*(Aq the contents of a TDB (Trivial DataBase) file to standard output in a human\-readable format\&.
.PP
This tool can be used when debugging problems with TDB files\&. It is intended for those who are somewhat familiar with Samba internals\&.
.SH "OPTIONS"
.PP
\-h
.RS 4
Get help information\&.
.RE
.PP
\-k \fIkeyname\fR
.RS 4
The
\fB\-k\fR
option restricts dumping to a single key, if found\&.
.RE
.PP
\-e
.RS 4
The
\fB\-e\fR
tries to dump out from a corrupt database\&. Naturally, such a dump is unreliable, at best\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 3 of the Samba suite\&.
.SH "AUTHOR"
.PP
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\&.
.PP
The tdbdump man page was written by Jelmer Vernooij\&.

View File

@ -0,0 +1,54 @@
'\" t
.\" Title: tdbrestore
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 2015-04-25
.\" Manual: System Administration tools
.\" Source: Samba 3.6
.\" Language: English
.\"
.TH "TDBRESTORE" "8" "2015\-04\-25" "Samba 3\&.6" "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"
tdbrestore \- tool for creating a TDB file out of a tdbdump output
.SH "SYNOPSIS"
.HP \w'\fBtdbrestore\fR\ 'u
\fBtdbrestore\fR {tdbfilename}
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(1)
suite\&.
.PP
\fBtdbrestore\fR
is a very simple utility that \*(Aqrestores\*(Aq the contents of dump file into TDB (Trivial DataBase) file\&. The dump file is obtained from the tdbdump command\&.
.PP
This tool wait on the standard input for the content of the dump and will write the tdb in the tdbfilename parameter\&.
.PP
This tool can be used for unpacking the content of tdb as backup mean\&.
.SH "VERSION"
.PP
This man page is correct for version 3 of the Samba suite\&.
.SH "AUTHOR"
.PP
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\&. This tool was initially written by Volker Lendecke based on an idea by Simon McVittie\&.
.PP
The tdbrestore man page was written by Matthieu Patou\&.

View File

@ -0,0 +1,170 @@
'\" t
.\" Title: tdbtool
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 2015-04-25
.\" Manual: System Administration tools
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "TDBTOOL" "8" "2015\-04\-25" "Samba 4\&.0" "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"
tdbtool \- manipulate the contents TDB files
.SH "SYNOPSIS"
.HP \w'\fBtdbtool\fR\ 'u
\fBtdbtool\fR
.HP \w'\fBtdbtool\fR\ 'u
\fBtdbtool\fR [\-l] \fITDBFILE\fR [\fICOMMANDS\fR...]
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(1)
suite\&.
.PP
\fBtdbtool\fR
a tool for displaying and altering the contents of Samba TDB (Trivial DataBase) files\&. Each of the commands listed below can be entered interactively or provided on the command line\&.
.SH "OPTIONS"
.PP
\-l
.RS 4
This options disables any locking, by passing TDB_NOLOCK to tdb_open_ex()\&. Only use this for database files which are not used by any other process! And also only if it is otherwise not possible to open the database, e\&.g\&. databases which were created with mutex locking\&.
.RE
.SH "COMMANDS"
.PP
\fBcreate\fR \fITDBFILE\fR
.RS 4
Create a new database named
\fITDBFILE\fR\&.
.RE
.PP
\fBopen\fR \fITDBFILE\fR
.RS 4
Open an existing database named
\fITDBFILE\fR\&.
.RE
.PP
\fBerase\fR
.RS 4
Erase the current database\&.
.RE
.PP
\fBdump\fR
.RS 4
Dump the current database as strings\&.
.RE
.PP
\fBcdump\fR
.RS 4
Dump the current database as connection records\&.
.RE
.PP
\fBkeys\fR
.RS 4
Dump the current database keys as strings\&.
.RE
.PP
\fBhexkeys\fR
.RS 4
Dump the current database keys as hex values\&.
.RE
.PP
\fBinfo\fR
.RS 4
Print summary information about the current database\&.
.RE
.PP
\fBinsert\fR \fIKEY\fR \fIDATA\fR
.RS 4
Insert a record into the current database\&.
.RE
.PP
\fBmove\fR \fIKEY\fR \fITDBFILE\fR
.RS 4
Move a record from the current database into
\fITDBFILE\fR\&.
.RE
.PP
\fBstore\fR \fIKEY\fR \fIDATA\fR
.RS 4
Store (replace) a record in the current database\&.
.RE
.PP
\fBshow\fR \fIKEY\fR
.RS 4
Show a record by key\&.
.RE
.PP
\fBdelete\fR \fIKEY\fR
.RS 4
Delete a record by key\&.
.RE
.PP
\fBlist\fR
.RS 4
Print the current database hash table and free list\&.
.RE
.PP
\fBfree\fR
.RS 4
Print the current database and free list\&.
.RE
.PP
\fB!\fR \fICOMMAND\fR
.RS 4
Execute the given system command\&.
.RE
.PP
\fBfirst\fR
.RS 4
Print the first record in the current database\&.
.RE
.PP
\fBnext\fR
.RS 4
Print the next record in the current database\&.
.RE
.PP
\fBcheck\fR
.RS 4
Check the integrity of the current database\&.
.RE
.PP
\fBrepack\fR
.RS 4
Repack a database using a temporary file to remove fragmentation\&.
.RE
.PP
\fBquit\fR
.RS 4
Exit
\fBtdbtool\fR\&.
.RE
.SH "CAVEATS"
.PP
The contents of the Samba TDB files are private to the implementation and should not be altered with
\fBtdbtool\fR\&.
.SH "VERSION"
.PP
This man page is correct for version 3\&.6 of the Samba suite\&.
.SH "AUTHOR"
.PP
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\&.

View File

@ -0,0 +1,4 @@
TDB is a Trivial Database. In concept, it is very much like GDBM, and
BSD's DB except that it allows multiple simultaneous writers and uses
locking internally to keep writers from trampling on each other. TDB is
also extremely small.

View File

@ -0,0 +1,14 @@
bin/tdbbackup
bin/tdbdump
bin/tdbrestore
bin/tdbtool
include/tdb.h
lib/libtdb.so
lib/libtdb.so.1
%%PYTHON%%%%PYTHON_SITELIBDIR%%/_tdb_text.py
%%PYTHON%%%%PYTHON_SITELIBDIR%%/tdb%%PYTHON_EXT_SUFFIX%%.so
libdata/pkgconfig/tdb.pc
share/man/man8/tdbbackup.8.gz
share/man/man8/tdbdump.8.gz
share/man/man8/tdbrestore.8.gz
share/man/man8/tdbtool.8.gz