BSD Ports

databases/lmdb 1.0.2_1,1 FreeBSD

OpenLDAP Lightning Memory-Mapped Database

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
85ba298b7e
License
OPENLDAP
Categories
databases
Package size
128.7 KiB, 821.7 KiB installed

Description

LMDB is an ultra-fast, ultra-compact key-value data store developed by Symas for the OpenLDAP Project.

It uses memory-mapped files, so it has the read performance of a pure in-memory database while still offering the persistence of standard disk-based databases, and is only limited to the size of the virtual address space, (it is not limited to the size of physical RAM). LMDB was originally called MDB, but was renamed to avoid confusion with other software associated with the name MDB.

In the other systems

SystemPortVersion
FreeBSDdatabases/lmdb1.0.2_1,1
OpenBSDdatabases/lmdb0.9.33
NetBSDdatabases/lmdb1.0.2
DragonFlydatabases/lmdb0.9.33,1
MidnightBSDdatabases/lmdb0.9.33,1

Install

Binary package:

pkg install lmdb

From the ports tree:

cd /usr/ports/databases/lmdb/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	lmdb>0:databases/lmdb
LIB_DEPENDS=	liblmdb.so:databases/lmdb

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest1.0.2,11.0.2,10.9.29_1,10.9.33,11.0.2,1
FreeBSD:14:quarterly1.0.2,11.0.2,1n/a0.9.33,11.0.2,1
FreeBSD:15:latest1.0.2,11.0.2,1n/a0.9.33,10.9.33,1
FreeBSD:15:quarterly1.0.2,11.0.2,1n/an/an/a
FreeBSD:16:latest1.0.2,11.0.2,1n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

Configuration

No options to configure.

Service scripts
none

Message after installing

LMDB 1.0 introduced an incompatible on-disk file format change.
Databases created with LMDB 0.9.x cannot be opened with LMDB 1.0.

If you are migrating from LMDB 0.9.x, you must export your existing
databases using the old mdb_dump and re-import them with the new
mdb_load:

  # mdb_dump -a /path/to/db > /tmp/mydb.dump
  # mdb_load -f /tmp/mydb.dump /path/to/newdb

There is no support in LMDB 1.0 for operating directly on v0.9 DB files.

LMDB 1.0 introduced an incompatible on-disk file format change.
Databases created with LMDB 0.9.x cannot be opened with LMDB 1.0.

Before using the new library, export your existing databases using the
old mdb_dump utility and re-import them with the new mdb_load:

  # mdb_dump -a /path/to/db > /tmp/mydb.dump
  # mdb_load -f /tmp/mydb.dump /path/to/newdb

There is no support in LMDB 1.0 for operating directly on v0.9 DB files.

Files

Manual pages 5
  • mdb_copy(1)
  • mdb_drop(1)
  • mdb_dump(1)
  • mdb_load(1)
  • mdb_stat(1)
pkg-plist 16
  • bin/mdb_copy
  • bin/mdb_drop
  • bin/mdb_dump
  • bin/mdb_load
  • bin/mdb_stat
  • include/lmdb.h
  • lib/liblmdb.a
  • lib/liblmdb.so
  • lib/liblmdb.so.1
  • lib/liblmdb.so.1.0
  • libdata/pkgconfig/lmdb.pc
  • share/man/man1/mdb_copy.1.gz
  • share/man/man1/mdb_drop.1.gz
  • share/man/man1/mdb_dump.1.gz
  • share/man/man1/mdb_load.1.gz
  • share/man/man1/mdb_stat.1.gz
distinfo 1
FileSizeSHA256
openldap-openldap-LMDB_1.0.2_GH0.tar.gz17907738a029bb3e29820380e18a2dfdbe906bbc5b322132c63274c5e4ed7833821752

Commit history 6

DateCommitCreditsLog message
85ba298b7e Baptiste Daroussin databases/lmdb: allow to install both 0.x and 1.x together
LMDB 1.0 and the legacy 0.9 ABI cannot be mixed, the datanase format are incompatibles as well. Rename or relocate everything databases/lmdb0 installs so that it no longer overlaps with databases/lmdb: - the utilities are now mdb_copy0, mdb_dump0, mdb_load0 and mdb_stat0 - the header is include/lmdb0/lmdb.h - the linker name is liblmdb0.so, the shared object keeps its ABI name liblmdb.so.0 so already linked programs are unaffected - the pkg-config file is lmdb0.pc A compatibility prefix holding the previous layout is also installed under ${PREFIX}/lmdb0/ (include/, lib/ and libdata/pkgconfig/) so that build systems which expect to find lmdb.h and -llmdb relative to a single directory only need a path change. Now all ports should migrate to lmdb 1.X and use the lmdb 0.9 port to ease …
cff5017cbc Xin LI databases/lmdb: update to 1.0.2
6e53de2993 Xin LI databases/lmdb: update to 1.0.1
This is a minor bugfix release. Notable changes since 1.0.0: - ITS#10529 - invalidate DBIs in rollback - ITS#10534 - update mdb_env_get_maxkeysize() doc - ITS#10536 - re-fix mdb_drop(MAIN_DBI) - ITS#10540 - cleanup outdated license notices - ITS#10551 - fix mdb_page_split nodesize calculation
5f9d389f29 Xin LI databases/lmdb0: Add port for LMDB 0.9.x legacy ABI
LMDB 1.0 introduced an incompatible on-disk format change and subtle API breakage: applications that compiled cleanly against 1.0 headers could fail silently at run time. Known affected ports include dns/knot3, mail/bogofilter, and mail/postfix; the postfix issue has been confirmed upstream. Linux distributions such as Arch Linux have observed the same breakage. Samba can also be affected in certain configurations. Because the regression is not detectable in an -exp build run -- the postfix failure only manifests at run time, and bogofilter was caught only because post-build self-tests happen to exercise this path -- we cannot rely on package builds to validate the 1.0 upgrade. This commit introduces databases/lmdb0 as a holding port for the 0.9.35 …
0cea189105 Xin LI databases/lmdb: add migration notice for 0.9.x -> 1.0.0 upgrade
LMDB 1.0 introduced an incompatible on-disk file format; v0.9 databases must be exported with mdb_dump and re-imported with mdb_load before use. Add a pkg-message (install always, upgrade only from <1.0.0) and an UPDATING entry documenting the required migration procedure. Suggested by: Kevin Bowling <[email protected]>

The latest 5 of 6 in the history this site was built from.