O wise monks:
I recently wrote and uploaded to CPAN Net::SSH2, based on libSSH2. As part of the install process I'd like to be able to install libSSH2 (and perhaps OpenSSL, which libSSH2 depends on, although it's more likely to already be installed), either by downloading the latest version or using a fallback tarball included with the distribution if that fails. Right now I just check for the library and fail if it's missing; I didn't want to put complex library install code in Makefile.PL.
I was wondering if there was already a module that would do that; if not, I might write one. I've searched CPAN, of course; Module::Install looked somewhat likely (Fetch, AutoInstall) but was pretty short on details.
Some features I'm considering for this module:
- If not running as a privileged user, the library could be statically linked or installed alongside the module.
- Ability to detect package managers (Portage, APT, RPM, etc.) and try to install dependecies through them (if available).
- It should be able to download the latest tarball from a web or FTP location.
- It should know how to run configure and then make to set up and install a downloaded or fallback tarball, detecting failure.
- Possible to specify a minimum/maximum/regex for the version to install, e.g. to exclude alpha/beta versions, or new major versions with possible incompatibilities.
- It would probably have to be linked in with the Makefile generator; if so I'd make it work with Module::Build.
So: is there something like that already out there, and, if not, would you consider writing it to be a worthy and useful undertaking?
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.