Port details |
- mtbl Immutable sorted string table library
- 1.7.1 devel =2 1.6.1Version of this port present on the latest quarterly branch.
- Maintainer: truckman@FreeBSD.org
- Port Added: 2015-04-02 23:55:26
- Last Update: 2024-12-13 02:31:14
- Commit Hash: 3baad07
- People watching this port, also watch:: jdictionary, py311-Automat, py311-python-gdsii, py39-PyOpenGL, p5-Sane
- License: APACHE20
- WWW:
- https://github.com/farsightsec/mtbl
- Description:
- mtbl is a C library implementation of the Sorted String Table
(SSTable) data structure, based on the SSTable implementation in
the open source Google LevelDB library <https://github.com/google/leveldb>.
An SSTable is a file containing an immutable mapping of keys to
values. Keys are stored in sorted order, with an index at the end
of the file allowing keys to be located quickly.
mtbl is not a database library. It does not provide an updateable
key-value data store, but rather exposes primitives for creating,
searching and merging SSTable files. Unlike databases which use the
SSTable data structure internally as part of their data store,
management of SSTable files -- creation, merging, deletion, combining
of search results from multiple SSTables -- is left to the discretion
of the mtbl library user.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - Dependency lines:
-
- To install the port:
- cd /usr/ports/devel/mtbl/ && make install clean
- To add the package, run one of these commands:
- pkg install devel/mtbl
- pkg install mtbl
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: mtbl
- Flavors: there is no flavor information for this port.
- distinfo:
- TIMESTAMP = 1733809230
SHA256 (mtbl-1.7.1.tar.gz) = da2693ea8f9d915a09cdb55815ebd92e84211443b0d5525789d92d57a5381d7b
SIZE (mtbl-1.7.1.tar.gz) = 471353
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- gmake>=4.4.1 : devel/gmake
- pkgconf>=1.3.0_1 : devel/pkgconf
- Library dependencies:
-
- liblz4.so : archivers/liblz4
- libsnappy.so : archivers/snappy
- libzstd.so : archivers/zstd
- This port is required by:
- for Libraries
-
- devel/py-pymtbl
- dns/dnstable
- dns/dnstable-convert
- dns/py-pydnstable
Configuration Options:
- No options to configure
- Options name:
- devel_mtbl
- USES:
- gmake libtool pathfix pkgconfig
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|
Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
Commit | Credits | Log message |
1.7.1 13 Dec 2024 02:31:14 |
Don Lewis (truckman) |
devel/mtbl: Upgrade to version 1.7.1
1.7.1:
* Incremented version for new tarball.
1.7.0:
* Add public mtbl_threadpool API, enabling multithreaded functionality
for mtbl_writer and mtbl_sorter objects; see mtbl_threadpool manpage
for more info.
* Add mtbl_writer_options_set_threadpool() to enable multithreaded
data block compression.
* Add mtbl_sorter_options_set_threadpool() to enable multithreaded
sorting.
* Add -t option for setting the preferred number of threads to use in
an mtbl_threadpool object used for writing in mtbl_merge.
Bump PORTREVISION of dependent ports.
Sponsored by: DomainTools LLC |
1.6.1 04 Apr 2024 05:24:01 |
Don Lewis (truckman) |
devel/mtbl: Upgrade to 1.6.1
1.6.1:
* Debian packaging updates
* Code coverage make targets
The upstream 1.6.0 distfile was pulled:
Part of this was erroneously released as v1.6.0 after the original
v1.6.0 release.
Sponsored by: DomainTools LLC |
1.6.0_1 06 Mar 2024 13:03:21 |
Nuno Teixeira (eduardo) |
devel/mtbl: Move man pages to share/man
Approved by: portmgr (blanket) |
1.6.0 28 Feb 2024 07:45:33 |
Don Lewis (truckman) |
devel/mtbl: Upgrade to 1.6.0
1.6.0:
* Return mtbl_iter_init() to public API.
* Further optimizations to mtbl_iter_seek() for mtbl_reader and
mtbl_merger.
* Streamline mtbl varint decoding.
Sponsored by: DomainTools LLC |
1.5.1 18 May 2023 22:26:04 |
Don Lewis (truckman) |
devel/mtbl: upgrade to 1.5.1
1.5.1:
* Skip unnecessary seeks when seeking forward on a merger iterator.
* Fix inefficiency in heap implementation impacting merger iterator
performance.
Sponsored by: DomainTools LLC |
1.5.0 18 Feb 2023 05:34:24 |
Don Lewis (truckman) |
devel/mtbl: Upgrade to version 1.5.0
* Add reader filter function option to mtbl_fileset.
* Use "galloping search" instead of full binary search for
mtbl_iter_seek().
* Make index block verification optional for more efficient reader
initialization.
* Fix underflow errors triggered by short keys and empty mtbl files.
* mtbl_fileset_partition() use is deprecated in favor of
mtbl_fileset_dup() with the fname_filter_func option set.
Sponsored by: DomainTools LLC |
07 Sep 2022 21:58:51 |
Stefan Eßer (se) |
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner) |
1.4.0 07 Sep 2022 21:10:59 |
Stefan Eßer (se) |
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above ) |
1.4.0 26 Oct 2021 23:23:30 |
Don Lewis (truckman) |
devel/mtbl: Upgrade to version 1.4.0
The immutable sorted string table library project, mtbl 1.4.0, is
released. This release adds command-line options to support compression
levels in mtbl_merge, and a hex formatting option and a variety of
filtering options for mtbl_dump. Note that this release leaves the
MTBL file format unchanged. In detail:
* Add -l option to specify compression level for mtbl_merge.
* Add -x option to mtbl_dump to print data for the key and value
each formatted with the length (8 digit hexadecimal), a colon,
and then hex digit pairs separated by a dash.
* Minimum and maximum Zstd compression levels changed from hardcoded
1 and 22, respectively, to values defined by Zstd.
* Add -k and -v options to mtbl_dump to print only entries for
which the key or value, respectively, matches the given prefix.
* Add -K and -V options to mbtl_dump to print only entries for
which the length of the key or value, respectively, is greater
than or equal to the given integer.
Sponsored by: Farsight Security, Inc. |
1.3.0 07 Apr 2021 08:09:01 |
Mathieu Arnold (mat) |
One more small cleanup, forgotten yesterday.
Reported by: lwhsu |
1.3.0 06 Apr 2021 14:31:07 |
Mathieu Arnold (mat) |
Remove # $FreeBSD$ from Makefiles. |
1.3.0 07 Jun 2019 23:22:01 |
truckman |
Update devel/mtbl port to version 1.3.0
The immutable sorted string table library project, mtbl 1.3.0,
was released. This release includes improvements enabling
aggregation. In detail:
* Fix mtbl_reload_now() on filesets with open iterators.
* Add support for absolute pathnames in filesets
* Make merge function an optional parameter for mergers and filesets
to enable unmerged results.
* Add dupsort function to sort unmerged results based on data.
* Add filename filter option to filesets. This provides functionality
similar to mtbl_fileset_partition() but resilient against fileset
reloads.
* Add mtbl_fileset_dup() to open an existing fileset with different
options.
Sort Makefile to pacify portlint.
Sponsored by: Farsight Security, Inc. |
1.2.1 28 May 2018 23:48:03 |
truckman |
Update devel/mtbl to version 1.2.1:
* Prevent fileset reloading when the fileset has iterators open.
* Add and document facility to disable reloading of filesets.
* Defer initial load of fileset until the first operation on a fileset
source.
* Handle 32bit size_t overflows, failing with an assertion upon opening
an mtbl_reader with an oversized data block.
* Fix for systems with 32-bit size_t.
* Add several unit tests for various libmtbl functions.
* Correct a library versioning error.
Sponsored by: Farsight Security, Inc. |
1.1.1 04 Aug 2017 00:32:21 |
truckman |
Update distinfo TIMESTAMP.
Sponsored by: Farsight Security, Inc. |
1.1.1 04 Aug 2017 00:13:38 |
truckman |
Upgrade mtbl to version 1.1.1:
* Fix iterator leak in mtbl_merger code.
Pet portlint.
Sponsored by: Farsight Security, Inc. |
1.1.0 14 Jun 2017 19:00:52 |
truckman |
Upgrade devel/mtbl to version 1.1.0:
* Fix default zlib compression level.
* Add callback data (clos) parameter to mtbl_fileset_partition
function and its callback. Early users of mtbl_fileset_partition
will need to rewrite accordingly.
* Use 64-bit offsets in blocks with more than 4G of data.
* Fix undefined behavior when seeking past end of mtbl file.
Sponsored by: Farsight Security, Inc. |
1.0.0 23 Feb 2017 01:54:12 |
truckman |
Upgrade devel/mtbl to version 1.0.0:
mtbl (1.0.0)
* Backwards-incompatible file format change to enable block sizes >4G.
* Add support for zstd compression. This adds a new library dependency
on libzstd.
* Add mtbl_iter_seek function.
* Add mtbl_fileset_partition function.
* Breaks ABI for version 0.x.x.
mtbl (0.8.1)
* Add portability for clock time.
* Simplify and improve portability related to byte order primitives.
* Fix assertion failure. If there is a broken mtbl file in the fileset
then a NULL reader will be returned. This change checks for that
error condition in fs_reinit_merger() and does not pass the empty
reader onwards to mtbl_merger_add_source().
Compatiblity with the latest libz4 has been added so files/patch-configure
is no longer needed.
Bump PORTREVISION on dependent ports due to ABI / shared library version
change. |
0.8.0 04 Feb 2017 03:32:13 |
truckman |
Neuter liblz4 version check in configure to unbreak build after
liblz4 upstream changed versioning from r131 to v1.7.5.
Reported by: pkg-fallout
Sponsored by: Farsight Security, Inc. |
0.8.0 01 Apr 2016 14:00:57 |
mat |
Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.
With hat: portmgr
Sponsored by: Absolight |
0.8.0 23 Sep 2015 22:30:00 |
truckman |
Upgrade to 0.8.0:
[ Alexey Spiridonov ]
* mtbl_reader(3): New reader getters, which expose the values stored
in the "metadata" (formerly "trailer") at the end of MTBL files. For
example: the number of bytes of source data in the keys & values is
available via mtbl_metadata_bytes_keys() & mtbl_metadata_bytes_values().
* mtbl_writer(3): Allow foreign data to be written to the beginning of a
file before its file descriptor is passed to mtbl_writer_init_fd().
[ Robert Edmonds ]
* Add mtbl_verify(1) utility which verifies the embedded data and index
block checksums in an MTBL file.
(Only the first 15 lines of the commit message are shown above ) |
0.7.0 22 Aug 2015 01:09:10 |
truckman |
Nuke the FreeBSD 8 binutils workaround, which eliminates the need for
bsd.port.pre.mk and bsd.port.post.mk.
Sponsored by: Farsight Security, Inc. |
0.7.0 02 Apr 2015 23:55:10 |
truckman |
Add new port devel/mtbl.
mtbl is a C library implementation of the Sorted String Table
(SSTable) data structure, based on the SSTable implementation in
the open source Google LevelDB library https://github.com/google/leveldb.
An SSTable is a file containing an immutable mapping of keys to
values. Keys are stored in sorted order, with an index at the end
of the file allowing keys to be located quickly.
mtbl is not a database library. It does not provide an updateable
key-value data store, but rather exposes primitives for creating,
searching and merging SSTable files. Unlike databases which use the
SSTable data structure internally as part of their data store,
management of SSTable files -- creation, merging, deletion, combining
of search results from multiple SSTables -- is left to the discretion
of the mtbl library user.
Differential Revision: https://reviews.freebsd.org/D2206
Approved by: mat (mentor)
Sponsored by: Farsight Security, Inc. |