FAQ
wich methods do you use to distribute a catalyst application from on box to another.
and suposse this box has diferent operating system, i ment one has suse and the other redhat.
what are you recomendations


------------------------------------
Patricio Bruna V.
IT Linux Ltda.
http://www.it-linux.cl
Fono : (+56-2) 333 0578
IT Linux en Facebook

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090610/6d779c60/attachment.htm

Search Discussions

  • Tomas Doran at Jun 10, 2009 at 4:15 pm

    Patricio A. Bruna wrote:
    wich methods do you use to distribute a catalyst application from on box
    to another.
    and suposse this box has diferent operating system, i ment one has suse
    and the other redhat.
    what are you recomendations
    Don't do that.

    Having an app balanced across two totally dissimilar boxes is going to
    cause you more issues than across two similar boxes, so I'd just avoid
    it if possible.

    If not possible, then I guess distro style packages of all your
    dependencies would be the way to go.

    Cheers
    t0m
  • Patricio A. Bruna at Jun 10, 2009 at 4:32 pm
    Maybe i explain wrong.
    I did not mean load balance, i meant deployment.
    i develop my app on my box, and then i need to deploy it on the production server, with the same operating system. downloading all the modules from cpan is time consuming, are any better way?


    ------------------------------------
    Patricio Bruna V.
    IT Linux Ltda.
    http://www.it-linux.cl
    Fono : (+56-2) 333 0578
    IT Linux en Facebook


    ----- "Tomas Doran" <bobtfish@bobtfish.net> escribió:
    Patricio A. Bruna wrote:
    wich methods do you use to distribute a catalyst application from on box
    to another.
    and suposse this box has diferent operating system, i ment one has suse
    and the other redhat.
    what are you recomendations
    Don't do that.

    Having an app balanced across two totally dissimilar boxes is going to
    cause you more issues than across two similar boxes, so I'd just avoid
    it if possible.

    If not possible, then I guess distro style packages of all your
    dependencies would be the way to go.

    Cheers
    t0m

    _______________________________________________
    List: Catalyst@lists.scsys.co.uk
    Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
    Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
    Dev site: http://dev.catalyst.perl.org/
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090610/9fa42133/attachment.htm
  • Tomas Doran at Jun 10, 2009 at 4:41 pm

    Patricio A. Bruna wrote:
    Maybe i explain wrong.
    I did not mean load balance, i meant deployment.
    i develop my app on my box, and then i need to deploy it on the
    production server, with the same operating system. downloading all the
    modules from cpan is time consuming, are any better way?
    Yes.

    Use a self contained local::lib. Bootstrap local::lib (see the docs),
    then, from inside your MyApp directory:

    eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib--self-containted,local_lib)
    make installdeps

    And you'll then have all the dependencies for your app (given you listed
    them in Makefile.PL) built for you, inside your app directory, where you
    can add them to revision control.

    I generally have a per-app local::lib, and a couple of trivial shell
    scripts I put in the scripts/ directory which can give you a shell with
    the environment setup correctly to see this local::lib etc..

    Then pushing a new version of your application (and all your
    dependencies) is just a case of rsyncing your app up to your web server :)

    Cheers
    t0m
  • Octavian Rasnita at Jun 10, 2009 at 5:14 pm
    From: "Tomas Doran" <bobtfish@bobtfish.net>
    Patricio A. Bruna wrote:
    Maybe i explain wrong.
    I did not mean load balance, i meant deployment.
    i develop my app on my box, and then i need to deploy it on the
    production server, with the same operating system. downloading all the
    modules from cpan is time consuming, are any better way?
    Yes.

    Use a self contained local::lib. Bootstrap local::lib (see the docs),
    then, from inside your MyApp directory:

    eval
    $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib--self-containted,local_lib)
    make installdeps

    And you'll then have all the dependencies for your app (given you listed
    them in Makefile.PL) built for you, inside your app directory, where you
    can add them to revision control.

    I generally have a per-app local::lib, and a couple of trivial shell
    scripts I put in the scripts/ directory which can give you a shell with
    the environment setup correctly to see this local::lib etc..

    Then pushing a new version of your application (and all your dependencies)
    is just a case of rsyncing your app up to your web server :)

    Cheers
    t0m
    I think it could be very helpful to add these details on the "Deployment"
    page of the wiki.

    BTW, regarding local::lib, does anyone know how can I force install a module
    that gives an error under Windows when I use it?

    Thanks.

    Octavian
  • Hans Dieter Pearcey at Jun 10, 2009 at 5:22 pm

    On Wed, Jun 10, 2009 at 08:14:10PM +0300, Octavian R??ni?? wrote:
    BTW, regarding local::lib, does anyone know how can I force install a
    module that gives an error under Windows when I use it?
    The same way you force install anything using the CPAN shell.

    CPAN> force install Some::Module

    hdp.
  • Octavian Rasnita at Jun 10, 2009 at 7:33 pm
    From: "Hans Dieter Pearcey" <hdp.perl.catalyst.users@weftsoar.net>
    BTW, regarding local::lib, does anyone know how can I force install a
    module that gives an error under Windows when I use it?
    The same way you force install anything using the CPAN shell.

    CPAN> force install Some::Module

    When using this syntax, where can I specify the local path where I want to
    install the Some::Module?

    Thanks.

    Octavian
  • Hans Dieter Pearcey at Jun 10, 2009 at 7:58 pm

    On Wed, Jun 10, 2009 at 10:33:26PM +0300, Octavian R??ni?? wrote:
    When using this syntax, where can I specify the local path where I want
    to install the Some::Module?
    You never do that with local::lib. It sets up the env variables for you
    (PERL_MM_OPT and MODULEBUILDRC) -- CPAN.pm doesn't know anything about it.

    hdp.
  • Octavian Rasnita at Jun 11, 2009 at 2:18 pm
    From: "Hans Dieter Pearcey" <hdp.perl.catalyst.users@weftsoar.net>On Wed,
    Jun 10, 2009 at 10:33:26PM +0300, Octavian R??ni?? wrote:
    When using this syntax, where can I specify the local path where I want
    to install the Some::Module?
    You never do that with local::lib. It sets up the env variables for you
    (PERL_MM_OPT and MODULEBUILDRC) -- CPAN.pm doesn't know anything about it.
    hdp.
    I read in the POD of local::lib that I can specify the local path where the
    modules are installed ('my_lwp'):

    # Install LWP and it's missing dependencies to the 'my_lwp' directory
    perl -MCPAN -Mlocal::lib=my_lwp -e 'CPAN::install(LWP)'

    When using this syntax for installing modules in the directory 'my_lwp' I
    don't know how I can specify the "force" parameter of the cpan shell.

    Thanks.

    Octavian
  • Tomas Doran at Jun 11, 2009 at 2:49 pm

    Octavian R??ni?? wrote:
    When using this syntax for installing modules in the directory 'my_lwp'
    I don't know how I can specify the "force" parameter of the cpan shell.
    perl -MCPAN -Mlocal::lib=my_lwp -e 'CPAN::force(qw/install LWP/)'

    Cheers
    t0m
  • Octavian Rasnita at Jun 11, 2009 at 6:23 pm
    From: "Tomas Doran" <bobtfish@bobtfish.net>
    Octavian R??ni?? wrote:
    When using this syntax for installing modules in the directory 'my_lwp' I
    don't know how I can specify the "force" parameter of the cpan shell.
    perl -MCPAN -Mlocal::lib=my_lwp -e 'CPAN::force(qw/install LWP/)'

    Cheers
    t0m

    Thank you. local::lib seems to work fine, but not always:

    perl -MCPAN -Mlocal::lib=support -e "CPAN::install(HTML::FormFu)"

    The result:

    Database was generated on Thu, 11 Jun 2009 17:08:37 GMT
    HTML::FormFu is up to date (0.05000).

    But HTML::FormFu is not installed under the "support" path.

    Sometimes I succeed to install some of the modules if I add the
    parameter --self-contained, but sometimes I can't because some dependencies
    are not installed automaticly, or some modules give very many errors like
    the case of Moose:

    Failed 185/213 test programs. 20/536 subtests failed.

    (This error is given when I try to install Moose using the standard cpan
    command line also.)

    Octavian
  • Hans Dieter Pearcey at Jun 11, 2009 at 6:31 pm

    On Thu, Jun 11, 2009 at 09:23:41PM +0300, Octavian R??ni?? wrote:
    perl -MCPAN -Mlocal::lib=support -e "CPAN::install(HTML::FormFu)"

    The result:

    Database was generated on Thu, 11 Jun 2009 17:08:37 GMT
    HTML::FormFu is up to date (0.05000).

    But HTML::FormFu is not installed under the "support" path.
    Because it's already installed somewhere else, and you didn't use
    --self-contained.
    Failed 185/213 test programs. 20/536 subtests failed.

    (This error is given when I try to install Moose using the standard cpan
    command line also.)
    This isn't an error, this is a summary. No one can help you fix the problem if
    all you give is the summary instead of the actual error log. Nopaste, or
    attach, or something?

    hdp.
  • Octavian Rasnita at Jun 11, 2009 at 7:46 pm
    From: "Hans Dieter Pearcey" <hdp.perl.catalyst.users@weftsoar.net>
    Failed 185/213 test programs. 20/536 subtests failed.

    (This error is given when I try to install Moose using the standard cpan
    command line also.)
    This isn't an error, this is a summary. No one can help you fix the problem
    if
    all you give is the summary instead of the actual error log. Nopaste, or
    attach, or something?
    hdp.

    I discovered the problem. Moose requires a newer version of Class::MOP than
    the one I had it installed.

    I don't know why cpan didn't try to install the newer version, because I've
    seen that the newer version was required in the Makefile.PL.

    But now installs fine after manually installing Class::MOP.

    Octavian
  • Hans Dieter Pearcey at Jun 11, 2009 at 7:53 pm

    On Thu, Jun 11, 2009 at 10:46:49PM +0300, Octavian R??ni?? wrote:
    I discovered the problem. Moose requires a newer version of Class::MOP
    than the one I had it installed.

    I don't know why cpan didn't try to install the newer version, because
    I've seen that the newer version was required in the Makefile.PL.

    But now installs fine after manually installing Class::MOP.
    CPAN.pm using CPAN::SQLite had some inconsistent behavior with following
    dependencies until the last version or so. Maybe you got bit by this?

    hdp.
  • Octavian Rasnita at Jun 12, 2009 at 5:43 am
    From: "Hans Dieter Pearcey" <hdp.perl.catalyst.users@weftsoar.net>
    On Thu, Jun 11, 2009 at 10:46:49PM +0300, Octavian R??ni?? wrote:
    I discovered the problem. Moose requires a newer version of Class::MOP
    than the one I had it installed.

    I don't know why cpan didn't try to install the newer version, because
    I've seen that the newer version was required in the Makefile.PL.

    But now installs fine after manually installing Class::MOP.
    CPAN.pm using CPAN::SQLite had some inconsistent behavior with following
    dependencies until the last version or so. Maybe you got bit by this?
    hdp.

    Aha, that might be the problem because I installed that plugin for CPAN that
    uses a local database.

    I tried for more times to install the newer version of CPAN, but each time
    I've done this, CPAN gave errors when trying to install a module with it, so
    I let the version that came with the ActivePerl distribution.

    Anyway, I found another problem that disallow me to install some modules
    with CPAN. Some tests stop the execution and wait forever.
    In cases like this I used to install the ppm version of those modules, but
    now if I want to use local::lib I need to manually install those modules and
    specify the prefix when doing perl Makefile.PL.

    Could it be possible to use local::lib and specify that I want to skip the
    tests for the current module?

    Octavian
  • Hans Dieter Pearcey at Jun 12, 2009 at 5:59 am

    On Fri, Jun 12, 2009 at 08:43:08AM +0300, Octavian Rasnita wrote:
    Could it be possible to use local::lib and specify that I want to skip the
    tests for the current module?
    This also doesn't have anything to do with local::lib. Look for 'notest' in
    the CPAN.pm docs.

    (This is a potentially bad idea for all the same reasons 'force' is.)

    local::lib has nothing to do with how CPAN.pm behaves. Any questions you have
    about "how can I do X while using CPAN.pm" should be looked up in the CPAN.pm
    documentation.

    local::lib sets environment variables that Module::Build and
    ExtUtils::MakeMaker use to determine what directory they should go into, and
    for perl to add extra paths to @INC, and corresponding variables for both
    inside a Perl process that you use it in. That's all. You seem to have the
    impression that it touches much more than it actually does, and I think you'll
    be less confused and have an easier time answering your own questions if you
    understand local::lib's scope.

    hdp.
  • Joel Bernstein at Jun 10, 2009 at 5:25 pm

    On 10 Jun 2009, at 18:14, Octavian R??ni?? wrote:
    BTW, regarding local::lib, does anyone know how can I force install
    a module that gives an error under Windows when I use it?
    Why would you do that? If the module you're installing fails its
    tests, you should file a bug report. What kind of error? IME you
    shouldn't ever want to or need to force install a module. This should
    be a *colossal* red flag to you.

    Are you prepared to deploy code built in a house-of-cards manner on
    modules with bugs so grave they fail the author's tests on your
    platform? This ought to scare you.

    In any case, force installing a CPAN module in the CPAN shell should
    be no different whether you're using a local::lib or not. Can you
    describe the issue you're seeing? If it _is_ different, file a bug!

    /joel
  • Stuart Watt at Jun 10, 2009 at 5:55 pm

    Why would you do that? If the module you're installing fails its
    tests, you should file a bug report. What kind of error? IME you
    shouldn't ever want to or need to force install a module. This should
    be a *colossal* red flag to you.

    ...

    /joel
    It is very possible that the tests fail because the tests are wrong, not
    the module. I use a Perl that does not have fork emulation on Windows,
    partly for performance. Many tests assume fork, even where the modules
    they are testing do not depend on it. Yes, these modules should be
    reported, but you don't need to wait for a new release, nor is the
    module necessarily compromised. Authors cannot always test on a wide
    range of platforms. I find a good few modules fail tests for
    system/platform reasons rather than because of bugs in the code.

    Modules I know fail on Windows without fork but generally don't care
    include: DBD::mysql, Test::NoWarnings, WWW::Mechanize,
    HTTP::Server::Simple, Cache::Cache, and DBD::SQLite. Most of these have
    tests that assume fork. Some get caught by file system differences and
    permissions differences.

    You might have a wider concern if you are using a "standard" build (if
    such a thing exists) but it is at least sometimes justifiable to look
    through the tests that fail and make a judgment call.

    --S
    --
    Stuart Watt
    ARM Product Developer
    Information Balance
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090610/3422bca4/attachment.htm
  • Octavian Rasnita at Jun 10, 2009 at 7:31 pm
    From: Stuart Watt
    Why would you do that? If the module you're installing fails its tests, you should file a bug report. What kind of error? IME you shouldn't ever want to or need to force install a module. This should be a *colossal* red flag to you.

    ...

    /joel

    It is very possible that the tests fail because the tests are wrong, not the module. I use a Perl that does not have fork emulation on Windows, partly for performance. Many tests assume fork, even where the modules they are testing do not depend on it. Yes, these modules should be reported, but you don't need to wait for a new release, nor is the module necessarily compromised. Authors cannot always test on a wide range of platforms. I find a good few modules fail tests for system/platform reasons rather than because of bugs in the code.

    Modules I know fail on Windows without fork but generally don't care include: DBD::mysql, Test::NoWarnings, WWW::Mechanize, HTTP::Server::Simple, Cache::Cache, and DBD::SQLite. Most of these have tests that assume fork. Some get caught by file system differences and permissions differences.

    You might have a wider concern if you are using a "standard" build (if such a thing exists) but it is at least sometimes justifiable to look through the tests that fail and make a judgment call.

    --S

    --
    Stuart Watt
    ARM Product Developer
    Information Balance


    Hi,



    Sometimes I see that I can't install some perl modules, but then I found a ppm package that can be installed, and that module has the same version as the ones I couldn't install using the cpan shell.



    So probably the tests are done wrong.



    Some tests (like the one for DBD::SQLite) also crash the perl interpreter, not only that the tests don't succeed.



    And as you said, most of the tests use fork and then I know why they are not working under Windows.



    If we need to deploy a Catalyst app under Linux, is not so hard to install modules from CPAN using the cpan shell, but it might be very hard to install some modules under Windows, so it would be very good if we could use local::lib to pre-install the necessary modules.



    And regarding my question, in local::lib's POD, I read that:



    From the shell -

    perl -MCPAN -Mlocal::lib=my_lwp -e 'CPAN::install(LWP)'



    Where in this command line can I add the "force" parameter, or is there another way of installing perl modules in the local directory?



    And, another question:

    Can we deploy an app that uses local::lib without having shell access but only ftp access if local::lib is not installed?

    (It would be interesting to know, although I never needed it until now.)



    Thanks.



    Octavian




    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090610/697e3d2e/attachment.htm

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcatalyst @
categoriescatalyst, perl
postedJun 10, '09 at 2:44p
activeJun 12, '09 at 5:59a
posts19
users6
websitecatalystframework.org
irc#catalyst

People

Translate

site design / logo © 2022 Grokbase