Re: Getting 3rd party RPM's via an OS installer?

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

 



On Tue, 21 Aug 2007 12:05:06 -0600, Bob Proulx wrote:

> Dan Stromberg - Datallegro wrote:
>> Bob Proulx wrote:
>> > You could create an rpm that depended not only on the 3rd party rpms
>> > but also on the dependencies that you have deduced are required.  Then
>> > install your rpm and it should bring in all of the dependencies.
>> 
>> Say the special RPM is called "knot".
>> 
>> Wouldn't you need to make your 3rd party RPM's require knot, and make knot
>> require anything the 3rd party RPM's require?
> 
> If you can modify your 3rd party rpms directly then wouldn't it be
> simpler to correct the Requires: in them directly too?  If you can
> modify the 3rd party rpms then there is no need for an intermediate
> meta package to hold the extra dependencies.  But if you can't then
> that is why I suggested this other way instead.  I admit it puts the
> cart before the horse but it probably won't matter in many cases and
> if you have one of those cases then it won't matter for you either.

We have a program that can modify a binary RPM. It's not redistributable,
and isn't supported.  We got it from another company.

However, even with that program, I'm trying to think ahead and imaginging
an interative process of adding dependencies again and again, as we change
OS's or upgrade 3rd party RPM's.

It seems like it might be more maintainable to have a single rpm that
provides no actual files, that serves as a sort of "knot - bow"
distinction.  So any flakey RPM's depend on the knot, and the knot RPM
gets all the missing dependencies.  I'm thinking this might pay off a bit
like the way the PNM graphics format reduces format conversions from
O(c*N**2) to O(c*2*N), though granted the constant is probably small.

>> I'm no RPM expert, but it seems like if knot required the 3rd party RPM's,
>> it'd be installed after the 3rd party RPM's, and the 3rd party RPM's
>> remain at the mercy of the topological sort. Or am I missing something?
> 
> You are right but it only matters if the 3rd party rpm %post script
> uses one of the dependencies in the %post script itself.  If the 3rd
> party rpm does not do anything interesting in the %post then you would
> be fine.  After the rpm install finishes all of the dependencies would
> be in place and subsequent command use would have all of the
> dependencies installed.

Agreed, but i have a question.  Could %pre scripts make a difference?  Or
are they all run before any RPM's are installed at all?

> In summary you are correct about the install ordering but if the
> dependences are not needed until after the installation then as a
> workaround kludge for not being able to modify the 3rd party rpms then I
> think it will work anyway.  If you can modify the 3rd party rpms then
> simply fixing the Requires: to be correct is best.

I see.

> You can inspect the rpm %post scripts with this following.  If there are
> no dependencies there then this hack I suggested would work.  Of course
> if you do find dependencies there then there is almost no alternative to
> correcting the original rpm files.
> 
>   rpm -qp --scripts file.rpm

Ah, OK.

Thanks :)


_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux