GNC-PRICES

Rob Browning rlb@cs.utexas.edu
23 Feb 2001 10:26:45 -0600


Dave Peticolas <dave@krondo.com> writes:

> I don't like that solution. It means you have to have a package for
> every combination of things you enabled or disabled. The perl net i/o
> packages are not needed to build or install gnucash and I don't see
> why they should be a build time dependency.

Well, I didn't actually re-mention one of the things I'd suggested in
a previous message which would also solve the problem, and might make
you happier.

We could structure the optional bits, like gnc-prices, so that they
check for what they need at runtime and print a useful diagnostic if
those bits are not found.  i.e.:

  gnc-prices: You have attempted to run gnc-prices without
  gnc-prices: installing all of the necessary perl dependencies.
  gnc-prices: You must install...
  gnc-prices: which can be found at...

etc.

> This is different for debian because it's a lot easier on debian to
> say 'give me this package' and automatically get everything you
> need.

Hmm, unrelated to your point, but I thought RedHat could do that too.
In any case, as you mention, even if it worked for RedHat and Debian,
it wouldn't help with every system.  I knew that, but without pursuing
the more dynamic approach above, I, personally, would rather not
install a given sub-part, than install it broken.

> But most people don't run debian and this isn't going to change. On
> redhat, I'd rather let people get gnucash installed and have gnucash
> tell them 'you need X and Y in order to get online quotes' then
> force them to go hunting for every last thing they might need.

That's fine.  I must have misunderstood you.  I didn't realize you
were already talking about dynamic diagnostics.  I misunderstood and
thought you were talking about installing scripts that might not
actually work, and might just fail with messages like

  Can't locate Foo/Bar.pm in @INC (@INC contains: /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/lib/perl5/5.6/i386-linux /usr/lib/perl5/5.6 /usr/local/lib/site_perl/i386-linux /usr/local/lib/site_perl /usr/lib/perl5/5.005/i386-linux /usr/lib/perl5/5.005 .) at - line 1.
  BEGIN failed--compilation aborted at - line 1.

That's what I was really concerned about.

The dynamic diagnostics should be pretty easy, at least for perl
modules if we use "eval" with a little snippet to check for modules at
the top of the script (I think).

-- 
Rob Browning <rlb@cs.utexas.edu> PGP=E80E0D04F521A094 532B97F5D64E3930