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

Re: Helping new installs find the right dependencies?

Recent discussions - both on the mailing lists and through private mail - show that people still find it hard (or even very hard) to get and install the right dependencies.

While it is a much lower burden for us to share code with other projects where possible, and hence for developers there's a lot to be gained by having dependencies (versus incorporating all that code in our codebase and having to maintain it), I do see how they increase complexity for our users/admins.

My thinking is that we can help admins by providing a tarball with all the required and optional dependencies which are known to work with LedgerSMB (and each other!). That would remove the need for admins installing LSMB to go out to CPAN.

Quick question:

would this be Perl-only dependencies?  Or would we try to do compiled versions for different distros?  

My idea would be to depend on the underlying distros for compiled artifacts. My assumption is that their number is much lower than the number of pure Perl dependencies. And that the (versions of) the Perl dependecies are missing in many distros. If we want to ship binaries as well, my thinking is that it's probably easier to ship images for VMs.

I don't know that we can totally avoid all dependencies in this way, but we could certainly cut them down a lot.

Well, I'm not trying to eliminate all maintenance, however, I do want to help people to get LedgerSMB up and running much easier/ faster. A "Best first impression". There's one thing to remember though: the Subversion project was seeing build-complaints a lot as well, until it became part of the distribution repositories. So, next to helping people out in the short term with known-working versions of our dependencies, the long-term strategy would be to try and get in as many distributions as we can.
How do others feel about providing such a deps-tarball? Would it help solve the dependencies issue? Does anybody have experience doing so for a Perl project (I have experience for a C project, but that's a different matter entirely)?

I think we could do that for a lot of pure perl dependencies, maybe have a lsmb-[version]-[static].tar.gz which would have most of these in the app directory.  It would require a new build script, but shouldn't be too bad. 

A new buildscript? What are you thinking of?



http://efficito.com -- Hosted accounting and ERP.
Robust and Flexible. No vendor lock-in.