61 Commits

Author SHA1 Message Date
Bernd Kuhls 9a1a71be21 package/berkeleydb: fix non-threaded build
Building berkeleydb is broken with a non-threaded toolchain with gcc >=
14.x:

../src/rep/rep_method.c:1740:25: error: implicit declaration of function
 '__repmgr_get_nsites'; did you mean '__rep_get_nsites'?
 [-Wimplicit-function-declaration]
 1740 |                 return (__repmgr_get_nsites(env, n));

According to src/repmgr/repmgr_util.c, line 503+, the function
'__repmgr_get_nsites' mentioned in the gcc error message "may only be
called after threads have been started".
This source file repmgr_util.c belongs to REPMGR_OBJS according to
dist/Makefile.in, line 249+, which is, according to dist/configure.ac,
line 956, only build if thread support is present.

In a non-threaded build '__repmgr_get_nsites' does not exist causing the
build error.

To fix the build error we disable replication for non-threaded
toolchains.

Using gcc 13.x the build error does not occur, tested with this
defconfig:

BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
BR2_PTHREADS_NONE=y
BR2_GCC_VERSION_13_X=y
BR2_PACKAGE_BERKELEYDB=y

Using this minimal gcc 14.x-based defconfig

BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
BR2_PTHREADS_NONE=y
BR2_PER_PACKAGE_DIRECTORIES=y
BR2_PACKAGE_BERKELEYDB=y

the build error can be reproduced.

The oldest build error of this kind, afaics, dates back to 2024-06-13:
https://autobuild.buildroot.net/results/e0d/e0d6bdbef01bee277b0da83605b2906af876058a/

Fixes:
https://autobuild.buildroot.net/results/792/792ed942d17bb8d00cd321536a102f6dd63b6a8a/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-02-02 18:28:52 +01:00
Julien Olivain 0ffc3aa43e package/berkeleydb: fix build with host gcc-15.x
Commit [1] fixed berkeleydb target build with gcc-15.x.
The host variant package also fails when building with host gcc-15.x.

This commit fixes the issue by replicating the same fix for the package
host variant.

Fixes:
https://autobuild.buildroot.org/results/a8051600ab95a63c852960f8dace757b16c665f0/

[1] https://gitlab.com/buildroot.org/buildroot/-/commit/c1d422edde19d07d6406705b1a4b059125dba689

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-07-29 00:11:01 +02:00
Bernd Kuhls c1d422edde package/berkeleydb: fix build with gcc-15.x
Inspired by
https://src.fedoraproject.org/rpms/libdb/c/c250c61cc3d56c5cff7ba59308f46245a32bdc69

"GCC 15 defaults to C23.  The last release of this package was over a
 decade ago, and it is no longer maintained, therefore it should not be
 expected to compile to the latest standards."

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-13 21:19:00 +02:00
Bernd Kuhls 244a8c52ef package/berkeleydb: add option for historic dbm interface
Berkeley DB support in python depends on dbm, when missing python fails
to detect libdb:
https://github.com/python/cpython/blob/d2340ef25721b6a72d45d4508c672c4be38c67d3/configure.ac#L4002

quoting python configure log:
checking for libdb... no

quoting python config.log:
conftest.c:(.text.startup+0x8): undefined reference to `__db_ndbm_open'

This patch provides a configure option for the historic dbm interface
to be used by the python package.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-08-09 20:16:25 +02:00
Fabrice Fontaine 7d9dde68b3 package/berkeleydb: add CPE variables
cpe:2.3:a:oracle:berkeley_db is a valid CPE identifier for this package:

  https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword=cpe%3A2.3%3Aa%3Aoracle%3Aberkeley_db

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-08 22:11:57 +01:00
Bernd Kuhls d4ec3c1596 package/berkeleydb: add host variant
Needed for the upcoming Exim security version bump.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-07-28 12:24:23 +02:00
Fabrice Fontaine 57ee0f74ec package/Makefile.in: set -fno-dwarf2-cfi-asm for m68k_cf
Another package (libsquish) is affected by the
"Internal error in emit_expr_encoded at dw2gencfi.c:215".

This error already affects 5 packages and is due to binutils, see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509

No report has been made to binutils yet however as suggested by Yann
during review of woff2 workaround
(https://patchwork.ozlabs.org/patch/911344/), remove the workarounds
from all these packages and put it in package/Makefile.in

Fixes:

 http://autobuild.buildroot.org/results/77e06c092f4e7804dc166e259b25e779e5f1e83a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-13 14:21:52 +01:00
Waldemar Brodkorb ac8912579f berkeleydb: workaround m68k/coldfire issue
Fixes:
 http://autobuild.buildroot.net/results/40423aa6c8f6fe66c771cca3e09b21e15525eb5f

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas: rename BERKELEYDB_CONF_OPTS to BERKELEYDB_CONF_ENV.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-02-22 21:33:21 +01:00
Alexey Brodkin 145e0d9f57 berkeleydb: accommodate threads presence/absence
In BerkeleyDB the most convenient implementation of mutexes on Linux is
via POSIX mutex, and that requires pthread library.

Still it is possible to build (and hopefully use) BerkeleyDB without
mutexes. For this we pass "--disable-mutexsupport" during configuration
of the package.

Fixes:
http://autobuild.buildroot.net/results/717f3b37600a56262badc6f7cb64d7949fdacb67/
http://autobuild.buildroot.net/results/80ebf0382992b277fd94743815bbf0c7426a3654/

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-06 17:28:48 +02:00
Yann E. MORIN 8c3f1d5102 package/berkeleydb: fix shared-only build
Changeset f1d3e09 (Build shared libraries only as the default) broke the
berkeleydb package.

For some reason, we had a very strange post-configure action in bdb:
        $(SED) 's/\.lo/.o/g' $(@D)/build_unix/Makefile

This means that it is using non-libtool object files. This breaks
building shared-only.

This code has been present almost the whole time we've had a berkeleydb
package, that is:
  - November 2003: use a sed expression instead of perl
  - March 2003   : use a perl program
  - August 2002  : introduce berkeleydb

Getting rid of this sed expression fixes the build, and allows building
the three new static/shared combinations: static only, shared only,
both static and shared.

Fixes numerous build failures:
    http://autobuild.buildroot.net/results/b41/b41e13ec6c13830667770b3731f8990062f202bd/
    http://autobuild.buildroot.net/results/925/925433ef505b190aa5ac83c23e9359afe4b21829/
    http://autobuild.buildroot.net/results/9af/9afa0dd835af079411a2ea5d94e5e4db7c993111/
    ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-13 10:36:02 +01:00
Thomas De Schampheleire 7164a32632 packages: remove support for documentation on target
This patch removes deprecated symbol BR2_HAVE_DOCUMENTATION and all its
usage. Additionally, it removes the now unused BR2_DEPRECATED_SINCE_2012_11.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-08 23:31:21 +01:00
Axel Lin 9a61d1f77f berkeleydb: bump to version 5.3.28
According to the information from oracle website, version 5.3.21 is no longer
available for download. Let's upgrade to version 5.3.28.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-02 08:45:38 +01:00
Gustavo Zacarias 287cfe6b21 berkeleydb: add compat option
Add DB 1.85 compatibility layer option, it's needed for arpd in iproute2
and other old apps that haven't moved to the newer API.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-02 08:45:10 +01:00
Jérôme Pouiller e12fab4565 Revert "berkeleydb: bump to version 6.0.20"
BerkeleyDB has changed its license since version 6. New license (AGPL) may
be incompatible with some packages. So we prefer to stick to version 5

This reverts commit 4c478de2e7.

[Peter: adjust comment as suggested by Yann]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-27 10:34:21 +01:00
Axel Lin 4c478de2e7 berkeleydb: bump to version 6.0.20
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-04 08:03:54 +02:00
Alexandre Belloni 8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Alexandre Belloni f2c2f25cef Remove description and url from header
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:00 +02:00
Alexandre Belloni 702704014d Fix package headers to comply with coding style
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 17:26:35 +02:00
Arnout Vandecappelle (Essensium/Mind) e1502ebc0c all packages: rename XXXTARGETS to xxx-package
Also remove the redundant $(call ...).

This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS))/$(eval $(generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS))/$(eval $(autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS))/$(eval $(cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:23:05 +02:00
Luca Ceresoli 2e03375d31 berkeleydb: define license
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 19:07:33 +02:00
Luca Ceresoli 6853d19928 berkeleydb: bump to 5.3.21
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-10 22:00:37 +02:00
Gustavo Zacarias 4608c4c1a4 berkeleydb: add option for tools install
Add an option to install (or not) the berkeleydb binary tools.
The default is no since most of the time/application just need the
library and it helps save some space in the target.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 16:45:24 +02:00
Gustavo Zacarias 9f160affcc berkeleydb: use O_DIRECT
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 16:45:13 +02:00
Peter Korsgaard 9a68921a09 berkeleydb: build with C++ support if enabled
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 15:59:07 +02:00
Peter Korsgaard 25e08d501c berkeleydb: cleanup
Use the preferred 'VAR = value' form, and remove redundant configure
options.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 15:49:04 +02:00
Maxime Hadjinlian 264e75dd6e Bump berkeleydb version
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 15:33:09 +02:00
Thomas Petazzoni 300f9c9c9d package: remove useless arguments from AUTOTARGETS
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
AUTOTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.

[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-29 23:12:27 +02:00
Peter Korsgaard 353ebfd0b1 berkeleydb: target install cleanup
Install into /usr/lib and use the normal make install target instead of
manually messing around with symlinks and .so versions.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-21 13:48:16 +02:00
Luca Ceresoli b1d02f7314 berkeleydb: fix build of shared libraries
009d8fceab and 0a5e5534cb moved the --enable-static configure flag
from package files to the default _CONFIGURE_CMDS in
package/Makefile.autotools.in.
This broke Autotools packages that override _CONFIGURE_CMDS.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-21 13:27:10 +02:00
Thomas Petazzoni 0a5e5534cb packages: remove --{enable,disable}-{shared,static} from autotools packages
Now that those values are passed at the autotools infrastructure
level, there's no need for every package to pass inconsistent values.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-12 21:59:59 +02:00
Gustavo Zacarias bb4ca92c40 berkeleydb: fix download url
Sleepycat is now owned by oracle so the old site is gone.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-07 23:08:40 +02:00
cmchao ef82aebff9 berkeleydb : convert to autotools infrastructure & bump to 4.4.20
Changes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

 * Installation to target is the default
 * Use BERKELEYDB_SUBDIR to get rid of the specific BUILD_CMDS and
   INSTALL_STAGING_CMDS
 * Split the INSTALL_TARGET_CMDS to install development files on the
   target only when needed

Signed-off-by: cmchao <cmchao@gmail.com>
2010-06-24 13:51:07 +02:00
Thomas Petazzoni ef785f61ad Do not let packages remove man pages, info pages and documentation
The cleanup of $(TARGET_DIR)/usr/share/man, $(TARGET_DIR)/usr/man,
$(TARGET_DIR)/usr/share/info, $(TARGET_DIR)/usr/info,
$(TARGET_DIR)/usr/share/doc and $(TARGET_DIR)/usr/doc is already done
globally in the main Makefile. Therefore, there's no need to handle
that on a per-package basis.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-11 06:01:08 +02:00
Peter Korsgaard 3fdf0bffb8 buildroot: silence ./configure step when building with 'make -s'
We have been passing -q to ./configure when using 'make -s' for
packages using Makefile.autotools.in for some time. Do the same
for packages using autotools, but not using the
Makefile.autotools.in infrastructure, taking care to not do it
for packages with hand written configure scripts.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-01 21:24:42 +02:00
Will Newton 422ce6536b package: Remove unnecessary dependencies on uclibc.
A C library will have been built by the toolchain makefiles, so there is no
need for packages to explicitly depend on uclibc.

Signed-off-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-03 20:22:38 +02:00
Will Newton 5e64f5057b berkeleydb: Update config.{sub,guess} in configure step.
Some architectures may need updates to the configure helper scripts
before it is possible to safely configure.

Signed-off-by: Will Newton <will.newton@gmail.com>
2009-08-07 19:01:18 +02:00
Peter Korsgaard 4a7bfd2775 package/: convert to DOWNLOAD helper 2009-01-16 11:42:52 +00:00
Peter Korsgaard ac1d92c425 package/: get rid of unneeded $(strip ..) 2008-12-08 08:15:27 +00:00
Peter Korsgaard dfe689229d buildroot: cleanup <package>-clean targets.
Based on input from Arndt Kritzner & Bernhard Fischer.
2008-03-27 15:42:42 +00:00
Bernhard Reutner-Fischer 14a71561a3 - just use the strip binary to avoid confusing libtool (quotes)
- use $(STRIPCMD) in packages to avoid clashes with $(STRIP)
2007-10-01 16:15:31 +00:00
Bernhard Reutner-Fischer e4c6340a94 - cleanup and fixes (Cristian Ionescu-Idbohrn) 2007-09-17 12:30:31 +00:00
Bernhard Reutner-Fischer 6547bced93 - global whitespace trimming 2007-08-22 12:35:41 +00:00
Bernhard Reutner-Fischer 6c6cb06709 - sed -i -e "/;$/s/;$//g" $(egrep ";$" package/* package/*/*.mk toolchain/* toolchain/*/*.mk */Makefile.in -l) 2007-08-21 19:20:18 +00:00
Ulf Samuelsson e4ead9c13c Remove switches if sstrip is run 2007-08-21 01:53:57 +00:00
Ulf Samuelsson a2e5113512 Use STAGING_DIR/usr/lib instead of STAGING_DIR/lib 2007-08-11 22:26:56 +00:00
Ulf Samuelsson fa9fc5aafa Replace space by tabs 2007-07-28 23:02:26 +00:00
Ulf Samuelsson e1621a4a2a Use <package>_VERSION in all <package>.mk instead of <package>_VER 2007-07-11 14:06:06 +00:00
Bernhard Reutner-Fischer 74d518dc2a - add endian handling, mmap, memcmp checks to TARGET_CONFIGURE_ARGS
- use TARGET_CONFIGURE_ARGS where appropriate.
2007-06-27 12:01:27 +00:00
Eric Andersen 85d7f6f05f fixup package LDFLAGS handling 2007-03-13 22:59:59 +00:00
Eric Andersen 732d94d25f fixup a whole steaming pile of insanity. When packages are configured,
they should be configured with --prefix=/usr and we then need to use
make DESTDIR=$(STAGING_DIR) install to get things installed into the
staging directory.  The current situation for many packages, which use
--prefix=$(STAGING_DIR) results in the staging_dir paths getting compiled
into the binary itself.

This also adds in a pile of libtool fixups.  Between broken pkgconfig,
broken libtool handling, and broken --prefix settings, its a wonder
things have worked as well as they have up till now.
 -Erik
2007-01-14 03:52:21 +00:00