[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: rpm-4.0.4 developer's notes

On Fri, 2002-02-01 at 11:08, Jeff Johnson wrote:
> OK here's a more explicit list of changes in rpm-4.0.4.
> -- libraries in rpm-4.0.4 (and 4.0.3) have an explicit version in the name.
> rpm still doesn't have a maintainable API/ABI, so the defacto per-versiopn
> libraries continue to be used.
> Aside: Work on a maintainable API has been started in rpm-4.1, I already
> have a 28% reduction in memory footprint of an "everything" install by
> dumping headers in favor of lighter weight data structures, but alas,
> the API/ABI is incompatible and incomplete ATM.
> -- code that uses rpm-4.0.4 (and 4.0.3) should be compiled with -D_REENTRANT.
> -- code that uses rpm-4.0.4 libraries are gonna need to link with
> "-lrt -lpthread"
> AFAIK, these are the only visible changes. Well, I've deleted rpmReadRC()
> from the API, but gnorpm should never have used that routine in the 1st place,
> sigh.

RC dlopen()s the various libraries (actually, it dlopen()s some small
shared objects that link against the RPM libraries to avoid the circular
dependencies), and then extracts various symbols it needs to use
(depending on the version of RPM it finds).

With 4.0.4 (rpm-4.0.4-0.29.7x), the headerGetEntry and headerFree
functions are now defined as static inline, which means I need to find
alternatives for these, conditionally -- as the same RC binary needs to
continue to work with older versions of RPM, as well.

Is this the way things will be for the final 4.0.4 release?  If so, what
are the appropriate functions to use?


"I need a prison in order to dream of being free." -- John Popper

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []