On Mon, Apr 28, 2008 at 09:19:37AM -0500, Ken Williams wrote: > On Mon, Apr 28, 2008 at 5:03 AM, Johan Vromans <[EMAIL PROTECTED]> wrote: > > > > What Austin tries to do it to build an app that can be installed as an > > app, not as a Perl module. And then it is suddenly not as easy > > anymore. There's no support from EU::MM and M::B for installing apps. > > > > Applications are conventionally (and conveniently) placed in /usr/bin > > or /usr/local/bin. On *nix systems, that is. Other systems often have > > less strong conventions, or more difficult ones. > > If an app is just an executable in /usr/bin (or equivalent) and some > modules, then EU::MM and M::B both support that just fine and always > have. But it's frequently the case that /usr/bin isn't writable by the user, or it is undesirable to pollute such shared locations. Thus install_base. When making an autoconf/make based tool, one does ./configure --prefix=<wherever>, which is then used for builds. If written properly, the resulting executable will be cognizant of its resources. There's no need to set LD_LIBRARY_PATH, etc. Also it's usually possible to supply data dirs and the like as arguments to configure. .. but when an app is installed by M::B, it has no idea where it's been installed or where its components are. The FindBin method will work for me because my needs are simple, but I suspect it doesn't scale well to servers where it isn't convenient or reasonable to install everything to the same location.
> What's generally missing is a place like /etc or /usr/lib or > /opt to store other non-code non-executable stuff, simply because it's > difficult to automatically determine where to put it. Certainly not > an insurmountable obstacle, but so far it's been enough of a barrier. > --install_path does this for normal path elements, perhaps it could be extended to include custom elements (assuming it doesn't already?). But my issue is knowing where things have been put post install. Perhaps there could be a hook or flag to M::B to notify the installed scripts on start up just below the #! path? Is that what config_data is supposed to do? I see you wrote about that recently on the M::B list, but it's undocumented in the latest version on CPAN (0.2808). Austin