Re: how to change dependencies?

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

 



On Fri, 30 Jan 2004, Tim Mooney wrote:

> In regard to: Re: how to change dependencies?, James Olin Oden said (at...:
> 
> >On Fri, 30 Jan 2004, Marten Lehmann wrote:
> >
> >> Hello,
> >>
> >> I'm trying to build a .rpm for the perl-module SOAP::Lite. This module
> >> offers SOAP-interfaces for different protocols, like HTTP, SMTP, POP3
> >> etc. Even very rarely used protocols like Jabber and MQSeries are
> >> offered. My problem is, that I don't need to use Jabber and I don't have
> >> MQSeries. During the configuration, I can disable support for both
> >> features. But when the rpm is build and I'm trying to install it, I get
> >>
> >> error: Failed dependencies:
> >>           perl(MIME::Lite) is needed by perl-SOAP-Lite-0.55-1
> >>           perl(MQClient::MQSeries) is needed by perl-SOAP-Lite-0.55-1
> >>           perl(MQSeries) is needed by perl-SOAP-Lite-0.55-1
> >>           perl(MQSeries::Message) is needed by perl-SOAP-Lite-0.55-1
> >>           perl(MQSeries::Queue) is needed by perl-SOAP-Lite-0.55-1
> >>           perl(MQSeries::QueueManager) is needed by perl-SOAP-Lite-0.55-1
> >>           perl(Net::Jabber) >= 1.0021 is needed by perl-SOAP-Lite-0.55-1
> >>
> >> I didn't set any dependencis, rpmbuild seems to find it itself within
> >> the %install-macro. How can I change this or how can I disable automatic
> >> dependency checking?
> >>
> >It sure does and you don't want to change this.  Your scripts do use these
> >perl modules, and so they do depend on them.
> 
> I rarely find myself disagreeing with you, but this is one of the times.
> I have encountered times when the auto dependency stuff picks up instances
> of
> 
> 	use Foo::Bar;
> 
> inside a perldoc section.
>
Clearly a bug in the perl auto-dependency stuff.  
 
> There are also lots of cases where "dependency" is too strong a word.
> For example, I've installed and used the perl-libwww module for years,
> and it wasn't until trying to build it on Red Hat ES 3 that I discovered
> that there are parts of it that need HTML::Parser and Font::ATM to work.
> There are also perl modules that can detect, at runtime, whether a module
> is present, and work around its abscence, sometimes with reduced
> functionality.
Yeah, I understand.  I guess my view point was expressed to strongly.
I do think that in general letting the autodepency stuff do its thing
generally makes for better packages.  Its been Jeff's view point that
most of this dependency stuff should really be automated as much as 
possible, as its just too easy for us mere mortals to get all this stuff 
wrong.  That being said, there needs to be a cleaner way to give hints to
the auto-dependency stuff so you can effectively override some of
its decisions.  Your point about the runtime binding of perl modules
(a trick I use from time to time) is perfect example of why such a 
feature would be usefull.  

OTH, this is really easily worked around by saying that your package
provides the thing that the auto-dependency stuff saw as a requirement.
I realize it is a hack, but I prefer this hack than completely disabling
the autodendency creation.  I can't tell you the number of times I have
been feverishly putting together some new code, forgot to put a 
requirement in to the spec file, only to have rpm pick it up for me
automatically.  I am actually a pretty anal person, so if this helps
me I gotta believe it helps others, so again I generally think 
completely turning off the auto-dependency generation in rpm is 
a very bad thing.

> 
> >  Its easy to grab the cpan
> >modules you are depending on, and then run them against cpanflute2 (found
> >in the RPM::Specfile cpan module),
> 
> That's fine for simple modules with modest requirements, but it gets to
> be a huge PITA for some of the more esoteric modules.  
Yeah, like the perl implementation of SSH (Oi Vey!).  Course when I was
go through that excercise in insanity, my thinking was I did not know
exactly what functionality would be needed by the developers requesting
it so I figured hunting down the 30+ cpan modules was "worthwhile".

>I've spent entire
> evenings tracking down ever growing chains of perl module dependencies,
> just to get one module installed that only needs its dependencies for 10%
> of optional functionality.
>
I have been there too.
 
> I think auto dependency detection is a good thing, it's just that the
> way perl handles modules and the "optional but recommended" nature of
> some module dependencies doesn't mesh well with RPM's notion of
> "required".
>
OK, sounds like we are in agreement.  I think what really needs to happen
to make it better is to do what the original poster suggested and provide
a way to tell the auto-dependency stuff, that you may think I need this
but I don't.  

Somebody right a bugzilla report (-;

Cheers...james 
> Tim
> 


_______________________________________________
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