Sync from SUSE:SLFO:Main libdb-4_8 revision da863a9d2d19b41467fba868b3234f15

This commit is contained in:
Adrian Schröter 2024-05-03 14:47:30 +02:00
commit c1d20ebd4a
12 changed files with 1505 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

View File

@ -0,0 +1,28 @@
From 5124401571fa1807a6595659ab7a069f17fe1068 Mon Sep 17 00:00:00 2001
From: William Brown <william@blackhats.net.au>
Date: Tue, 27 Aug 2019 10:01:54 +1000
Subject: [PATCH] OPD deadlock: RH BZ 1349779
---
db/db_cam.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/db/db_cam.c b/db/db_cam.c
index 4c1322d..7f133e5 100644
--- a/db/db_cam.c
+++ b/db/db_cam.c
@@ -850,6 +850,11 @@ __dbc_iget(dbc, key, data, flags)
flags == DB_PREV || flags == DB_PREV_DUP)) {
if (tmp_rmw && (ret = dbc->am_writelock(dbc)) != 0)
goto err;
+ /* Latch the primary tree page here in order to not deadlock later. */
+ if (cp->page == NULL &&
+ (ret = __memp_fget(mpf, &cp->pgno,
+ dbc->thread_info, dbc->txn, 0, &cp->page)) != 0)
+ goto err;
if (F_ISSET(dbc, DBC_TRANSIENT))
opd = cp->opd;
else if ((ret = __dbc_idup(cp->opd, &opd, DB_POSITION)) != 0)
--
2.20.1 (Apple Git-117)

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>libdb_java-4_8</package>
</multibuild>

10
baselibs.conf Normal file
View File

@ -0,0 +1,10 @@
libdb-4_8
libdb-4_8-devel
requires -libdb-<targettype>
requires "libdb-4_8-<targettype> = <version>"
provides "libdb-4-<targettype> = <version>"
provides "libdb-<targettype> = <version>"
provides "libdb_cxx-4-<targettype> = <version>"
provides "libdb_cxx-<targettype> = <version>"
conflicts "libdb-4_5-devel-<targettype>"
conflicts "libdb-6_0-devel-<targettype>"

64
db-4.8.30.patch Normal file
View File

@ -0,0 +1,64 @@
Index: dist/configure.ac
===================================================================
--- dist/configure.ac.orig
+++ dist/configure.ac
@@ -852,20 +852,20 @@ LTLIBOBJS=`echo "$LIB@&t@OBJS" |
AC_SUBST(LTLIBOBJS)
# Initial output file list.
-CREATE_LIST="Makefile
- db_cxx.h:$srcdir/../dbinc/db_cxx.in
- db_int.h:$srcdir/../dbinc/db_int.in
- clib_port.h:$srcdir/../dist/clib_port.in
+CREATE_LIST="Makefile \
+ db_cxx.h:$srcdir/../dbinc/db_cxx.in \
+ db_int.h:$srcdir/../dbinc/db_int.in \
+ clib_port.h:$srcdir/../dist/clib_port.in \
include.tcl:$srcdir/../test/include.tcl"
# Create the db.h file from a source file, a list of global function
# prototypes, and, if configured for unique names, a list of #defines
# to do DB_VERSION_UNIQUE_NAME substitution.
if test "$db_cv_uniquename" = "yes"; then
- CREATE_LIST="$CREATE_LIST
+ CREATE_LIST="$CREATE_LIST \
db.h:$srcdir/../dbinc/db.in:$srcdir/../dbinc_auto/api_flags.in:$srcdir/../dbinc_auto/ext_def.in:$srcdir/../dbinc_auto/ext_prot.in"
else
- CREATE_LIST="$CREATE_LIST
+ CREATE_LIST="$CREATE_LIST \
db.h:$srcdir/../dbinc/db.in:$srcdir/../dbinc_auto/api_flags.in:$srcdir/../dbinc_auto/ext_prot.in"
fi
@@ -873,7 +873,7 @@ fi
# does the DB_VERSION_UNIQUE_NAME substitution), which is included by
# the db_int.h file.
if test "$db_cv_uniquename" = "yes"; then
- CREATE_LIST="$CREATE_LIST
+ CREATE_LIST="$CREATE_LIST \
db_int_def.h:$srcdir/../dbinc_auto/int_def.in"
db_int_def='#include "db_int_def.h"'
fi
@@ -883,18 +883,18 @@ fi
# of #defines to do DB_VERSION_UNIQUE_NAME substitution.
if test "$db_cv_compat185" = "yes"; then
if test "$db_cv_uniquename" = "yes"; then
- CREATE_LIST="$CREATE_LIST
- db_185.h:$srcdir/../dbinc/db_185.in:$srcdir/../dbinc_auto/ext_185_def.in:$srcdir/../dbinc_auto/ext_185_prot.in
+ CREATE_LIST="$CREATE_LIST \
+ db_185.h:$srcdir/../dbinc/db_185.in:$srcdir/../dbinc_auto/ext_185_def.in:$srcdir/../dbinc_auto/ext_185_prot.in \
db185_int.h:$srcdir/../db185/db185_int.in:$srcdir/../dbinc_auto/ext_185_def.in:$srcdir/../dbinc_auto/ext_185_prot.in"
else
- CREATE_LIST="$CREATE_LIST
- db_185.h:$srcdir/../dbinc/db_185.in:$srcdir/../dbinc_auto/ext_185_prot.in
+ CREATE_LIST="$CREATE_LIST \
+ db_185.h:$srcdir/../dbinc/db_185.in:$srcdir/../dbinc_auto/ext_185_prot.in \
db185_int.h:$srcdir/../db185/db185_int.in:$srcdir/../dbinc_auto/ext_185_prot.in"
fi
fi
if test "$db_cv_stl" = "yes"; then
- CREATE_LIST="$CREATE_LIST
+ CREATE_LIST="$CREATE_LIST \
dbstl_common.h:$srcdir/../stl/dbstl_common.in"
fi

BIN
db-4.8.30.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

786
libdb-4_8.changes Normal file
View File

@ -0,0 +1,786 @@
-------------------------------------------------------------------
Wed Jun 21 12:42:57 UTC 2023 - Pedro Monreal <pmonreal@suse.com>
- Fix incomplete license tag. [bsc#1099695]
-------------------------------------------------------------------
Thu May 4 13:52:39 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
- Add _multibuild to define additional spec files as additional
flavors.
Eliminates the need for source package links in OBS.
-------------------------------------------------------------------
Fri Mar 10 10:25:40 UTC 2023 - Martin Pluskal <mpluskal@suse.com>
- Build AVX2 enabled hwcaps library for x86_64-v3
-------------------------------------------------------------------
Tue Aug 27 00:06:09 UTC 2019 - William Brown <william.brown@suse.com>
- Add opd deadlock patch as found and documented by Red Hat.
(bsc#1148244)
* 0001-OPD-deadlock-RH-BZ-1349779.patch
-------------------------------------------------------------------
Mon Aug 19 06:59:04 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Remove the getpatches as it does not work at all, oracle
removed the pages
- Use spec-cleaner
- Fix stripped debuginfo to make sure we can debug with libdb
-------------------------------------------------------------------
Thu Dec 20 12:41:18 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
- Fix the license to match up really what is in there
-------------------------------------------------------------------
Tue Mar 13 08:59:56 UTC 2018 - rguenther@suse.com
- Add libdb-fix-atomic.patch to fix __atomic_compare_exchange clash
with GCCs builtin. Fixes build with GCC8 which now rejects this.
-------------------------------------------------------------------
Thu Mar 31 09:50:39 UTC 2016 - tchvatal@suse.com
- Use upstream tarball
- Cleanup a bit with spec-cleaner
- remove unused script check-build.sh
-------------------------------------------------------------------
Mon May 12 08:52:48 UTC 2014 - schwab@suse.de
- remove generation of unused tarball
- remove setting of unused variable
-------------------------------------------------------------------
Mon Oct 21 13:05:38 UTC 2013 - coolo@suse.com
- fix update-alternatives usage
-------------------------------------------------------------------
Tue Oct 8 16:27:57 UTC 2013 - jengelh@inai.de
- Add update-alternatives rules to db48-utils (bnc#840738)
-------------------------------------------------------------------
Tue Jul 23 07:30:46 UTC 2013 - coolo@suse.com
- readd the provides of db-*, we're not going to switch to db 6.0
too eagerly: http://lwn.net/Articles/557487/
-------------------------------------------------------------------
Wed Jun 19 11:13:31 UTC 2013 - werner@suse.de
- Explicit add a conflict to other providers of /usr/lib/libdb.so
and /usr/lib/libdb-4.so
-------------------------------------------------------------------
Tue Jun 18 11:48:48 UTC 2013 - werner@suse.de
- Try to change baselibs.conf to fit coolo's comment hopefully
-------------------------------------------------------------------
Thu Jun 13 23:11:33 UTC 2013 - jengelh@inai.de
- Rename db_ binaries to db48_ to make room for libdb-6_0
- Add conflict markers against libdb-4_5 (overlapping files)
-------------------------------------------------------------------
Sat Nov 17 12:01:29 CET 2012 - ro@suse.de
- fix check-build.sh for kernel > 3.0
-------------------------------------------------------------------
Mon Jan 9 12:08:10 UTC 2012 - aj@suse.de
- Do not use build date as version string.
-------------------------------------------------------------------
Thu Dec 22 01:11:27 UTC 2011 - jengelh@medozas.de
- Remove redundant/unwanted tags/section (cf. specfile guidelines)
-------------------------------------------------------------------
Tue Dec 20 11:20:14 UTC 2011 - coolo@suse.com
- add autoconf as buildrequire to avoid implicit dependency
-------------------------------------------------------------------
Wed Sep 28 18:46:43 UTC 2011 - adrian@suse.de
- fix arm build
-------------------------------------------------------------------
Tue Sep 27 16:39:10 UTC 2011 - prusnak@opensuse.org
- enable C++ bindings
- spec cleanup
-------------------------------------------------------------------
Fri Sep 16 17:00:33 UTC 2011 - jengelh@medozas.de
- Add libdb-devel to baselibs
-------------------------------------------------------------------
Sat Aug 13 03:41:05 UTC 2011 - crrodriguez@opensuse.org
- Do not build static libraries
-------------------------------------------------------------------
Mon May 23 15:02:16 UTC 2011 - rhafer@suse.de
- Fixed summary of the -devel subpackage (bnc#694826)
-------------------------------------------------------------------
Wed Sep 22 12:08:25 UTC 2010 - rhafer@novell.com
- Updated to db-4.8.30. Important changes since 4.7:
* Improved scalability and throughput when using BTree databases
especially when running with multiple threads that equal or
exceed the number of available CPUs.
* Berkeley DB has added database partitioning. BTree or Hash
databases may now be partitioned across multiple directories.
Partitioned databases can be used to increase concurrency and to
improve performance by spreading access across disk subsystems.
* Berkeley DB now supports bulk insertion and deletion of data.
Similar to the bulk get interface, the bulk put and bulk delete
allow the developer to populate a buffer of key-value pairs and
then pass it to the BDB library with a single API call.
* Berkeley DB now supports compression when using BTree.
* Berkeley DB introduces a new utility named db_sql which replaces
db_codegen. Similar to db_codegen, db_sql accepts an input file
with DDL statements and generates a Berkeley DB application
using the C API that creates and performs CRUD operations on
the defined tables. The developer can then use that code as a
basis for further application development.
* The Replication Manager now supports shared access to the Master
database environment from multiple processes. In earlier
versions, multiple process support on the Master required use
of the Base Replication API.
* Foreign Key Support has been added to Berkeley DB.
* for a more detailed changelog see the changelog_4_8.html file
in db-doc package.
- Removed db-utils-doc subpackage the utils documentation is now
integrated with the API documentation.
-------------------------------------------------------------------
Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de
- use %_smp_mflags
-------------------------------------------------------------------
Wed Dec 16 10:51:58 CET 2009 - jengelh@medozas.de
- Package documentation as noarch
-------------------------------------------------------------------
Sun Dec 6 14:22:39 CET 2009 - jengelh@medozas.de
- Enable parallel building for libdb-4_5 package
-------------------------------------------------------------------
Wed Aug 26 12:53:54 CEST 2009 - mls@suse.de
- make patch0 usage consistent
-------------------------------------------------------------------
Tue Jan 13 12:34:56 CET 2009 - olh@suse.de
- obsolete old -XXbit packages (bnc#437293)
-------------------------------------------------------------------
Fri Nov 21 16:39:20 CET 2008 - ro@suse.de
- update check-build.sh
-------------------------------------------------------------------
Fri Jun 27 11:44:14 CEST 2008 - schwab@suse.de
- Fix configure script.
-------------------------------------------------------------------
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
- added baselibs.conf file to build xxbit packages
for multilib support
-------------------------------------------------------------------
Tue May 15 12:17:19 CEST 2007 - kesselborn@suse.de
- copied spec file from db44
- changed package structure to:
db-doc
db-utils
db-utils-doc
libdb-4_5
libdb-4_5
- update to version 4.5:
Database or Log File On-Disk Format Changes:
None
New Features:
1. A new event style notification.
2. Multi-Version Concurrency Control for the Btree/Recno
access methods.
3. A new replication framework with a default TCP/IP setup.
4. A new port to the BREW platform (a cell phone OS), not
fully supported but ready for testing.
5. Several enhancements to the Java Collections API including
the implementation of the size() method.
6. Online replication upgrades for high availability replicated
24/7 systems.
Database Environment Changes:
1. Update the DB_ENV->failchk method to garbage collect
per-process mutexes stranded after unexpected process
failure. [#13964]
2. Fix a bug that could cause memory used to track threads
for DB_ENV->failchk to not be reused when a thread no longer
exists. [#14425]
3. Add set_event_notify behavior as part of new event
notification in Berkeley DB. [#14534]
4. Fix a bug so that we no longer panic on DB_ENV->close()
if a previous environment close failed to log. This condition
will now return an error. [#14693]
Concurrent Data Store Changes:
1. Fix a bug where renaming a subdatabase in a Concurrent
Data Store environment could fail. [#14185]
General Access Method Changes:
1. Fix a bug that could leave extra unallocated pages at the
end of a database file. [#14031]
2. Optimize secondary updates when overwriting primary
records. [#14075]
3. Fix a bug to prevent a trap when creating a named in-memory
database and there are already temporary files open. [#14133]
4. Fix a bug which caused a trap if the key parameter to
DBC->c_get was omitted with DB_CURRENT. [#14143]
5. Fix a bug with secondary cursors when the secondary has
off-page duplicates. This bug resulted in incorrect primary
data being returned. [#14240]
6. Fix a bug that would not properly upgrade database files
from releases 3.2.9 (and earlier) to releases 4.0 (and
greater). [#14461]
7. Fix a bug that could cause a DB_READ_UNCOMMITTED get through
a secondary index to return DB_SECONDARY_CORRUPT. [#14487]
8. Fix a bug so that non-transactional cursor updates of a
transactional database will generate an error. [#14519]
9. Add a message when the system panics due to a page in the
wrong state at its time of allocation. [#14527]
Btree Access Method Changes:
1. Fix a bug that could cause a diagnostic assertion by setting
the deleted bit on a record in an internal node. [#13944]
2. Fix 3 problems in BTREE compaction: [#14238]
1. When deleting a page don't check the next key in
the parent if we are going to delete the parent too.
2. Need to check that the tree has not collapsed between
dropping a read lock and getting the write lock. If it
has collapsed we will fetch the root of the tree.
3. Fix a case where we fail to lock the next page before
reading it.
3. Fix a bug that could cause the compaction of a Btree with
sorted duplicates to fail when attempting to compact an off
page duplicate tree if a key could not fit in an internal
node. [#14771]
4. Fix a bug that causes a loop if an empty Btree was
compacted. [#14493]
Hash Access Method Changes:
1. Fix a bug that could cause corruption in queue extent
files if multiple processes tried to open the same extent at
the same time. [#14438]
Queue Access Method Changes:
1. Fix a bug that caused locks not maintained where queue
records were read but not present in the queue at the end of
a transaction, therefore violating serializability. [#13719]
Recno Access Method Changes:
None
C++-specific API Changes:
1. C++ applications that check could the error code in
exceptions should note that DbMemoryException has been changed
to have the error code DB_BUFFER_SMALL rather than ENOMEM, to
match the error returned by the C API. DbMemoryException will
be thrown when a Dbt is too small to contain data returned
by Berkeley DB. When a call to malloc fails, or some other
resource is exhausted, a plain DbException will be thrown
with error code set to ENOMEM. [#13939]
Java-specific API Changes:
1. Database.verify may now be called. This method is now
static and takes a DatabaseConfig parameter. [#13971]
2. Add DB_ENV->{fileid_reset, lsn_reset} to the public
API. [#14076]
Java collections and bind API Changes:
1. The com.sleepycat.collections package is now fully
compatible with the Java Collections framework. [#14732]
Tcl-specific API Changes:
None
RPC-specific Client/Server Changes:
None
Replication Changes:
1. Fix a bug so that internal init will remove client databases
at the start of internal init. [#14147]
2. Fix a bug in replication internal init so that using
data_dir will be handled correctly. Make internal
init resilient to multiple data_dir calls with the same
directory. [#14489]
3. Fix a bug in the 4.2 sync-up algorithm that could result
in no open files. [#14552]
4. Fix a bug where a PERM bulk buffer could have a zero LSN
passed to the application callback. [#14675]
5. Change names of some existing replication API methods
as described in "Replication Method Naming" page of the
"Upgrading Berkeley DB Applications to Release 4.5" section
of Berkeley DB Reference Guide. [#14723]
6. Fix a bug which could cause an election to succeed only
after waiting for the timeout to expire, even when all sites
responded in a timely manner. The bug was most easily visible
in an election between 2 sites. [#14752]
XA Resource Manager Changes:
None
Locking Subsystem Changes:
1. Fix a bug that could cause a writer to hang if
readuncommitted is enabled and it tries to reacquire a write
lock. [#14919]
Logging Subsystem Changes:
1. Fix a bug so that log headers are now included in
the check sum. This avoids a possible race in doing hot
backups. [#11636].
2. Fix a bug where recovery fails if there is no disk space
for the forced checkpoint that occurs at the end of processing
the log. [#13986]
3. Fix a bug which could cause a page to be missing from
the end of a database file if the page at the end of the
file was freed while it contained data and the system was
restarted prior to the log record for that free was flushed
to disk. [#14090]
4. Fix a bug that could cause log files to be incorrectly
removed by log_archive if it was run immediately after
recovery. [#14874]
Memory Pool Subsystem Changes:
1. Fix a bug that could cause corruption to the buffer
pool cache if a race condition was hit while using
DB->Compact. [#14360]
2. Fix a bug where cache pages could be leaked in applications
creating temporary files for which the DB_MPOOL_NOFILE flag
was set. [#14544]
Transaction Subsystem Changes:
1. Fix a bug that could cause extra empty pages to appear in
a database file after recovery. [#11118]
2. Fix a bug triggered when running recovery with a feedback
function that could cause a NULL pointer dereference. [#13834]
3. Fix a bug where running recovery could create duplicate
entries in the data directory list. [#13884]
4. Fix a bug to not trade locks if a write lock is already
owned. [#13917]
5. Fix a bug that could cause traps or hangs if the
DB_TXN->set_name function is used in a multithreaded
application. [#14033]
6. Fix a bug so that a transaction can no longer be committed
after it had deadlocked. [#14037]
7. Fix a bug that could cause a trap during recovery if
multiple operations that could remove the same extent are
recovered. [#14061]
8. Fix a bug that could cause an extent file to be deleted
after the last record in the extent was consumed but the
consuming transaction was aborted. [#14179]
9. Fix a bug where the parent database would not use
DB_READ_UNCOMMITTED in certain cases when calling
DBC->c_pget. [#14361]
10. Fix a bug so that it is no longer possible to do a
non-transactional cursor update on a database that is opened
transactionally. [#14519]
11. Fix a bug that causes a sequence to ignore the
DB_AUTO_COMMIT settings. [#14582]
12. Fix a bug, change txn_recover so that multiple processes
will recover prepared transactions without requiring that the
first process stay active. [#14707]
Utility Changes:
1. Fix a bug that caused db_verify to not check the order on
leaf pages which were the leftmost children of an internal
node. [#13004]
2. Fix a bug that caused db_hotbackup to not backup queue
extent files. [#13848]
3. Fix a bug so that db_verify no longer reports that an
unused hash page is not fully zeroed. [#14030]
4. Fix a bug where db_stat ignored the -f option to return
"fast statistics". [#14283]
5. Fix a bug that prevented the db_stat utility from opening
database files with write permission so that meta data
statistics would be updated. [#14755]
Configuration, Documentation, Portability and Build Changes:
1. The Berkeley DB 4.3 and 4.4 releases disallowed using
the --with-uniquename configuration option with the C++,
Java, or RPC --enable-XXX options. The 4.5 release returns
to the 4.2 release behavior, allowing those combinations of
configuration options. [#14067]
2. Fix build issues when CONFIG_TEST is not enabled for
Tcl. [#14507]
3. There are updated build instructions for Berkeley DB PHP
module on Linux. [#14249]
4. Use libtool's "standard" environment variable names so that
you can set "AR" to "ar -X64" for example, and modify both
libtool and the Makefile commands. Remove the install-strip
target from the Makefile, it is no longer used. [#14726]
-------------------------------------------------------------------
Fri May 4 16:20:31 CEST 2007 - dbornkessel@suse.de
- moved libdb-4.so to devel package
- renamed package to db44
- cleaned up spec file
-------------------------------------------------------------------
Thu Apr 19 12:00:12 CEST 2007 - dmueller@suse.de
- remove unused db_cxx libraries
-------------------------------------------------------------------
Tue Mar 20 18:04:25 CET 2007 - rguenther@suse.de
- Remove unused ed BuildRequires.
-------------------------------------------------------------------
Tue Sep 12 15:14:31 CEST 2006 - rhafer@suse.de
- updated to db-4.4.20 (plus released Sleepycat patches). Most
important changes:
* Add support to compact an existing Btree database.
* Add support for named in-memory databases.
* Add support for database environment recovery serialization.
* Add utility for performing hot backups of a database
environment.
* Add replication configuration API.
- removed Assembler mutex code patch which wasn't used anymore
anyways
-------------------------------------------------------------------
Wed Jan 25 21:30:05 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Fri Jan 13 00:15:07 CET 2006 - schwab@suse.de
- Don't strip binaries.
-------------------------------------------------------------------
Sun Oct 23 21:02:05 CEST 2005 - kukuk@suse.de
- Libtool is crap
-------------------------------------------------------------------
Thu Oct 20 13:38:18 CEST 2005 - kukuk@suse.de
- Remove LinuxThreads support
-------------------------------------------------------------------
Mon Oct 10 15:38:24 CEST 2005 - kukuk@suse.de
- Update to version 4.3.29
- Add Getting Started Guide to devel package [#117776]
-------------------------------------------------------------------
Sun Sep 18 13:38:23 CEST 2005 - kukuk@suse.de
- Compile with -fno-strict-aliasing
-------------------------------------------------------------------
Wed Jul 13 12:55:18 CEST 2005 - kukuk@suse.de
- Remove duplicate index.html from db-devel
-------------------------------------------------------------------
Mon Jul 11 11:07:28 CEST 2005 - kukuk@suse.de
- Fix compiling with NPTL only glibc
- Remove *.la files
- Add glibc-devel to db-devel Requires
-------------------------------------------------------------------
Thu Jun 9 14:31:08 CEST 2005 - kukuk@suse.de
- Fix compiler warnings, remove obsolete compiler flags
-------------------------------------------------------------------
Tue Jan 25 09:46:12 CET 2005 - choeger@suse.de
- Update to 4.3.27
-------------------------------------------------------------------
Thu Nov 18 13:32:12 CET 2004 - kukuk@suse.de
- Update to 4.3.21
-------------------------------------------------------------------
Fri Sep 10 17:26:08 CEST 2004 - kukuk@suse.de
- i586 now also has NPTL support
-------------------------------------------------------------------
Mon May 10 17:17:45 CEST 2004 - kukuk@suse.de
- Add libtool workaround to always get a soname [Bug #39128]
-------------------------------------------------------------------
Thu Mar 25 17:12:13 CET 2004 - kukuk@suse.de
- Add a locking fix for replication clients
-------------------------------------------------------------------
Wed Mar 24 22:05:01 CET 2004 - meissner@suse.de
- Slightly adjusted ppc locking to use isync at
the right place.
- actually apply Thorstens last patch.
-------------------------------------------------------------------
Mon Jan 12 16:57:06 CET 2004 - kukuk@suse.de
- Add patch to fix problem with long-running applications
hanging in DB cache.
-------------------------------------------------------------------
Mon Jan 12 09:33:28 CET 2004 - kukuk@suse.de
- Add/Remove nptl libraries to/from ldconfig cache
-------------------------------------------------------------------
Tue Dec 16 15:25:37 CET 2003 - kukuk@suse.de
- Fix libtool.ac for AMD64
- Fix mutex.ac for MIPS
-------------------------------------------------------------------
Mon Dec 15 18:15:30 CET 2003 - kukuk@suse.de
- Update to version 4.2.52
- Disable MIPS patch temporary
-------------------------------------------------------------------
Tue Dec 9 16:01:06 CET 2003 - kukuk@suse.de
- Add s390 as NPTL architecture
-------------------------------------------------------------------
Thu Nov 27 08:32:36 CET 2003 - kukuk@suse.de
- Fix linking of libdb_cxx.so
-------------------------------------------------------------------
Mon Nov 24 08:46:51 CET 2003 - kukuk@suse.de
- Link non-NPTL libdb on NPTL archs against pthread library, too
-------------------------------------------------------------------
Fri Nov 21 08:22:27 CET 2003 - kukuk@suse.de
- Remove old, unused patches
- Compile with no-execstack
- Add db linked against nptl pthread library
-------------------------------------------------------------------
Fri Oct 17 21:12:16 CEST 2003 - adrian@suse.de
- revert last change and implement fast mutexes for mips
(partly taken from linux kernel source)
-------------------------------------------------------------------
Wed Oct 15 19:38:18 CEST 2003 - adrian@suse.de
- use posixmutexes on mips
-------------------------------------------------------------------
Wed Oct 15 17:12:17 CEST 2003 - kukuk@suse.de
- Build as non root
-------------------------------------------------------------------
Thu Oct 2 17:56:34 CEST 2003 - kukuk@suse.de
- Remove ed from needed for build
-------------------------------------------------------------------
Fri Sep 26 12:55:21 CEST 2003 - kukuk@suse.de
- Disable db_dump185
- Enable compiler warnings
- Disable strict aliasing
-------------------------------------------------------------------
Mon Jun 23 17:30:54 CEST 2003 - meissner@suse.de
- PPC needs isync after bne or it might break on SMP systems
and lwsync (sync all previous memory operations) on unset.
-------------------------------------------------------------------
Mon May 12 18:47:05 CEST 2003 - kukuk@suse.de
- Add examples_{c,cxx} to devel filelist
-------------------------------------------------------------------
Thu May 8 17:47:01 CEST 2003 - kukuk@suse.de
- Update to 4.1.25
-------------------------------------------------------------------
Thu Jan 23 20:31:56 CET 2003 - bg@suse.de
- Fix mutex support for hppa
(patch by Keith Bostic, bostic@sleepycat.com)
-------------------------------------------------------------------
Thu Jan 9 10:58:58 CET 2003 - kukuk@suse.de
- Add db4-4.0.14-recover.patch: fix endless loop with db_recover
-------------------------------------------------------------------
Mon Sep 16 17:45:11 CEST 2002 - rhafer@suse.de
- Added locker-leak-fix.dif, which fixes a resource leak triggerd
by openldap2 and larger databases. For more details see:
www.openldap.org/its/index.cgi/Software%20Bugs?id=2040
-------------------------------------------------------------------
Sat Aug 31 00:55:21 CEST 2002 - schwab@suse.de
- Fix last libstdc++ change for real.
-------------------------------------------------------------------
Fri Aug 30 12:57:27 CEST 2002 - kukuk@suse.de
- Fix last libstdc++ change
-------------------------------------------------------------------
Tue Aug 27 17:25:05 CEST 2002 - pthomas@suse.de
- Explicitely link libdb_cxx against libstdc++. This is a hack
until libtool 1.4e is released.
- Directly pass RPM_OPT_FLAGS as CFLAGS and CXXFLAGS.
-------------------------------------------------------------------
Thu Jul 25 13:18:59 CEST 2002 - rhafer@suse.de
- fix for mutex support on s390 (by bk@suse.de)
- rebuild configure script during build (using s_conf)
-------------------------------------------------------------------
Wed Jul 3 14:27:13 CEST 2002 - uli@suse.de
- added mutex support for x86-64
-------------------------------------------------------------------
Fri May 10 15:34:10 CEST 2002 - kukuk@suse.de
- Add patch to fix missing mutex support on Alpha, SPARC and s390
-------------------------------------------------------------------
Fri May 3 14:51:50 CEST 2002 - kukuk@suse.de
- correct calculation of needed space for shalloc [Bug #12096]
-------------------------------------------------------------------
Mon Jan 21 15:29:20 CET 2002 - kukuk@suse.de
- Update to db 4.0.14
- put all documenation into /usr/share/doc/packages/db, so html
index works.
-------------------------------------------------------------------
Thu Nov 15 10:22:29 CET 2001 - ro@suse.de
- added patch 3.3.11.1
Fix a bug in DB 1.85 compatibility mode that could cause
DB 1.85 applications to fail to compile
-------------------------------------------------------------------
Mon Nov 5 14:47:13 CET 2001 - adrian@suse.de
- update to 3.3.11
- move optional documentation to db-extensions-devel package
-------------------------------------------------------------------
Fri Jul 20 14:09:04 CEST 2001 - kukuk@suse.de
- Fix build on multilib archs
-------------------------------------------------------------------
Wed Jun 6 15:39:19 EDT 2001 - bk@suse.de
- add suse_update_config for s390x
-------------------------------------------------------------------
Wed May 9 14:05:29 CEST 2001 - mfabian@suse.de
- bzip2 sources
-------------------------------------------------------------------
Sat Mar 31 21:43:05 CEST 2001 - schwab@suse.de
- Build static and shared libraries in one go.
-------------------------------------------------------------------
Mon Nov 6 10:51:07 CET 2000 - kukuk@suse.de
- Add /usr/include/db_185.h and /usr/include/db_cxx.h
-------------------------------------------------------------------
Wed Oct 25 21:08:46 CEST 2000 - kukuk@suse.de
- Install static library versions, too
-------------------------------------------------------------------
Sat Oct 21 18:53:08 CEST 2000 - kukuk@suse.de
- Fix documentation
- Add /usr/include/db.h
-------------------------------------------------------------------
Wed Oct 18 09:50:12 CEST 2000 - kukuk@suse.de
- initial version

242
libdb-4_8.spec Normal file
View File

@ -0,0 +1,242 @@
#
# spec file for package libdb-4_8
#
# Copyright (c) 2023 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/
#
%define util_list archive checkpoint deadlock dump hotbackup load printlog recover sql stat upgrade verify
%define generic_name db
%define major 4
%define minor 8
Name: libdb-4_8
Version: %{major}.%{minor}.30
Release: 0
Summary: Berkeley DB Database Library Version 4.8
License: BSD-3-Clause AND Sleepycat
Group: System/Libraries
URL: https://oracle.com/technetwork/products/berkeleydb/
Source: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
Source1: %{name}.changes
Source2: baselibs.conf
Patch0: db-%{version}.patch
# PATCH-FIX-OPENSUSE Fix build with GCC8, conflict with reserved builtin name
Patch1: libdb-fix-atomic.patch
Patch2: 0001-OPD-deadlock-RH-BZ-1349779.patch
BuildRequires: autoconf
BuildRequires: fdupes
BuildRequires: gcc-c++
Provides: db = %{version}
%{?suse_build_hwcaps_libs}
%description
The Berkeley DB Database is a programmatic toolkit that provides
database support for applications.
This package contains the necessary runtime libraries.
%package -n db48-utils
Summary: Command Line tools for Managing Berkeley DB Databases
Group: Productivity/Databases/Tools
Requires(post): update-alternatives
Provides: db-utils = %{version}
Obsoletes: db-utils < %{version}
%description -n db48-utils
The Berkeley DB Database is a programmatic toolkit that provides
database support for applications.
This package contains the command line tools for managing Berkeley DB
databases.
%package -n db48-doc
Summary: Documentation for Berkeley DB
Group: Development/Libraries/C and C++
Provides: db-doc = %{version}
Provides: db-utils-doc = %{version}
Obsoletes: db-doc < %{version}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description -n db48-doc
The Berkeley DB Database is a programmatic toolkit that provides
database support for applications.
This package contains the documentation.
%package devel
Summary: Development Files and Libraries for the Berkeley DB library Version 4.8
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Requires: glibc-devel
Conflicts: libdb-4_5-devel
Provides: db-devel = %{version}
%description devel
The Berkeley DB Database is a programmatic toolkit that provides
database support for applications.
This package contains the header files and libraries.
%prep
%setup -q -n %{generic_name}-%{version}
%patch0
%patch1
%patch2 -p1
%build
cd dist
# dist/RELEASE codes the build date into the binary.
# Use last change of changes file instead
LAST_MOD=`stat --format="%%Y" %{SOURCE1}`
DIST_DATE=`date '+%%B %%e, %%Y' --date="@$LAST_MOD"`
sed -i -e "s/^DB_RELEASE_DATE=.*$/DB_RELEASE_DATE=\"$DIST_DATE\"/" RELEASE
./s_config
CFLAGS="%{optflags} -fno-strict-aliasing"
CC=gcc
export CFLAGS CXXFLAGS CC
#
# Build now the NPTL version
#
mkdir ../build_nptl
cd ../build_nptl
%define _configure ../dist/configure
%configure \
--enable-compat185 --disable-dump185 \
--enable-shared --disable-static \
--enable-cxx \
--with-mutex="POSIX/pthreads/library" \
%ifarch %{arm}
%{_target_cpu}-suse-linux-gnueabi
%else
%{_target_cpu}-suse-linux
%endif
# Make sure O_DIRECT is really disabled (build host could have old kernel)
perl -pi -e 's/#define HAVE_O_DIRECT 1/#undef HAVE_O_DIRECT/' db_config.h
# Remove libtool predep_objects and postdep_objects wonkiness
perl -pi -e 's/^predep_objects=".*$/predep_objects=""/' libtool
perl -pi -e 's/^postdep_objects=".*$/postdep_objects=""/' libtool
perl -pi -e 's/-shared -nostdlib/-shared/' libtool
make %{?_smp_mflags} LIBSO_LIBS='$(LIBS)' LIBXSO_LIBS='$(LIBS)'" -L%{_libdir} -lstdc++"
%install
mkdir -p %{buildroot}%{_includedir}/db4
mkdir -p %{buildroot}%{_libdir}
cd build_nptl
%make_install STRIP=true
cd ..
# make ldd happy:
chmod 755 %{buildroot}%{_libdir}/libdb*.so
# Fix header file installation
mv %{buildroot}%{_includedir}/*.h %{buildroot}%{_includedir}/db4
echo "#include <db4/db.h>" > %{buildroot}%{_includedir}/db.h
echo "#include <db4/db_185.h>" > %{buildroot}%{_includedir}/db_185.h
echo "#include <db4/db_cxx.h>" > %{buildroot}%{_includedir}/db_cxx.h
# remove dangling tags symlink from examples.
rm -f examples_cxx/tags
rm -f examples_c/tags
# Move documentation to the right directory
mkdir -p %{buildroot}%{_docdir}/%{name}
mv %{buildroot}%{_prefix}/docs/* %{buildroot}/%{_docdir}/%{name}
cp -a examples_cxx examples_c %{buildroot}/%{_docdir}/%{name}
cp -a LICENSE README %{buildroot}/%{_docdir}/%{name}
# Remove api documentation for C++, Java and TCL
rm -rf %{buildroot}/%{_docdir}/%{name}/csharp
rm -rf %{buildroot}/%{_docdir}/%{name}/java
rm -rf %{buildroot}/%{_docdir}/%{name}/api_reference/CXX
rm -rf %{buildroot}/%{_docdir}/%{name}/api_reference/STL
rm -rf %{buildroot}/%{_docdir}/%{name}/api_reference/TCL
rm -rf %{buildroot}/%{_docdir}/%{name}/gsg*/CXX
rm -rf %{buildroot}/%{_docdir}/%{name}/gsg*/JAVA
mv %{buildroot}/%{_docdir}/%{name}/collections/tutorial %{buildroot}/%{_docdir}/%{name}/
# Remove crappy *.la files
find %{buildroot} -type f -name "*.la" -delete -print
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
for i in %{util_list}; do
# dummy
mkdir -p %{buildroot}%{_sysconfdir}/alternatives/
touch "%{buildroot}%{_sysconfdir}/alternatives/db_$i"
mv "%{buildroot}/%{_bindir}/db_$i" "%{buildroot}/%{_bindir}/db48_$i"
ln -s "%{_sysconfdir}/alternatives/db_$i" "%{buildroot}%{_bindir}/db_$i"
done
%fdupes -s %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post -n db48-utils
for i in %{util_list}; do
update-alternatives --install "%{_bindir}/db_$i" \
"db_$i" "%{_bindir}/db48_$i" 48
done
%postun -n db48-utils
for i in %{util_list}; do
update-alternatives --remove "db_$i" "%{_bindir}/db_$i"
done
%files
%{_libdir}/libdb-%{major}.%{minor}.so
%{_libdir}/libdb_cxx-%{major}.%{minor}.so
%files -n db48-doc
%dir %{_docdir}/%{name}
%license %{_docdir}/%{name}/LICENSE
%doc %{_docdir}/%{name}/README
%doc %{_docdir}/%{name}/index.html
%license %{_docdir}/%{name}/license
%doc %{_docdir}/%{name}/articles
%doc %{_docdir}/%{name}/api_reference
%doc %{_docdir}/%{name}/examples_c
%doc %{_docdir}/%{name}/examples_cxx
%doc %{_docdir}/%{name}/gsg*
%doc %{_docdir}/%{name}/porting
%doc %{_docdir}/%{name}/programmer_reference
%doc %{_docdir}/%{name}/tutorial
%files -n db48-utils
%{_bindir}/db48_*
%ghost %{_sysconfdir}/alternatives/db_archive
%ghost %{_sysconfdir}/alternatives/db_checkpoint
%ghost %{_sysconfdir}/alternatives/db_deadlock
%ghost %{_sysconfdir}/alternatives/db_dump
%ghost %{_sysconfdir}/alternatives/db_hotbackup
%ghost %{_sysconfdir}/alternatives/db_load
%ghost %{_sysconfdir}/alternatives/db_printlog
%ghost %{_sysconfdir}/alternatives/db_recover
%ghost %{_sysconfdir}/alternatives/db_sql
%ghost %{_sysconfdir}/alternatives/db_stat
%ghost %{_sysconfdir}/alternatives/db_upgrade
%ghost %{_sysconfdir}/alternatives/db_verify
%{_bindir}/db_*
%files devel
%dir %{_includedir}/db4
%{_includedir}/db.h
%{_includedir}/db_185.h
%{_includedir}/db_cxx.h
%{_includedir}/db4/db.h
%{_includedir}/db4/db_185.h
%{_includedir}/db4/db_cxx.h
%{_libdir}/libdb.so
%{_libdir}/libdb-%{major}.so
%{_libdir}/libdb_cxx.so
%{_libdir}/libdb_cxx-%{major}.so
%changelog

22
libdb-fix-atomic.patch Normal file
View File

@ -0,0 +1,22 @@
Fix use of reserved identifier __atomic_compare_exchange by renaming
--- dbinc/atomic.h.orig 2018-03-13 09:44:13.197929296 +0100
+++ dbinc/atomic.h 2018-03-13 09:45:09.582831244 +0100
@@ -144,7 +144,7 @@
#define atomic_inc(env, p) __atomic_inc(p)
#define atomic_dec(env, p) __atomic_dec(p)
#define atomic_compare_exchange(env, p, o, n) \
- __atomic_compare_exchange((p), (o), (n))
+ __db_atomic_compare_exchange((p), (o), (n))
static inline int __atomic_inc(db_atomic_t *p)
{
int temp;
@@ -176,7 +176,7 @@
* http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
* which configure could be changed to use.
*/
-static inline int __atomic_compare_exchange(
+static inline int __db_atomic_compare_exchange(
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
{
atomic_value_t was;

View File

@ -0,0 +1,13 @@
Index: db-4.8.30/dist/configure.ac
===================================================================
--- db-4.8.30.orig/dist/configure.ac
+++ db-4.8.30/dist/configure.ac
@@ -416,7 +416,7 @@ if test "$db_cv_java" = "yes"; then
esac
AC_MSG_RESULT($JAVA_VERSION)
case "$JAVA_VERSION" in
- 1.[[3456789]]* | 1.[[1-9]][[0-9]]* | [[23456789]]* ) ;;
+ 1.[[3456789]]* | 1.[[1-9]][[0-9]]* | [[23456789]]* | [[1-9]][[0-9]]* ) ;;
* )
AC_MSG_ERROR([Java version 1.3 or higher required, got $JAVA_VERSION]) ;;
esac

151
libdb_java-4_8.changes Normal file
View File

@ -0,0 +1,151 @@
-------------------------------------------------------------------
Wed Jun 21 12:42:57 UTC 2023 - Pedro Monreal <pmonreal@suse.com>
- Fix incomplete license tag. [bsc#1099695]
-------------------------------------------------------------------
Thu May 4 13:52:39 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
- Add _multibuild to define additional spec files as additional
flavors.
Eliminates the need for source package links in OBS.
-------------------------------------------------------------------
Fri Apr 8 12:39:20 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Build with java source and target levels 8
* fixes build in Factory
-------------------------------------------------------------------
Mon Aug 19 06:59:04 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Remove the getpatches as it does not work at all, oracle
removed the pages
- Use spec-cleaner
- Fix stripped debuginfo to make sure we can debug with libdb
-------------------------------------------------------------------
Mon Apr 9 05:32:56 UTC 2018 - fstrba@suse.com
- Changed libdb_java-4_8-fix-java10-comp.patch to acount for Java
10 properly and for following Java versions in a generic way.
-------------------------------------------------------------------
Tue Mar 13 08:59:56 UTC 2018 - rguenther@suse.com
- Add libdb-fix-atomic.patch to fix __atomic_compare_exchange clash
with GCCs builtin. Fixes build with GCC8 which now rejects this.
-------------------------------------------------------------------
Tue Jan 9 13:26:27 UTC 2018 - pmonrealgonzalez@suse.com
- Added libdb_java-4_8-fix-java10-comp.patch to fix the build with
Java 10 (10-internal)
-------------------------------------------------------------------
Wed Oct 18 07:00:16 UTC 2017 - jayvdb@gmail.com
- Remove unnecessary dependency on update-alternatives
-------------------------------------------------------------------
Mon Oct 2 09:23:07 UTC 2017 - fstrba@suse.com
- Specify java target and soure level 1.6 to allow building with
jdk9
-------------------------------------------------------------------
Thu Mar 31 09:50:54 UTC 2016 - tchvatal@suse.com
- Use upstream tarball
- Cleanup with spec-cleaner
- remove unused script check-build.sh
-------------------------------------------------------------------
Mon May 12 08:52:48 UTC 2014 - schwab@suse.de
- remove generation of unused tarball
- remove setting of unused variable
-------------------------------------------------------------------
Thu Jun 13 23:11:33 UTC 2013 - jengelh@inai.de
- Add conflict markers against libdb-4_5 (overlapping files)
-------------------------------------------------------------------
Mon Jan 9 12:08:54 UTC 2012 - aj@suse.de
- Do not use build date as version string.
-------------------------------------------------------------------
Thu Dec 22 01:11:58 UTC 2011 - jengelh@medozas.de
- Remove redundant/unwanted tags/section (cf. specfile guidelines)
-------------------------------------------------------------------
Tue Sep 27 16:39:58 UTC 2011 - prusnak@opensuse.org
- spec cleanup
-------------------------------------------------------------------
Sat Aug 13 03:50:05 UTC 2011 - crrodriguez@opensuse.org
- Disable static libraries
-------------------------------------------------------------------
Wed Sep 22 12:08:25 UTC 2010 - rhafer@novell.com
- Updated to db-4.8.30. Important changes since 4.7:
* Improved scalability and throughput when using BTree databases
especially when running with multiple threads that equal or
exceed the number of available CPUs.
* Berkeley DB has added database partitioning. BTree or Hash
databases may now be partitioned across multiple directories.
Partitioned databases can be used to increase concurrency and to
improve performance by spreading access across disk subsystems.
* Berkeley DB now supports bulk insertion and deletion of data.
Similar to the bulk get interface, the bulk put and bulk delete
allow the developer to populate a buffer of key-value pairs and
then pass it to the BDB library with a single API call.
* Berkeley DB now supports compression when using BTree.
* Berkeley DB introduces a new utility named db_sql which replaces
db_codegen. Similar to db_codegen, db_sql accepts an input file
with DDL statements and generates a Berkeley DB application
using the C API that creates and performs CRUD operations on
the defined tables. The developer can then use that code as a
basis for further application development.
* The Replication Manager now supports shared access to the Master
database environment from multiple processes. In earlier
versions, multiple process support on the Master required use
of the Base Replication API.
* Foreign Key Support has been added to Berkeley DB.
* for a more detailed changelog see the changelog_4_8.html file
in db-doc package.
- Removed db-utils-doc subpackage the utils documentation is now
integrated with the API documentation.
-------------------------------------------------------------------
Wed Aug 26 12:53:54 CEST 2009 - mls@suse.de
- make patch0 usage consistent
-------------------------------------------------------------------
Fri Nov 21 16:39:20 CET 2008 - ro@suse.de
- update check-build.sh
-------------------------------------------------------------------
Thu Jul 31 00:12:53 CEST 2008 - ro@suse.de
- changed buildreq to use any java > 1.5
-------------------------------------------------------------------
Thu Jul 5 14:51:30 CEST 2007 - dbornkessel@suse.de
- corrected file list
- added update-alternatives to work around a ia64 problem
-------------------------------------------------------------------
Mon Jun 11 18:55:03 CEST 2007 - dbornkessel@suse.de
- first version

159
libdb_java-4_8.spec Normal file
View File

@ -0,0 +1,159 @@
#
# spec file for package libdb_java-4_8
#
# Copyright (c) 2023 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/
#
%define generic_name db
%define major 4
%define minor 8
Name: libdb_java-4_8
Version: %{major}.%{minor}.30
Release: 0
Summary: Java Bindings for the Berkeley DB
License: BSD-3-Clause AND Sleepycat
Group: Productivity/Databases/Servers
URL: https://oracle.com/technetwork/products/berkeleydb/
Source: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
Source1: %{name}.changes
Patch0: db-%{version}.patch
# PATCH-FIX-OPENSUSE Fix compilation with Java 10 (10-internal)
Patch1: libdb_java-4_8-fix-java10-comp.patch
# PATCH-FIX-OPENSUSE Fix build with GCC8, conflict with reserved builtin name
Patch2: libdb-fix-atomic.patch
BuildRequires: autoconf
BuildRequires: gcc-c++
BuildRequires: java-sdk >= 1.8
BuildRequires: unzip
Requires: libdb-%{major}_%{minor} = %{version}
Conflicts: libdb_java-4_5
Provides: db-java = %{version}
%description
These are the Java bindings for the Berkeley DB. They are needed for
the Java support of db and dbxml.
%package devel
Summary: Java Bindings for the Berkeley DB
Group: Productivity/Databases/Servers
Requires: %{name} = %{version}
Requires: glibc-devel
Conflicts: libdb_java-4_5-devel
Provides: db-java-devel = %{version}
%description devel
These are the Java bindings for the Berkeley DB. They are needed for
the Java support of db and dbxml.
These are the development files.
%prep
%setup -q -n %{generic_name}-%{version}
%patch0
%patch1 -p1
%patch2
%build
cd dist
# dist/RELEASE codes the build date into the binary.
# Use last change of changes file instead
LAST_MOD=`stat --format="%%Y" %{SOURCE1}`
DIST_DATE=`date '+%%B %%e, %%Y' --date="@$LAST_MOD"`
sed -i -e "s/^DB_RELEASE_DATE=.*$/DB_RELEASE_DATE=\"$DIST_DATE\"/" RELEASE
./s_config
CFLAGS="%{optflags} -fno-strict-aliasing"
CC=gcc
export CFLAGS CXXFLAGS CC
#
# Build now the NPTL version
#
mkdir ../build_nptl
cd ../build_nptl
%define _configure ../dist/configure
%configure \
--enable-compat185 --disable-dump185 \
--enable-shared --disable-static \
--enable-cxx \
--with-mutex="POSIX/pthreads/library" \
--enable-java JAVACFLAGS="-source 1.8 -target 1.8" \
%ifarch %{arm}
%{_target_cpu}-suse-linux-gnueabi
%else
%{_target_cpu}-suse-linux
%endif
# Make sure O_DIRECT is really disabled (build host could have old kernel)
perl -pi -e 's/#define HAVE_O_DIRECT 1/#undef HAVE_O_DIRECT/' db_config.h
# Remove libtool predep_objects and postdep_objects wonkiness
perl -pi -e 's/^predep_objects=".*$/predep_objects=""/' libtool
perl -pi -e 's/^postdep_objects=".*$/postdep_objects=""/' libtool
perl -pi -e 's/-shared -nostdlib/-shared/' libtool
make %{?_smp_mflags} LIBSO_LIBS='$(LIBS)' LIBXSO_LIBS='$(LIBS)'" -L%{_libdir} -lstdc++"
%install
mkdir -p %{buildroot}%{_includedir}/db4
mkdir -p %{buildroot}%{_libdir}
cd build_nptl
%make_install STRIP=true
cd ..
# make ldd happy:
chmod 755 %{buildroot}%{_libdir}/libdb*.so
# Fix header file installation
mv %{buildroot}%{_includedir}/*.h %{buildroot}%{_includedir}/db4
echo "#include <db4/db.h>" > %{buildroot}%{_includedir}/db.h
echo "#include <db4/db_185.h>" > %{buildroot}%{_includedir}/db_185.h
echo "#include <db4/db_cxx.h>" > %{buildroot}%{_includedir}/db_cxx.h
# remove dangling tags symlink from examples.
rm -f examples_cxx/tags
rm -f examples_c/tags
# Move documentation to the right directory
mkdir -p %{buildroot}%{_docdir}/%{name}
mv %{buildroot}%{_prefix}/docs/* %{buildroot}/%{_docdir}/%{name}
cp -a examples_cxx examples_c %{buildroot}/%{_docdir}/%{name}
cp -a LICENSE README %{buildroot}/%{_docdir}/%{name}
# Remove api documentation for C++, Java and TCL
rm -rf %{buildroot}/%{_docdir}/%{name}/csharp
rm -rf %{buildroot}/%{_docdir}/%{name}/java
rm -rf %{buildroot}/%{_docdir}/%{name}/api_reference/CXX
rm -rf %{buildroot}/%{_docdir}/%{name}/api_reference/STL
rm -rf %{buildroot}/%{_docdir}/%{name}/api_reference/TCL
rm -rf %{buildroot}/%{_docdir}/%{name}/gsg*/CXX
rm -rf %{buildroot}/%{_docdir}/%{name}/gsg*/JAVA
mv %{buildroot}/%{_docdir}/%{name}/collections/tutorial %{buildroot}/%{_docdir}/%{name}/
# Remove crappy *.la files
find %{buildroot} -type f -name "*.la" -delete -print
pushd %{buildroot}
for file in `find | grep -v "\(java\|jar\)"`
do
rm $file || true
done
rm -rf %{buildroot}/%{_defaultdocdir}
mkdir -p %{buildroot}/%{_javadir}
mv %{buildroot}/%{_libdir}/*.jar %{buildroot}/%{_javadir}/db-%{version}.jar
ln -sf %{_javadir}/db-%{version}.jar %{buildroot}/%{_javadir}/db.jar
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%{_javadir}/*
%{_libdir}/libdb_java-%{major}.%{minor}.so
%files devel
%{_libdir}/*_g.so
%{_libdir}/libdb_java.so
%{_libdir}/libdb_java-%{major}.so
%changelog