On Jun 19, 2012, at 12:04 PM, Rajasekhar wrote:

> Thanks very much for you suggestion . Although we are using headerLink
> in our code  ,the problem seems to be the way we are calling it .In
> our code we are  looking  for hdrVec, a globally exported virtual
> function table and finding the functions we need by absolute offset.
> This is working till rpm 4.4 ,because this way is not exposed for
> later versions and  we can call the method directly, we have made
> corresponding changes in our code . After handling this scenario
> things seems to be working fine and our basic test case results are
> positive.
> 

Good.

> Thanks for the help .
> 

np.

If you are attempting dlopen(3) across all possible versions of rpm libraries,
you are _SURE_ to run into surprises: there's just too many versions of
rpmlib hacked up without clue by Linux vendors for the otherwise sane
"portable" idea of using headerGet() from the system libraries for all possible
versions.

One way of avoiding *ahem* issues is to steal some copy of headerGet()
and headerLoad() to handle metadata blob's.

Its also not impossibly hard to steal a copy of rpmdb.c/db3.c and strip
that down to just what you need in RedCarpet (since most of the
routines and API/ABI in RPM libraries are mostly useless for an add-on
installer like RedCarpet).

Historically there have been many issues with RedCarpet and -lrpmlib
that ultimately rate a reflection of two applications trying to solve the
same installation problem differently.

73 de Jeff
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to