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

Re: Installing multiple binary RPMs in one shot ??



On Wed, Jan 29, 2003 at 11:16:41PM +0530, Bharavi Oak wrote:
> Hi All,
> 
> Please ignore if what follows seems to be rather silly question.
> 
> I have three binary rpms say A.rpm, B.rpm & C.rpm with dependecies among
> them. A.rpm requires B.rpm & C.rpm. B.rpm requires  C.rpm. These three are
> in fact sub-packages created out of a single spec file.
> Is it possible to install all these with a single "rpm -i" command?

Yes; rpm does a sort of all the packages on the command line and
installs them (if possible) in an order such that later packages have
their dependencies satisfied by earlier packages.

So

	rpm -i A.rpm B.rpm C.rpm

will work just as well as

	rpm -i C.rpm B.rpm A.rpm

(in both cases they will be installed in the order C, B, then A).

> Is it possible (if not silly) to create a main.rpm that will contain A.rpm,
> B.rpm & C.rpm and in its pre or post install script, do conditional "rpm -i"
> for A, B & C. I attempted to put rpm inside rpm; but it gives error "Cannot
> get exclusive lock on /var/lib/rpm/Packages".

The error message does not surprise me, although I have never tried
this exact process. Allowing only one rpm process to update the database
at a time is a long-time restriction. It avoids any number of race
conditions and database corruption scenarios.

> Is there any way (other than creating a shell script) to install all these
> inter-dependent rpms in one go ... in one command .. preferably "rpm"
> command?

Since your first question is the way to go, I guess this answers your
question.

Malcolm

-- 
A conclusion is the place where you got tired of thinking.





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