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 API
        changes.
 @@ .
 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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to