I have a Dancer2 application that I'd like to distribute. I have a couple of questions about the process that may be more related to ExtUtils::MakeMaker than to Dancer, but I figured I'd ask here first since deployment of web applications seems a little different from installing regular modules.

1. Typically when you install a Perl package with

    perl Makefile.PL && make && make install

modules goes somewhere like /usr/local/lib/perl5/, binaries go somewhere like /usr/local/bin/, documentation goes somewhere else, and so on. I don't want my application fragmented like that (and I don't think it would even work if it were); when users run `make install` I want everything from my MANIFEST to simply be copied into the install directory as-is. For example, I want to end up with

    /usr/local/myapp/bin/
    /usr/local/myapp/lib/
    /usr/local/myapp/lib/myapp.pm
    /usr/local/myapp/public/
    ...

I assume this is how most Dancer/Dancer2 apps would have to be installed to work properly...how can I do this? I tried

    perl Makefile.PL INSTALL_BASE=/usr/local/myapp/

but that puts myapp.pm in /usr/local/myapp/lib/perl5/ and doesn't copy any of the other files or directories I want, like public/.

2. My app includes an index page containing links to other pages on the same server, e.g.

    <a href="http://host.example.com/foo";>foo</a>

This page is served with send_file, no templates involved. So far I have simply hard-coded the server name into the file, but that won't work when somebody tries to install it on another server.

I thought I could use the PL_FILES attribute to WriteMakefile() to run a script that fills in the correct host name during the build process. Would this be a reasonable approach?
_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users

Reply via email to