Page MenuHomeFreeBSD

new port: devel/mtbl
ClosedPublic

Authored by truckman on Apr 2 2015, 6:41 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 16, 6:51 AM
Unknown Object (File)
Tue, Apr 16, 2:35 AM
Unknown Object (File)
Tue, Apr 16, 2:34 AM
Unknown Object (File)
Tue, Apr 16, 2:33 AM
Unknown Object (File)
Tue, Apr 16, 12:02 AM
Unknown Object (File)
Thu, Apr 4, 1:21 PM
Unknown Object (File)
Thu, Apr 4, 1:21 PM
Unknown Object (File)
Thu, Apr 4, 1:21 PM
Subscribers
None

Details

Reviewers
mat
Summary

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.

Test Plan

Fetch distfile from both MASTER_SITES

Build on FreeBSD 8.4 9.3 10.1 and 11.0-CURRENT, both amd64 and i386.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

truckman retitled this revision from to new port: devel/mtbl.
truckman updated this object.
truckman edited the test plan for this revision. (Show Details)
truckman added a reviewer: mat.
devel/mtbl/Makefile
7–8

One line.

13

If there is a file containing the license in the sources, add it to LICENSE_FILE= ${WRKSRC}/... because not providing the right license file does no good at all.

devel/mtbl/Makefile
13

It's ${WRKSRC}/LICENSE and the framework seems to automagically pick it up.

tar tfz /var/poudriere/data/packages/101STABLEamd64-default/All/mtbl-0.7.0.txz

+COMPACT_MANIFEST
+MANIFEST
/usr/local/share/licenses/mtbl-0.7.0/catalog.mk
/usr/local/share/licenses/mtbl-0.7.0/LICENSE
/usr/local/share/licenses/mtbl-0.7.0/APACHE20
/usr/local/bin/mtbl_dump
[snip]

devel/mtbl/Makefile
13

No, the frameworks picks the license template, that is in Templates/Licenses, and using this is wrong, because it lacks the few changes the license holder made, like adding his name, to the license.

Collapse MASTER_SITES to a single line.

Add LICENSE_FILE.

Unbreak build on FreeBSD 8 amd64.

mat edited edge metadata.
mat added inline comments.
devel/mtbl/Makefile
26–28

Do keep a note somewhere that 8.4 won't be supported after June 30th, so this will be able to be removed after that.

This revision is now accepted and ready to land.Apr 2 2015, 11:32 PM
devel/mtbl/Makefile
13

I probably need to set it to the COPYRIGHT file instead. If so, I've got a bunch of ports to fix.

portlint is silent about this. It suggests adding LICENSE, but doesn't say anything about LICENSE_FILE. The Porters Handbook is does say anything about licensing that I could find.

26–28

Yeah, I've got to do the same for net/nmsg.

devel/mtbl/Makefile
13

the PHB's license thingie has been rotting in D56 it needs to be written, but I discovered I have no will to do it, or more important things to do, like laundry...

As for portlint, you can open a PR in bugzilla about it, the maintainer/author is quite responsive on any issues.

devel/mtbl/Makefile
26–28

I'm currently garbage collecting everything that's from before 8.4 or 9.0-9.2 in D2209, if you have 15/20 minutes to have a look at it so that another set of eyes goes through it before I break everything... :-) I have to tell you, it *is* a boring patch :-p
I'll probably garbage collect anything before 9.3 this summer, so if you forget about it, it'll be cleaned, eventually :-)