Perhaps what tjfn.c __IS__ would help. The toy test proggies that litter rpm cvs are haphazardly maintained and entirely undocumented.
One of the fundamental design featlets/bugtures is the fact that the rpmdb does its own join operation, rather than committing to a database method. The featlet is that very few methods, basically open/close/get/put/del, are needed to change what is used by an rpmdb. The bugture is that too much of the rpmdb implementation stays mired withing rpm itself, making more sophisticated database queries essentially impossible. tjfn.c (Test Join File Name) is an ancient proof-of-concept to use the existing Berkeley DB join instead. The implementation has never been completed because everyone finds it more useful to do same old, same old, forever, rather than actually improving the implementation. hth Code been there sine like rpm-3.0.5 iirc, long time anyways. 73 de Jeff On Dec 25, 2008, at 5:24 PM, Per Øyvind Karlsen wrote:
RPM Package Manager, CVS Repository http://rpm5.org/cvs/____________________________________________________________________________Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 25-Dec-2008 23:24:38 Branch: HEAD Handle: 2008122522243700 Modified files: rpm CHANGES rpm/rpmdb Makefile.am tjfn.c Log: rpmdb/tjfn: fix build breakage. Summary: Revision Changes Path 1.2715 +1 -0 rpm/CHANGES 1.106 +1 -1 rpm/rpmdb/Makefile.am 1.9 +2 -0 rpm/rpmdb/tjfn.c____________________________________________________________________________patch -p0 <<'@@ .' Index: rpm/CHANGES= = = = = = ======================================================================$ cvs diff -u -r1.2714 -r1.2715 CHANGES --- rpm/CHANGES 25 Dec 2008 22:11:38 -0000 1.2714 +++ rpm/CHANGES 25 Dec 2008 22:24:37 -0000 1.2715 @@ -1,5 +1,6 @@ 5.2a2 -> 5.2a3: + - proyvind: rpmdb/tjfn: fix build breakage. - proyvind: lib/tgi: fix build breakage.- proyvind: rpmio/rpmz: merge with recent xz code to work with recent liblzma APIchanges. @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/Makefile.am= = = = = = ======================================================================$ cvs diff -u -r1.105 -r1.106 Makefile.am --- rpm/rpmdb/Makefile.am 15 Sep 2008 08:39:11 -0000 1.105 +++ rpm/rpmdb/Makefile.am 25 Dec 2008 22:24:37 -0000 1.106 @@ -27,7 +27,7 @@ tjfn_SOURCES = tjfn.c tjfn_LDFLAGS = @LDFLAGS_STATIC@ -tjfn_LDADD = librpmdb.la +tjfn_LDADD = $(mylibs) pkgincdir = $(pkgincludedir)$(WITH_PATH_VERSIONED_SUFFIX)pkginc_HEADERS = pkgio.h rpmdb.h rpmevr.h rpmns.h rpmtag.h rpmtypes.h@@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/tjfn.c= = = = = = ======================================================================$ cvs diff -u -r1.8 -r1.9 tjfn.c --- rpm/rpmdb/tjfn.c 31 Jul 2008 02:40:08 -0000 1.8 +++ rpm/rpmdb/tjfn.c 25 Dec 2008 22:24:37 -0000 1.9 @@ -9,6 +9,8 @@ #include <db.h> +#include <rpmtag.h> + #define RPMDB_HOME "/tmp/rpm" #define RPMDB_Packages "Packages" #define RPMDB_Dirnames "Dirnames" @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-...@rpm5.org
smime.p7s
Description: S/MIME cryptographic signature