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

Reply via email to