On Fri, 30 Apr 2004, David D. Hagood wrote: > I am trying to write TCL bindings for libRPM 4.2.x, but I cannot find any good > documentation on the library changes - specifically transaction sets and the like. > > I've pulled the rpm-devel package and installed it, and while it supplies some > documentation, it seems to be just Doxygen created info. While Doxygen is better > than nothing, it is more of the "what" than the "how" or more importantly the > "why" sort of document - it tells you what the API calls are, but not how to use > them or why to use them. > Yeah that is the state of things and I can completely understand your desire to understand the why. I have spent the last year/year and a half running this down for various things I have been doing. Here is the ray of hope though, Paul Nasrat and others is actively working on making Maximum RPM up to date, and there is now an rpm-devel wiki (rpm-devel.colug.net) where developers of rpm can begin placing the why. At anyrate sounds like you have a big project ahead of you that will take you deep into the internals of rpm, so I would really encourage you to participate in the Max RPM effort, and even adding things to the wiki. Cheers...james > I've looked at rpm.org to see if Maximum RPM has been updated, but as far as I > can tell it has not. > Again, go to rpm-devel.colug.net and there is an in progress version of Max RPM from cvs there. > I'd appreciate any pointers to documentation that would help, especially help > with the following specific question: > > Given a process running as non-root, how can I have that process determine a > desired transaction set and communicate it to a root process (which will do the > actual application)? > > That question is as I understand it outside the scope of librpm. The process that determined the desired transaction set would do so with minimal help from librpm (save handy things like db queries, read packages for header tags, and version comparisons; yes never right your own ver cmp code) that can all be done as a non-root user. How you communicate which package need to be in the trasaction to the process running as root is completely up to you (unix supplies many IPC mechanism, and even less elegant approaches such as creating a command file that the process reads will "work", but all are out of the scope of librpm). In the root process, you then build up your transaction from the packages that were communicated to it, again by whatever means you choose. Cheers...james > _______________________________________________ > Rpm-list mailing list > Rpm-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/rpm-list > _______________________________________________ Rpm-list mailing list Rpm-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/rpm-list