[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: rpmlib installation qualms
- From: "Jeff Johnson" <n3npq jbj gmail com>
- To: "RPM Package Manager" <rpm-list redhat com>
- Subject: Re: rpmlib installation qualms
- Date: Fri, 24 Nov 2006 08:19:19 -0500
On 11/22/06, R. Tyler Ballance <tyler bleepsoft com> wrote:
Just out of curiosity, is the
int rpmInstall(rpmts ts, struct rpmInstallArguments_s *ia, const char
**fileArgv);
function just there to tease me? :)
I'm calling it with a valid transaction, NULL rpmInstallArguments, and then
a valid string (current working directory, or is an actual full path
necessary?) and it SIGSEGVs every time.
There are 2 problems there. You need to pass non-NULL rpmInstallArguments,
and the 3rd argument is an array of string ptrs, not a string.
struct rpmInstallArguments_s *ia = alloca(sizeof(*ia));
memset(ia, 0, sizeof(*ia));
ia->installInterfaceFlags = INSTALL_INSTALL|INSTALL_HASH;
is equivalent to -ih from the CLI, and is likely the minimal necessary
for calling rpmInstall.
Are the install arguments necessary? where else might the SIGSEGV be
stemming from? what is the flying weight of an unladen sparrow?
Necessary, yes.
Unladen sparrows dissipate waste energy through segmentaion fault droppings.
I've seen references to old mailing lists questions that seem to be from
before rpmInstall() was created, and have relatively complicated sample code
for installation in the thread, but rpmInstall (and rpmInstallSource()) seem
to be what is needed, if they'd just work :)
Also, how are conflicts handled, or dependencies, etc? I want to make sure
my code accommodating of some of the error cases rpmlib might present.
Almost all bits to control transaction operations passed to rpmInstall() are in
ia->interfaceFlags
ia->transFlags
73 de Jeff
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]