installing an rpm from another rpm's %post script

Derek Atkins warlord at MIT.EDU
Fri Jan 23 15:44:20 UTC 2009


Quoting Florian Festi <ffesti at>:

> Derek Atkins wrote:
>> When you run "rpm -U foo.rpm" it installs a bunch of RPM files.
>> So foo.rpm installs /usr/lib/foo/packages/foo-{1,2,3}.rpm
>> Then in the foo.rpm %post script I want to:
>>   rpm -U foo-1.rpm foo-2.rpm foo-3.rpm
>> Is there a good way to do this?
> There are some good ways to install a collection of rpms. Packaging them
> into another rpm is none of them.

That is very unfortunate.

> You can create a meta package - an rpm that requires the others but does not
> contain them. This has the disadvantage that the users still can't easily
> see which is the meta package and why it is there. Choosing a good name can
> help.
> The better solution would be to use the layer above rpm to solve this if you
> can specialize to a given distribution. You could create a yum repository
> with the rpms and put them into a yum group (assuming you package for a yum
> based distribution).

I'm afraid I forgot to mention the primary goal:  I want users to only
have to download a single "file" from me and that file should contain
all the "stuff" they need.  However that "stuff" is comprised of a bunch
of RPMs.

Using yum doesn't help, because I don't want to depend on the end user
being able to reach my server.  Moreover, there's no way I know of to
create a meta-rpm that both creates the yum repository information and
then goes off and pulls in additional RPMs from that newly installed

You're right that a meta-RPM is exactly closest to what I want, but
I'm trying to design a meta-RPM that installs itself before trying
to pull in the dependent RPMS.   Even better, I'd like the meta-RPM
to install the dependent RPM files into the local filesystem directly!

> In the end you can still repackage the content of the rpms into one. If you
> don't have the source rpms you can extract the content with rpm2cpio 
> and cpio.

Unfortunately this loses the scripts that are in the individual RPMS.
That would defeat the purpose of this game totally.

I could just not use an RPM and instead use something like shar.
But again that sort of defeats the purpose. :(

Any other ideas?  no hidden "--recursive" options to rpm?

> Florian


       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL:    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available

More information about the Rpm-list mailing list