fakedbfs

FakeDBFS logo

New logo. Yeah.

fakedbfs-2.0.0 (Doctor Wu) released!

CVSweb access (anoncvs to :pserver:anonymous@styx.theamigan.net:/usr/repos (module fakedbfs) for regular access)

fakedbfs is a suite of tools and a main library for cataloguing files. Anything that is a file can be catalogued along with metadata. The metadata is then searchable by various querying facilities. It uses SQLite to store and search data. It is called "fakedbfs" (fake database filesystem) because it's not a real DBFS such as the upcoming WinFS, or other OS-tied FSes that live in the kernel. Instead, it is completely in userland. It was inspired by BFS (which doesn't do content indexing, only metadata). It is written completely in portable, ANSI (except for 2.0's use of long long and variable argument lists in a couple CPP macros, which requires us to build as C99; other than that, it's ANSI-clean) C (barring the various bindings and other such utilities, or stuff using FTS and the stat(2) syscall [I plan on porting FTS as a built-in feature for platforms that don't support it]). If SQLite and a C compiler run on the platform, fakedbfs should be able to as well. In theory. Ish.

It was primarily developed on FreeBSD.

The main library can be used by any application; full API docs are available. If you have doxygen installed, run make in the doc subdirectory. Applications are virtually unlimited: desktop music/photo indexing, server content indexing, etc.

What's in store for 2.1? FUSE support, among other things. Or maybe Tcl VFS. This will make us a true DBFS, I hope.

The core fakedbfs distribution consists of the following:

Indexing consists of a couple parts. There's the indexer itself, which does cataloguing of each file, and then there are the metadata plugins. These plugins, designed specifically for certain specfiles, know how to extract metadata from the files themselves (for example ID3/EXIF tags, filename formats). findex can also ask the user for manual input for each field.

Other planned utilities and bindings:

fakedbfs 2 (Doctor Wu) has finally been released! This is the culmination of a few months' work, and included (among other things) huge API changes, a revised database layout, and other stuff. Check out the changelog!

fakedbfs is released under the three-clause BSD license, coming with full source code. sqlite-3.2.7 is required to compile the main parts; id3lib is required to build the music plugin. Tcl (tested with 8.4) is required to run the configuration script.

Download fakedbfs-2.0.0.tar.bz2 (source) (Change log)

Download fakedbfs-1.1.0.tar.bz2 (source) (Change log)

Download fakedbfs-1.0.0.tar.bz2 (source) (Change log)

An online specfile repository, where users can post specfiles, comment on them, etc, might be coming soon; stay tuned.

FakeDBFS has been built and tested on the following platforms:

[FreeBSD Powered] [Made with vim] [Valid XHTML 1.1!] [Valid CSS]
Back home