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 8 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 8 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. 9 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