A wrapper library around dpkg to make it use tokyocabinet (or sqlite) and speed it up when reading database. See http://yourcmc.ru/wiki/Tdpkg
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Dan A. Muresan 43a4dbe44c buildsys: Put libs after objects when linking 9 years ago
.gitignore Release 1.0 version 12 years ago
AUTHORS First commit 12 years ago
COPYING First commit 12 years ago
Makefile buildsys: Put libs after objects when linking 9 years ago
README Release 1.0 version 12 years ago
cache-sqlite.c Remove abort(). Fix sqlite finalization. 12 years ago
cache-tokyo.c Remove abort(). Fix sqlite finalization. 12 years ago
cache.h Copyright notice to all files 12 years ago
tdpkg.c Several fixes to tdpkg. 10 years ago
util.c Copyright notice to all files 12 years ago
util.h Copyright notice to all files 12 years ago

README

The `tdpkg' shared library is used to speed up dpkg .list files loading using
either tokyocabinet or sqlite3.
Homepage: http://lethalman.hostei.com/tdpkg.html

REQUIREMENTS

build-essential
libsqlite3-dev for sqlite backend
libtokyocabinet-dev for tokyocabinet backend

BUILD

Type `make' to build tdpkg with tokyocabinet support.
Type `make CACHE=sqlite' instead to build tdpkg with sqlite3 support.
You'd better not install this library, it could make your system highly
unstable.

USAGE

Please make a backup copy of your /var/lib/dpkg/info directory before using
tdpkg.

Manual usage:
LD_PRELOAD=./libtdpkg.so dpkg ...

For system-wide usage use an alias (make sure you the absolute path to
libtdpkg.so):
alias dpkg="LD_PRELOAD=/path/to/libtdpkg.so dpkg"

The cache for both sqlite3 and tokyocabinet is located at
/var/lib/dpkg/info/tdpkg.cache.

BENCHMARKING

The operations involved with dpkg database reading are mostly done on the file system.
For this reason cleaning up the kernel cache is a must before calling either tdpkg or dpkg:

echo 1 > /proc/sys/vm/drop_caches