From 879f39ba884cbefc95e558338521e0e99455d777e239cff675cfe9f36d3e319e Mon Sep 17 00:00:00 2001
From: Samuel Cabrero <scabrero@suse.com>
Date: Tue, 8 Oct 2024 11:48:03 +0000
Subject: [PATCH] - Update to 1.4.12   * Regression fix for ABI problem      
 TDB_1_4_11 vs. TDB_1.4.11 - Update to 1.4.11   * Add tdbdump -x option to
 output all data as hex values   * Add missing overflow check for num_values
 in pytdb.c   * Remove Py2 related tests   * Update times in
 tdb_transaction_commit per fd, not per name   * Fix compilation with
 TDB_TRACE=1   * Allow tracing of internal tdb

OBS-URL: https://build.opensuse.org/package/show/network:samba:STABLE/tdb?expand=0&rev=120
---
 .gitattributes     |  23 ++
 .gitignore         |   1 +
 baselibs.conf      |   2 +
 build_pie.patch    |  40 ++++
 tdb-1.4.10.tar.asc |  11 +
 tdb-1.4.10.tar.gz  |   3 +
 tdb-1.4.12.tar.asc |  11 +
 tdb-1.4.12.tar.gz  |   3 +
 tdb.changes        | 510 +++++++++++++++++++++++++++++++++++++++++++++
 tdb.keyring        |  70 +++++++
 tdb.spec           | 145 +++++++++++++
 11 files changed, 819 insertions(+)
 create mode 100644 .gitattributes
 create mode 100644 .gitignore
 create mode 100644 baselibs.conf
 create mode 100644 build_pie.patch
 create mode 100644 tdb-1.4.10.tar.asc
 create mode 100644 tdb-1.4.10.tar.gz
 create mode 100644 tdb-1.4.12.tar.asc
 create mode 100644 tdb-1.4.12.tar.gz
 create mode 100644 tdb.changes
 create mode 100644 tdb.keyring
 create mode 100644 tdb.spec

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..9b03811
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,23 @@
+## Default LFS
+*.7z filter=lfs diff=lfs merge=lfs -text
+*.bsp filter=lfs diff=lfs merge=lfs -text
+*.bz2 filter=lfs diff=lfs merge=lfs -text
+*.gem filter=lfs diff=lfs merge=lfs -text
+*.gz filter=lfs diff=lfs merge=lfs -text
+*.jar filter=lfs diff=lfs merge=lfs -text
+*.lz filter=lfs diff=lfs merge=lfs -text
+*.lzma filter=lfs diff=lfs merge=lfs -text
+*.obscpio filter=lfs diff=lfs merge=lfs -text
+*.oxt filter=lfs diff=lfs merge=lfs -text
+*.pdf filter=lfs diff=lfs merge=lfs -text
+*.png filter=lfs diff=lfs merge=lfs -text
+*.rpm filter=lfs diff=lfs merge=lfs -text
+*.tbz filter=lfs diff=lfs merge=lfs -text
+*.tbz2 filter=lfs diff=lfs merge=lfs -text
+*.tgz filter=lfs diff=lfs merge=lfs -text
+*.ttf filter=lfs diff=lfs merge=lfs -text
+*.txz filter=lfs diff=lfs merge=lfs -text
+*.whl filter=lfs diff=lfs merge=lfs -text
+*.xz filter=lfs diff=lfs merge=lfs -text
+*.zip filter=lfs diff=lfs merge=lfs -text
+*.zst filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..57affb6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.osc
diff --git a/baselibs.conf b/baselibs.conf
new file mode 100644
index 0000000..e1ce977
--- /dev/null
+++ b/baselibs.conf
@@ -0,0 +1,2 @@
+libtdb1
+python3-tdb
diff --git a/build_pie.patch b/build_pie.patch
new file mode 100644
index 0000000..d57c093
--- /dev/null
+++ b/build_pie.patch
@@ -0,0 +1,40 @@
+Author: David Disseldorp <ddiss@samba.org>
+Date:   Wed Aug 15 18:33:08 CEST 2012
+
+    Build and link binaries with PIE flags.
+
+Index: tdb-1.3.6/wscript
+===================================================================
+--- tdb-1.3.6.orig/wscript
++++ tdb-1.3.6/wscript
+@@ -150,20 +150,27 @@ def build(bld):
+ 
+         bld.SAMBA_BINARY('tdbrestore',
+                          'tools/tdbrestore.c',
+-                         'tdb', manpages='man/tdbrestore.8')
++                         'tdb',
++			 cflags='-fPIE', ldflags='-pie',
++			 manpages='man/tdbrestore.8')
+ 
+         bld.SAMBA_BINARY('tdbdump',
+                          'tools/tdbdump.c',
+-                         'tdb', manpages='man/tdbdump.8')
++                         'tdb',
++			 cflags='-fPIE', ldflags='-pie',
++			 manpages='man/tdbdump.8')
+ 
+         bld.SAMBA_BINARY('tdbbackup',
+                          'tools/tdbbackup.c',
+                          'tdb',
++			 cflags='-fPIE', ldflags='-pie',
+                          manpages='man/tdbbackup.8')
+ 
+         bld.SAMBA_BINARY('tdbtool',
+                          'tools/tdbtool.c',
+-                         'tdb', manpages='man/tdbtool.8')
++                         'tdb',
++			 cflags='-fPIE', ldflags='-pie',
++			 manpages='man/tdbtool.8')
+ 
+         if bld.env.standalone_tdb:
+             # FIXME: This hardcoded list is stupid, stupid, stupid.
diff --git a/tdb-1.4.10.tar.asc b/tdb-1.4.10.tar.asc
new file mode 100644
index 0000000..9845292
--- /dev/null
+++ b/tdb-1.4.10.tar.asc
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCgAdFiEEkUejOXGVGO6QEby1R5ORYRMIQCUFAmW3z+8ACgkQR5ORYRMI
+QCWNmQf9Fj4OVCqllUuspTEazoSvmmX+HBp/GwdCHOtyPHL882zidxW+jphxF5Mc
+xgVr2jKsodKkCFekVaQNqed8PrcXtel/T6uvLgt8G8h90Zu06SlxXmFPZx8Rjx+g
+y5CCh/HZqWhHwOyRR5VWi3OotQj3FoNypV7+btvqFGuSvw/9OXv/14oD3tPgkHik
+jTC/DQiJwL2b0uwIC1HDGNlEODyc7fmV0jL5yhzd05LO0nPKdkNTEeLzVJegeRP6
++tIT2tHDnqKceRfOgkIVZ4DEnpCfrhMFfV8WOpmMRPpDqLdFJZpl6JLITNOsAdvH
+W5jtR4SZ3+WxaKuFO45LTnnsBxOewg==
+=8I9w
+-----END PGP SIGNATURE-----
diff --git a/tdb-1.4.10.tar.gz b/tdb-1.4.10.tar.gz
new file mode 100644
index 0000000..0165c69
--- /dev/null
+++ b/tdb-1.4.10.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:02338e33c16c21c9e29571cef523e76b2b708636254f6f30c6cf195d48c62daf
+size 747139
diff --git a/tdb-1.4.12.tar.asc b/tdb-1.4.12.tar.asc
new file mode 100644
index 0000000..ef630a7
--- /dev/null
+++ b/tdb-1.4.12.tar.asc
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCgAdFiEEkUejOXGVGO6QEby1R5ORYRMIQCUFAmaymp8ACgkQR5ORYRMI
+QCVZDggAvaeoNP+T6mDFqDVzu5WKUS7ffqCNTLk9FBaVmWx4+rU/sGTzoejGKmqz
+eJIbw5JvYSQJy48pCHB1pspI0IwbC9D1xIZ3MNxbV8ELYw0jgOedcJopiK0O+Zfa
+RyZ57ixg7gPbC1qgv8XLOtk7YTbk/QeBPWRa1cgECQoIX9hSSgDJVCQZqBDxrr0h
+ZYUmUa/h3lHtl8sM3MbFNppoGZga0Lrx1qK+AQCl8ekGPCeNeKC0sVkMRO3YfzMk
+lj5EvIl2DvOC/q6MJduDSzxUexIw2ItK4Bo7AUHL8lI7BBFo5+43P226aJwKQ0PK
+8xXihgfK2hVMQ1PuIVoDEv+Q230gCA==
+=D935
+-----END PGP SIGNATURE-----
diff --git a/tdb-1.4.12.tar.gz b/tdb-1.4.12.tar.gz
new file mode 100644
index 0000000..7187f06
--- /dev/null
+++ b/tdb-1.4.12.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6ce4b27498812d09237ece65a0d6dfac0941610e709848ecb822aa241084cd7a
+size 748827
diff --git a/tdb.changes b/tdb.changes
new file mode 100644
index 0000000..95fe7ed
--- /dev/null
+++ b/tdb.changes
@@ -0,0 +1,510 @@
+-------------------------------------------------------------------
+Tue Sep 10 09:22:42 UTC 2024 - Noel Power <nopower@suse.com>
+
+- Update to 1.4.12
+  * Regression fix for ABI problem
+      TDB_1_4_11 vs. TDB_1.4.11
+
+- Update to 1.4.11
+  * Add tdbdump -x option to output all data as hex values
+  * Add missing overflow check for num_values in pytdb.c
+  * Remove Py2 related tests
+  * Update times in tdb_transaction_commit per fd, not per name
+  * Fix compilation with TDB_TRACE=1
+  * Allow tracing of internal tdb
+
+-------------------------------------------------------------------
+Thu May 16 11:29:15 UTC 2024 - Samuel Cabrero <scabrero@suse.de>
+
+- Update to 1.4.10
+  * build with Python 3.12 (bso#15513)
+  * documentation fixes
+  * minor build fixes
+
+-------------------------------------------------------------------
+Tue Sep 26 09:40:31 UTC 2023 - Noel Power <nopower@suse.com>
+
+-  Update to 1.4.9
+    * Remove remaining, but broken python2 support
+    * Spelling fixes
+    * python: Safely clear structure members
+
+-------------------------------------------------------------------
+Fri Mar 17 07:52:46 UTC 2023 - Samuel Cabrero <scabrero@suse.de>
+
+- Update to 1.4.8:
+  * Support python 3.12
+
+-------------------------------------------------------------------
+Sat Sep 17 07:44:38 UTC 2022 - Dirk Müller <dmueller@suse.com>
+
+- update to 1.4.7:
+  * configure/Makefile: export PYTHONHASHSEED=1 in all 'configure/Makefile' scripts
+  * lib:tdb: Reformat shell scripts
+- spec file cleanups
+
+-------------------------------------------------------------------
+Wed Mar 16 11:01:29 UTC 2022 - Johannes Engel <jcnengel@gmail.com>
+
+- Update to 1.4.6
+  + Drop obsolete patch 0001-tdb-Fix-invalid-syntax-in-tdb.h.patch
+  + Fix Python docstrings
+  + Use atomic operations for tdb_[increment|get]_seqnum
+  + Raw performance torture to beat tdb_increment_seqnum
+
+-------------------------------------------------------------------
+Fri Sep 17 08:46:03 UTC 2021 - Samuel Cabrero <scabrero@suse.de>
+
+- Update to version 1.4.4
+  + Fix a memory leak on error
+  + python: remove all 'from __future__ import print_function'
+  + Fix CID 1471761 String not null terminated
+  + Use hex_byte() in parse_hex()
+  + Use hex_byte() in read_data()
+  + fix studio compiler build
+  + Fix some signed/unsigned comparisons
+  + also use __has_attribute macro to check for attribute support
+  + Fix clang 9 missing-field-initializer warnings
+  + pytdb tests: add test for storev()
+  + pytdb: add python binding for storev()
+  + tdbtorture: Use ARRAY_DEL_ELEMENT()
+  + py3: Remove #define PyInt_FromLong PyLong_FromLong
+  + py3: Remove #define PyInt_AsLong PyLong_AsLong
+  + py3: Remove #define PyInt_Check PyLong_Check
+  + tdb: Align integer types
+- Drop obsolete patch ignore-tdb1-run-transaction-expand.diff
+- Fix header file using undefined function visibility macro;
+  Add patch 0001-tdb-Fix-invalid-syntax-in-tdb.h.patch; (bso#14762);
+
+-------------------------------------------------------------------
+Fri Mar  6 17:02:55 UTC 2020 - Noel Power <nopower@suse.com>
+
+- Update to version 1.4.3
+  + Upgrade waf to version 2.0.18 to fix a cross-compilation issue;
+    (bso#13846).
+  + lib/tdb/docs/tracing.txt: typo fixes
+
+-------------------------------------------------------------------
+Thu Oct 03 21:55:29 UTC 2019 - James McDonough <jmcdonough@suse.com>
+
+- Update to version 1.4.2
+  + Build fixes
+  + Improve the performance by inlining the tdb_oob() checks
+  + Do not propogate any errors from tdb_repack() to
+    tdb_transaction_commit();  (bso#13952)
+  + Remove Python 2.x support except to build just the bare C library
+  + Remove --extra-python (a build time mode to produce Python2 and Python3
+    bindings at the same time)
+  + New minor version to allow Samba 4.10 to release a tdb if
+    required from that branch
+
+-------------------------------------------------------------------
+Tue Mar  5 17:02:59 UTC 2019 - dmulder@suse.com
+
+- Update to 1.3.18
+  + Fix build problems with older python versions.
+  + C99 build fixes.
+  + Fix standalone build of tdb.
+
+-------------------------------------------------------------------
+Wed Jan 23 20:36:09 UTC 2019 - dmulder@suse.com
+
+- Update to 1.3.17
+
+-------------------------------------------------------------------
+Tue Sep 25 07:36:48 UTC 2018 - Samuel Cabrero <scabrero@suse.de>
+
+- Update license to LGPL-3.0
+
+-------------------------------------------------------------------
+Wed Aug  8 15:01:52 UTC 2018 - dmulder@suse.com
+
+- Update to 1.3.16.
+  + Fix build on AIX
+  + Python3 compatibility fixes
+  + Use tdb_wipe_all in "erase" command
+  + Harden allocating the tdb recovery area
+  + Make sure the hash size fits
+  + Harden tdb_check_used_record against overflow
+  + Harden tdb_rec_read
+  + Handle TDB_NEXT_LOCK_ERR in tdb_traverse_internal
+  + Fix build warnings
+
+-------------------------------------------------------------------
+Fri Apr 27 14:19:38 UTC 2018 - david.mulder@suse.com
+
+- Remove the conflicts between python3-tdb and python-tdb. These
+  packages don't actually conflict, and need to be installed
+  together in order to build samba with python3.
+
+-------------------------------------------------------------------
+Mon Oct  2 12:18:30 UTC 2017 - jengelh@inai.de
+
+- Remove %if guards for blocks that do not affect the build result.
+  Fix RPM groups and summaries. Ensure neutrality of descriptions.
+  Drop very old SUSE support. Replace old RPM macros by new
+  constructs. Remove some useless ldconfig calls.
+
+-------------------------------------------------------------------
+Mon Sep 25 11:14:05 UTC 2017 - scabrero@suse.com
+
+- Update to 1.3.15.
+  + Add protection against EINTR.
+  + Truncate the file after expand failure, ENOSPC
+  + Use posix_fallocate() to expand the file
+  + Fix GCC compiler warnings
+
+-------------------------------------------------------------------
+Wed Jul  5 08:59:08 UTC 2017 - scabrero@suse.com
+
+- Update to version 1.3.14.
+  + allow tdb_traverse_read before tdb_transaction[_prepare]_commit()
+  + Improve documentation for tdb_transaction_start()
+  + Add new function tdb_transaction_active()
+
+-------------------------------------------------------------------
+Fri Jun 30 11:42:43 UTC 2017 - scabrero@suse.com
+
+- Update to version 1.3.13.
+  + documentation for the tdbbackup -n option
+  + correctly upgrade F_RDLCK to F_WRLCK locks
+  + tdbtool: Add "storehex" command
+  + fix robust mutex detection in threaded applications
+    (bug #12593)
+  + improve debugging of transaction lock failures
+
+-------------------------------------------------------------------
+Tue Jan 24 16:58:23 UTC 2017 - ddiss@suse.com
+
+- Update to version 1.3.12; (bsc#1032915).
+  + Fix mutexes on FreeBSD
+  + Only mmap the mutex area if not already mmap'ed
+  + NULL out tdb->mutexes in tdb_mutex_munmap
+
+-------------------------------------------------------------------
+Wed Sep 14 08:49:43 UTC 2016 - jmcdonough@suse.com
+
+- Update to version 1.3.11.
+  + performance improvements
+  + make pthread mutex code more portable
+  + avoid a race condition when checking for robust mutexes
+    (bso#11808)
+  + Remove use of strcpy in tdb test.
+  + eliminate deprecation warnings in python tests
+  + Only set public headers field when installing as a public library.
+
+-------------------------------------------------------------------
+Sun Feb 21 22:10:42 UTC 2016 - lmuelle@suse.com
+
+- Add conflict between python-tdb and python3-tdb.
+
+-------------------------------------------------------------------
+Sun Feb 21 16:50:07 UTC 2016 - lmuelle@suse.com
+
+- Avoid a file collision for non SUSE build targets; (bsc#966174).
+
+-------------------------------------------------------------------
+Wed Nov 11 17:44:42 UTC 2015 - lmuelle@suse.com
+
+- Update to version 1.3.8; (bsc#954658).
+  + Fix broken build with --disable-python
+  + Minor build fixes
+
+-------------------------------------------------------------------
+Fri Oct 30 15:05:14 UTC 2015 - lmuelle@suse.com
+
+- Add doxygen at build time to add the development documentation.
+- Disable rpath-install and silent-rules while configure.
+
+-------------------------------------------------------------------
+Sun Oct 25 13:10:36 UTC 2015 - lmuelle@suse.com
+
+- Add python3-tdb; (bsc#951911).
+
+-------------------------------------------------------------------
+Mon Sep  7 17:06:26 UTC 2015 - lmuelle@suse.com
+
+- Update the Samba Library Distribution Key file 'tdb.keyring'; (bso#945116).
+
+-------------------------------------------------------------------
+Wed Jul 22 07:37:56 UTC 2015 - lmuelle@suse.com
+
+- Update to version 1.3.7.
+  + first fix deadlock in the interaction between fcntl and mutex locking;
+    (bso#11381)
+  + improved python3 bindings
+
+-------------------------------------------------------------------
+Sat Jun 27 16:53:13 UTC 2015 - lmuelle@suse.com
+
+- Update to version 1.3.6.
+  + Fix runtime detection for robust mutexes in the standalone build;
+    (bso#11326).
+  + Possible fix for the build with robust mutexes on solaris 11; (bso#11319).
+- Update to version 1.3.5.
+  + ABI change: tdb_chainlock_read_nonblock() has been added, a nonblock
+    variant of tdb_chainlock_read()
+  + Do not build test binaries if it's not a standalone build
+  + Fix CID 1034842 Resource leak
+  + Fix CID 1034841 Resource leak
+  + don't let tdb_wrap_open() segfault with name==NULL
+
+-------------------------------------------------------------------
+Tue Jan 13 14:50:54 UTC 2015 - lmuelle@suse.com
+
+- Update to version 1.3.4.
+  + toos: allow transactions with TDB_MUTEX_LOCKING
+  + test: add tdb1-run-mutex-transaction1 test
+  + allow transactions on on tdb's with TDB_MUTEX_LOCKING
+
+-------------------------------------------------------------------
+Sun Dec 21 19:09:06 UTC 2014 - lmuelle@suse.com
+
+- Update to version 1.3.3.
+  + test: TDB_CLEAR_IF_FIRST | TDB_MUTEX_LOCKING, O_RDONLY is a valid
+    combination
+- Update to version 1.3.2.
+  + allow tdb_open_ex() with O_RDONLY of TDB_FEATURE_FLAG_MUTEX tdbs.
+  + Fix a comment
+  + Fix tdb_runtime_check_for_robust_mutexes()
+  + Improve wording in a comment
+  + tdb.h needs bool type; obsoletes include_stdbool_bso10625.patch
+  + tdb_wrap: Make mutexes easier to use
+  + tdb_wrap: Only pull in samba-debug
+  + tdb_wrap: Standalone compile without includes.h
+  + tdb_wrap: tdb_wrap.h doesn't need struct loadparm_context
+
+-------------------------------------------------------------------
+Thu Nov  6 13:28:53 UTC 2014 - lmuelle@suse.com
+
+- Use the upstream tar ball, as signature verification is now able to handle
+  compressed archives.
+
+-------------------------------------------------------------------
+Tue Oct 28 15:43:31 UTC 2014 - lmuelle@suse.com
+
+- Remove dependency on gpg-offline as signature checking is implemented in the
+  source validator.
+
+-------------------------------------------------------------------
+Tue Sep 23 17:02:44 UTC 2014 - lmuelle@suse.com
+
+- Update to version 1.3.1.
+  + tools: fix a compiler warning
+  + defragment the freelist in tdb_allocate_from_freelist()
+  + add "freelist_size" sub-command to tdbtool
+  + use tdb_freelist_merge_adjacent in tdb_freelist_size()
+  + add tdb_freelist_merge_adjacent()
+  + add utility function check_merge_ptr_with_left_record()
+  + simplify tdb_free() using check_merge_with_left_record()
+  + add utility function check_merge_with_left_record()
+  + improve comments for tdb_free().
+  + factor merge_with_left_record() out of tdb_free()
+  + fix debug message in tdb_free()
+  + reduce indentation in tdb_free() for merging left
+  + increase readability of read_record_on_left()
+  + factor read_record_on_left() out of tdb_free()
+  + build: improve detection of srcdir.
+
+-------------------------------------------------------------------
+Fri May 23 20:48:25 UTC 2014 - lmuelle@suse.com
+
+- Update to version 1.3.0.
+  + add TDB_MUTEX_LOCKING support
+  + consolidate tdb allocation code - re-use dead records at hash top.
+  + don't alter errno on success of tdb_open_ex()
+  + introduce tdb->hdr_ofs
+  + introduce TDB_SUPPORTED_FEATURE_FLAGS
+  + return ENOSYS if the tdb was created with spinlocks.
+  + use asprintf() to simplify tdb_summary()
+  + test: add a "skip()" macro.
+     add marklock deadlock test
+     add mutex related tests
+     add PING command to external-agent.c
+     add shutdown_agent() helper function
+     add UNMAP command to external-agent.c
+     always call fflush() after [f]printf() in tap-interface.h
+     avoid const warnings by using 'discard_const_p(uint8_t,' instead of
+	   '(void *)'
+     correctly use stderr, not stdout, in fail()
+     remove "\n" in diag() arguments
+  + tools: add -l option to tdbbackup
+     add -l option to tdbtool
+     add -m option to tdbtorture
+     Allow tdbtool to r/o open mutexed tdbs
+     avoid const warnings in tdbdump.c
+     explicitly use TDB_NOLOCK in tdbdump
+  + tdb_wrap: Remove tdb_wrap_open_ again
+  + wscript: maintain a global list of unit tests
+- Include stdbool.h in tdb.h; (bso#10625).
+  + include_stdbool_bso10625.patch
+
+-------------------------------------------------------------------
+Fri May 23 20:10:17 UTC 2014 - lmuelle@suse.com
+
+- Don't require pkg-config from the libtdb package.
+
+-------------------------------------------------------------------
+Thu Mar 20 19:12:16 UTC 2014 - lmuelle@suse.com
+
+- Update to version 1.2.13.
+  + Reduce freelist contention
+  + Make "tdb_purge_dead" internally public
+  + Make "tdb_find_dead" internally public
+  + Add "last_ptr" to tdb_find_dead
+  + Move adding tailer space to tdb_find_dead
+  + Do a best fit search for dead records
+  + Don't purge records to a blocked freelist
+  + Fix a tdb corruption
+  + always open internal databases with incompatible hash.
+  + in tdb_delete_hash, make lock/unlock bracket more obvious
+  + simplify tdb_delete_hash() a bit
+  + tdbtool: dump record magic with fixed number of 8 hex digits
+  + tdbtool: dump record hash with fixed number of 8 hex digits
+  + Avoid reallocs for lockrecs
+  + Fix some typos in comments.
+  + Fix CID 1034959 Uninitialized scalar variable
+  + Fix CID 1034960 Uninitialized scalar variable
+  + Fix typos.
+
+-------------------------------------------------------------------
+Fri Dec  6 13:29:03 UTC 2013 - lmuelle@suse.com
+
+- Verify source tar ball gpg signature.
+
+-------------------------------------------------------------------
+Wed Dec  4 15:26:19 CET 2013 - mls@suse.de
+
+- Adapt specfile to ppc64le.
+
+-------------------------------------------------------------------
+Thu Aug 29 12:01:12 UTC 2013 - lmuelle@suse.com
+
+- PreReq /sbin/ldconfig from python-tdb.
+
+-------------------------------------------------------------------
+Thu Aug 29 10:55:11 UTC 2013 - lmuelle@suse.com
+
+- Add python-tdb to baselibs.conf.
+
+-------------------------------------------------------------------
+Mon Jul 22 10:53:36 UTC 2013 - lmuelle@suse.com
+
+- Don't package tdb tools man pages for pre-11.0 systems as they're not built
+  due to a missing docbook stylesheet.
+
+-------------------------------------------------------------------
+Tue Jun  4 14:45:40 UTC 2013 - lmuelle@suse.com
+
+- Update to version 1.2.12.
+  + internal code cleanups
+  + crash fix for pytdb
+  + fix for 4GB overflow detection
+
+-------------------------------------------------------------------
+Mon Jan  7 23:49:48 UTC 2013 - dvaleev@suse.com
+
+- Refresh ignore-tdb1-run-transaction-expand.diff patch.
+
+-------------------------------------------------------------------
+Sun Dec  2 17:27:15 UTC 2012 - lmuelle@suse.com
+
+- Update to version 1.2.11.
+  + Make tdb robust against improper CLEAR_IF_FIRST restart
+  + Make robust against shrinking tdbs
+  + add -e option to tdbdump (and docment it).
+  + tdbdump should log errors, and fail in that case.
+  + add tdb_rescue()
+  + Fix a typo
+  + return unpack error on strdup failure
+  + finish weaning off err.h.
+  + don't use err.h in tests.
+  + make TDB_NOSYNC merely disable sync.
+  + remove unused debug_fprintf() macro that breaks the build
+  + tests: fix use of a non-existent word (existant)
+
+-------------------------------------------------------------------
+Sat Jul  7 15:42:23 UTC 2012 - dvaleev@suse.com
+
+- Ignore tdb run transaction expand check on ppc as well; (bnc#769268). 
+
+-------------------------------------------------------------------
+Thu Jun 28 21:19:51 UTC 2012 - lmuelle@suse.com
+
+- Ignore tdb run transaction expand check on ppc64; (bnc#769268).
+
+-------------------------------------------------------------------
+Thu Jun 21 20:40:55 UTC 2012 - adrian@suse.de
+
+- disable test suite on qemu emulated builds
+
+-------------------------------------------------------------------
+Wed Jun 13 10:23:35 UTC 2012 - ddiss@suse.com
+
+- Build and link binaries with PIE flags.
+
+-------------------------------------------------------------------
+Tue Jun  5 12:08:57 UTC 2012 - lmuelle@suse.com
+
+- Remove superfluous tdb-tools rpmlintrc; (bnc#765476).
+
+-------------------------------------------------------------------
+Sun Jun  3 21:46:25 UTC 2012 - lmuelle@suse.com
+
+- Define library name and use it instead of libtdb1.
+
+-------------------------------------------------------------------
+Sat Jun  2 18:38:42 UTC 2012 - lmuelle@suse.com
+
+- Add tdb tar ball gpg signature as source.
+
+-------------------------------------------------------------------
+Sat Jun  2 14:32:09 UTC 2012 - lmuelle@suse.com
+
+- Rename package to tdb and add an independent libtdb1 subpackage.
+- Rename rpmlintrc file from libtdb1 to tdb-tools.
+- Remove bogus requires to itself from libtdb1 package.
+
+-------------------------------------------------------------------
+Thu May 31 14:13:31 UTC 2012 - lmuelle@suse.com
+
+- BuildRequire pkg-config for post-10.2 systems and else pkgconfig.
+
+-------------------------------------------------------------------
+Thu May 31 12:09:09 UTC 2012 - lmuelle@suse.com
+
+- Rename libtdb1-devel to libtdb-devel.
+
+-------------------------------------------------------------------
+Wed May 30 16:39:26 UTC 2012 - lmuelle@suse.com
+
+- Define python_sitearch if undefined.
+
+-------------------------------------------------------------------
+Wed May 30 15:36:34 UTC 2012 - lmuelle@suse.com
+
+- Remove superfluous AutoReqProv on line.
+
+-------------------------------------------------------------------
+Wed May 16 09:09:53 UTC 2012 - lmuelle@suse.com
+
+- Require pkg-config from the devel package.
+
+-------------------------------------------------------------------
+Wed May 16 09:01:07 UTC 2012 - lmuelle@suse.com
+
+- Move python file to python-tdb subpackage.
+- Build and add tdbbackup, tdbdump, tdbrestore, and tdbtool man pages.
+
+-------------------------------------------------------------------
+Wed May 16 08:34:17 UTC 2012 - lmuelle@suse.com
+
+- Cleanup BuildRequires.
+- Polish package descriptions.
+- Add rpmlintrc file to set badness for non PIE code to 0.
+
+-------------------------------------------------------------------
+Wed Sep  7 17:52:30 UTC 2011 - lars@samba.org
+
+- Initial independent libtdb1 package.
+
diff --git a/tdb.keyring b/tdb.keyring
new file mode 100644
index 0000000..0404526
--- /dev/null
+++ b/tdb.keyring
@@ -0,0 +1,70 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2
+
+mQENBE0uBhsBCADIjamou8B7vf0Gnvdb8ZhJ708kXnoeGH161xffaYJg40rXhyyl
+OHlc4ZLVc4OyFr+tWREgNDyBkeS5TTsJ3ul/cBMbBjpn2LOO41X1fenhlvWFkhuC
+TcZJK1GNEH8iEHgHp7fjZ24p8cvHILGnHKOYFuHSK8t4Eai0vT/dwNDuU7HD4ZC0
+LZdVRIkIH5mZ+8ILmLKzzHl+Pbyoit/Utv+SuRuP1rGU606XEaMzBjejPlctHJSv
+7SWRQCjnhg8rCdklJstBxUg5M/gof0WLCN5UfW8BJ08EP+ByAjPL2hGKQIBE9NVo
+2dxEiLoLNwOT5724zcnzFpnaQrEqrxyD+YI1ABEBAAG0NVNhbWJhIExpYnJhcnkg
+RGlzdHJpYnV0aW9uIEtleSA8c2FtYmEtYnVnc0BzYW1iYS5vcmc+iEYEEBECAAYF
+Ak0uEpUACgkQbzORW2Vot+qG6ACfUQt2yoecHBL/V0iHOIx8UjPgbhEAnRTNt8jE
+QzN6C2EoJDmbkl7Upp4fiEYEEBECAAYFAk0uFOYACgkQKGi9fisXk1FCKQCgk8Po
+z2uzV5PUUec6VjKZfAHhV+YAoJaNpGAAjSio60pg1RjCRtCPadhCiEYEEBECAAYF
+Ak1UwFIACgkQbf9zMVhTZ5Ef/ACfYBiLXN5chLucuj2K3FpaX6VGpXQAoLNZPFxx
+i/5xQxaXMWQh383JtGpmiEYEExECAAYFAk01WA8ACgkQm70gjA5TCD8osgCfelqD
+/E/2R1vAHaAkGBlaaLr/ZOMAn3qs18nkrINABIsO0ICeBkYJT0I1iQE8BBMBAgAm
+AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AFAk8aer0FCQPNqBEACgkQR5ORYRMI
+QCVy0AgAiZ13HmovVXtOEhyr62EFM9uzuD2iOx84tKemAutTYKV1E0lscoJRgj09
+U7i2ZJRdgPdpziGX+efnnZcpWmoIj8RzC67swlZD7YPYpVY+BKSFo3t8IHwyeECP
+UZlEro6I5/J5rK8GdFEN8eqjjQIKOy7VojtEm//oqb1H75bHa52QOmDKaGXB0DZ2
+5fyKfi9hEKTK6YFD7ItLk8BU6t0tty57kDEpu5HcaNJbtRHveSTaVt1PBdfH99XH
+AjkaOUtB43pQltMoDbSMil87Kjiy84KZvOMydgIBzNTEpdJ1B7FYQcf4MbVR6l9O
+iHjoAUOio1MreObETNtQzdFDwal4bokBPAQTAQIAJgUCTS4GGwIbAwUJAeEzgAYL
+CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEEeTkWETCEAl+h8H/2swoikW7T9Saa7G
+vaOVcEuNkbRMjc3FP9BdfhSpxxuUCwH4xXNMZXXQeTT+4BD5p8niDK+gRS2RQMBH
+I0f4s4ewRlkImV6mBcRuhxqFB3PUUKcjm9sb7vk3tuyQhGz7JvKdCiLBqRKYVIpJ
+f++FVFzl62T/XUPrMwTvczl5zEMxlU62FzkZbjMbKr+xypJAzfh+TCE+h9QNPqky
+9j7guQIWear3R2n4trcv2SigrCWa1+ZHPEf723OJsBm8HHxisqXQEqmkS8J6YLR/
+wowqNolPKjIiZaCOQ+YKxnVRxHQ/29cHxw8FNceg1nzOTlAGXR1wTozGGwQXcQx3
+CTXEGr6JATwEEwECACYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCUQUZzgUJ
+BbhHJAAKCRBHk5FhEwhAJXAKB/4k71NcxA/xjJFMxh5HUjeLPi1ll7EYWVz9oOP6
++0dfSfIxyfF0MGXEnHUFr8OZG3RnTKtPpmFsj+kN67SjtWW/JKYlq8+kV61DW065
+4kLYkzSIYwoqCxr6aMC6Q4QvJT0SCLM7hEZ6j+wI5PlDKSPp0DBIcnVjDDTjpjbq
+9LYHEstZOOJ30Yw2wJVe3kvLlUAMTV1ovNgUE04xiR+mjvwUYTZpgxrllwwz8k+Q
+Q3Ly1VX1z4N/mfMFSh+wiyvcZp37lhjHvHwATNDgcN8NUqREx5xPooqKk53YhycX
+yOnLRxkdG594bxeq3rRCqwpp8VszVZ5rUK6E+zeW63UCsR78iQE8BBMBAgAmAhsD
+BgsJCAcDAgQVAggDBBYCAwECHgECF4AFAlMqq+EFCQfd2TsACgkQR5ORYRMIQCWx
+FwgAjeJt022IVtvBH/IXBL6JWoA1ctTaNZXDvUFaCdstDQCh0v/8XjH0wUrADqrg
+1TH1C3PAG4QNlssyd+WAyUNsdccGwd5GbNbIA8D3ZbabR5gYVkVu+ENxP0LHnHd/
+0YesYovhnwV9CLXMssnJtLNKxU/wOnG0TxnOVIBPU1nE/Gan8cUoCFKfdYsXRdUG
+8mkslj0/fZ9xdKNZrGdTQ9Gvtt7ksAbkF+vC7ZkDcHqGL06sYzuBHoAAxpsKdnk3
+2A1P+84fVaBnszoD1dR6f32j/8t11FA8i6L+EzcS42y0+e9JDtywrmb5kF7hlDsj
+jAsAgQYazdBZON+DSaua0XXoEIkBPAQTAQIAJgIbAwYLCQgHAwIEFQIIAwQWAgMB
+Ah4BAheABQJVQKNgBQkJ89CjAAoJEEeTkWETCEAlrIAH/0lCfyN1KNWSv3KDnyBN
+9RjsAGBIKYm+D7rgmrCLc7j/ogVEmcuun3IoyDLKNYSBan9qrwKo9vlE7ffzIUCf
+UUyWaI/Zk6gzuyICDCrBHzl+uk+Rsc/qteTyF4HII2UfZgL8kHrqkwQ1iubNNJL9
+aMj8XrwRPJ4MbXDV3vay2uQ3REttUZFBa6Vrn5EtmWdtyCcLFFYWVDhzdpn1Zm7S
+8XaUEjR/keEKFTg1iZW8+upURgTggu6/HDmheD2HQeqzbaIIRB+TumfE3SRqsZXK
+1coupUPXTSeBQWz6q+k9NjSaz57EevuA5bD5vD4mbmM6grbz8cEkJwLNWmbYZ9+u
+oom5AQ0ETS4GGwEIAL+v14HugI80TV1iTNpau3kusDxqhkvSyf1S7zvWHrcvllsI
+DyecZAw9FjUn3bJLYBfBdqCfZD6QH2XIHSlfnFifEishfh4C88NKI9/wWVP9rnfg
+APWRdI1ooC77JfzpWWa2hh5ZPgk8WrEB0ps6TAougz6mP2EUpB3NqJAEv1KE1STB
+DrYIoZgX4Akxyiaf7Ny3J+Wdgw3JskuG7HeEC+rKZxqCrZHAyoGSMJTVTl4YPNF8
+GffuL8Sbqk015F3gbkXuY/2iLpAELQTeMlCzqZn3gZ9IAdJkmp0McbfSL6LSLI0M
+0csE91g4bG42TPgAIwPLHsp1SiuuJbuE75ch3K0AEQEAAYkBJQQYAQIADwIbDAUC
+Uyqr+AUJB93ZWQAKCRBHk5FhEwhAJdn6B/95HdRqkN78tlCrQjx1De/hqBAzR+9R
+9Qa3JliTLMMwii6xp+NYiYXQCs2zBvM4vVIFwnFNawbzR7IGlP3mzeXKYHNAPVer
+9DfoKdYxMVm/YfH8XFhjdloRLvahyV5zzPfuwHnp9O+D2ux9+rj9T+Y2FYX0NFDg
+BRoJcsYa05EZzz86btYxUcaXcI/r7gCzChSfLA8/690erOHSBmEIUY4oWXjy56O8
+294CMqyqYs4bqDnIeH5nQ2Zlcld2rLMpXtuINPsrkqwrOgZb2WQ7Sdlvxd32YO9v
+lL/Xyrdjn+VnTaSIQ/Rip6qosqxYuzDqeL9+In+ZnnnuF9ZLophqx7f7iQElBBgB
+AgAPAhsMBQJVQKN0BQkJ89DUAAoJEEeTkWETCEAlbkgH/1v5ntI2GMIplnbar6Hp
+q8FtGpfWKFXzxNR9ihKzOfWOicbd/v0yC2b2g5gZDumLFQIgyzEst7bgpwhk+WxH
+7G+sYceMsEymZ/S9oLWOd++kwUSF5arPfxtpIi4KdFAShgDpdBTNNkm7K6ACjRh7
+Aq+4attqvsIUNTBYkb+zSO0UuJI53DCOM4Z9+qwGsQbMvTer6xR2lNlPKP9yRk1S
+Sc/YAlT46qp53IiugtymDGBegSOsNGuehXQY7V2eKxWdtEilTmjuGUFutaoX89oX
+YEB+l7H+SaCAZUAkYz6tfJVpU00FLTZeiLk2TGiQ71APpx3DjJkGryv48W6lwozb
+T5Q=
+=9mzF
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/tdb.spec b/tdb.spec
new file mode 100644
index 0000000..09ea2c2
--- /dev/null
+++ b/tdb.spec
@@ -0,0 +1,145 @@
+#
+# spec file for package tdb
+#
+# Copyright (c) 2024 SUSE LLC
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%{!?python_sitearch:  %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+%{!?py3_soflags:  %global py3_soflags cpython-%{python3_version_nodots}m}
+Name:           tdb
+Version:        1.4.12
+Release:        0
+Summary:        Samba Trivial Database
+License:        LGPL-3.0-or-later
+Group:          Development/Libraries/C and C++
+URL:            https://tdb.samba.org/
+Source:         https://download.samba.org/pub/tdb/tdb-%{version}.tar.gz
+Source1:        https://download.samba.org/pub/tdb/tdb-%{version}.tar.asc
+Source2:        tdb.keyring
+Source4:        baselibs.conf
+Patch0:         build_pie.patch
+BuildRequires:  autoconf
+BuildRequires:  docbook-xsl-stylesheets
+BuildRequires:  doxygen
+BuildRequires:  libxslt
+BuildRequires:  pkgconfig
+BuildRequires:  python3-devel
+
+%description
+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.
+
+%package -n libtdb1
+Summary:        Samba Trivial Database
+Group:          System/Libraries
+
+%description -n libtdb1
+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.
+
+This package contains the tdb1 library.
+
+%package -n libtdb-devel
+Summary:        Libraries and Header Files to Develop Programs with tdb1 Support
+Group:          Development/Libraries/C and C++
+Requires:       libtdb1 = %{version}
+Requires:       pkgconfig
+
+%description -n libtdb-devel
+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.
+
+This package contains libraries and header files need for development.
+
+%package -n tdb-tools
+Summary:        Tools to manipulate tdb files
+Group:          Development/Libraries/C and C++
+
+%description -n tdb-tools
+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.
+
+This package contains tools to manage Tdb files.
+
+%package -n python3-tdb
+Summary:        Python3 bindings for the Tdb library
+Group:          Development/Libraries/Python
+Requires:       libtdb1 = %{version}
+Obsoletes:      python-tdb
+
+%description -n python3-tdb
+This package contains the Python3 bindings for the Tdb library.
+
+%prep
+%setup -q -n tdb-%{version}
+%autopatch -p1
+
+%build
+export CFLAGS="%{optflags} -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -DIDMAP_RID_SUPPORT_TRUSTED_DOMAINS"
+./configure --prefix=%{_prefix} \
+	--libdir=%{_libdir} \
+	--disable-rpath \
+	--disable-rpath-install \
+	--disable-silent-rules \
+	--bundled-libraries=NONE
+
+%make_build all
+doxygen doxy.config
+
+%check
+%if 0%{!?qemu_user_space_build:1}
+%make_build test
+%endif
+
+%install
+%make_install
+# Install API documentation
+mkdir -p %{buildroot}/%{_mandir}/man3/
+cp -a docs/man/man3/tdb.3 %{buildroot}/%{_mandir}/man3/
+
+%post -n libtdb1 -p /sbin/ldconfig
+%postun -n libtdb1 -p /sbin/ldconfig
+
+%files -n libtdb1
+%{_libdir}/libtdb.so.*
+
+%files -n libtdb-devel
+%{_includedir}/tdb.h
+%{_libdir}/libtdb.so
+%{_libdir}/pkgconfig/tdb.pc
+%{_mandir}/man3/tdb.3%{?ext_man}
+
+%files -n tdb-tools
+%{_bindir}/tdbbackup
+%{_bindir}/tdbdump
+%{_bindir}/tdbrestore
+%{_bindir}/tdbtool
+%{_mandir}/man8/tdbbackup.8%{?ext_man}
+%{_mandir}/man8/tdbdump.8%{?ext_man}
+%{_mandir}/man8/tdbrestore.8%{?ext_man}
+%{_mandir}/man8/tdbtool.8%{?ext_man}
+
+%files -n python3-tdb
+%{python3_sitearch}/tdb.%{py3_soflags}.so
+%{python3_sitearch}/_tdb_text.py
+%if 0%{?centos_version} > 599 || 0%{?fedora_version} > 11 || 0%{?rhel_version} > 599
+%{python3_sitearch}/__pycache__/_tdb_text.cpython-*.py[co]
+%endif
+
+%changelog