Re: [Catalyst] building 'local' lib with dependencies for shipping

2011-04-26 Thread Bernhard Bauch
hey,

i've also been hanging around with the same question/problem.
local::lib in combination with perl-brew is super, to bundle perl and all 
modules needed to run cataylst independant from your systems perl installation.

i thought just copying the complete local::lib tree would solve the problem to 
have the exactly the same module-versions on all maschines (development boxes 
and production)
but than i figured out, if the maschine-architecture is different then just 
copying the local::lib dir would not work.

using cpans Bundle system puts modulename + versions into the bundle file, but 
installing from this bundle also installs new-versions of modules if they are 
installed as a depenceny.

any ideas, how to solve this issue ?
byyee, bernhard


On 25.04.2011, at 15:32, Miquel Ruiz wrote:

 On 25/04/2011 15:03, Fernan Aguero wrote:
 My question is: apart from a 'hit and miss' approach (or a 'put
 everything and the kitchen sink') ... is there a smart way of building
 a list of the dependencies for any one app?
 
 Hi,
 
 You could give a try to lib::xi . It will install directly the dependencies 
 using cpanm, though.
 
 Hope it helps.
 
 --
 Miquel Ruiz
 
 ___
 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/

--
Bernhard Bauch, Webdevelopment
ZSI - Zentrum für soziale Innovation
ba...@zsi.at


___
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/


Re: [Catalyst] building 'local' lib with dependencies for shipping

2011-04-26 Thread Nicholas Wehr
a local::lib alternative is Shipwright; created by Best Practical the makers
of RT defect tracker. its worth checking out as it does exactly what you're
trying to do.

On Tue, Apr 26, 2011 at 3:40 AM, Bernhard Bauch ba...@zsi.at wrote:

 just saw on the dbix::class list they're discussing the same thing:


 http://lists.scsys.co.uk/pipermail/dbix-class/2011-April/thread.html
 see [Dbix-class] Module versioning

 Begin forwarded message:

  From: Bernhard Bauch ba...@zsi.at
  Date: 26. April 2011 12:33:08 MESZ
  To: The elegant MVC web framework catalyst@lists.scsys.co.uk
  Subject: Re: [Catalyst] building 'local' lib with dependencies for
 shipping
  Reply-To: The elegant MVC web framework catalyst@lists.scsys.co.uk
 
  hey,
 
  i've also been hanging around with the same question/problem.
  local::lib in combination with perl-brew is super, to bundle perl and all
 modules needed to run cataylst independant from your systems perl
 installation.
 
  i thought just copying the complete local::lib tree would solve the
 problem to have the exactly the same module-versions on all maschines
 (development boxes and production)
  but than i figured out, if the maschine-architecture is different then
 just copying the local::lib dir would not work.
 
  using cpans Bundle system puts modulename + versions into the bundle
 file, but installing from this bundle also installs new-versions of modules
 if they are installed as a depenceny.
 
  any ideas, how to solve this issue ?
  byyee, bernhard
 
 
  On 25.04.2011, at 15:32, Miquel Ruiz wrote:
 
  On 25/04/2011 15:03, Fernan Aguero wrote:
  My question is: apart from a 'hit and miss' approach (or a 'put
  everything and the kitchen sink') ... is there a smart way of building
  a list of the dependencies for any one app?
 
  Hi,
 
  You could give a try to lib::xi . It will install directly the
 dependencies using cpanm, though.
 
  Hope it helps.
 
  --
  Miquel Ruiz
 
  ___
  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/
 
  --
  Bernhard Bauch, Webdevelopment
  ZSI - Zentrum für soziale Innovation
  ba...@zsi.at
 
 
  ___
  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/

 --
 Bernhard Bauch, Webdevelopment
 ZSI - Zentrum für soziale Innovation
 ba...@zsi.at


 ___
 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/

___
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/


Re: [Catalyst] building 'local' lib with dependencies for shipping

2011-04-26 Thread Fernan Aguero
On Mon, Apr 25, 2011 at 10:32 AM, Miquel Ruiz m.rui...@gmail.com wrote:
 On 25/04/2011 15:03, Fernan Aguero wrote:

 My question is: apart from a 'hit and miss' approach (or a 'put
 everything and the kitchen sink') ... is there a smart way of building
 a list of the dependencies for any one app?

 Hi,

 You could give a try to lib::xi . It will install directly the dependencies
 using cpanm, though.

 Hope it helps.

 --
 Miquel Ruiz

Thanks Miguel for the suggestion. Tried lib::xi following the examples
in the perldoc (seemed simple enough) but failed early on with a
couple of dependencies (missing from the cpanm db I guess). I had
better luck (though not yet a complete success) with Shipwright
(mentioned in this thread).

Thanks!

-- 
fernan

___
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/


Re: [Catalyst] building 'local' lib with dependencies for shipping

2011-04-26 Thread Fernan Aguero
On Tue, Apr 26, 2011 at 11:43 AM, Nicholas Wehr
catal...@bionikchickens.com wrote:
 a local::lib alternative is Shipwright; created by Best Practical the makers
 of RT defect tracker. its worth checking out as it does exactly what you're
 trying to do.

Nicholas,

thanks for your suggestion. I installed Shipwright and followed the
docs, and got started: shipwright imported my sources, identified
dependencies (not all of them, though) and downloaded the
corresponding packages from CPAN.

After that I ran the shipwright-builder script, and this went OK
through all the identified dependencies, but failed at the last step,
when attempting to build my catalyst app.

I'm clearly missing something. The 2 things I can see are:

i) I need to tell Shipwright what other dependencies are required by
my app. Currently the dependencies identified are a minimal list of
what I'd call 'base' dependencies. They do not include all the more
specific Catalyst subcomponents (plugins), nor DBIx::Class and its
subclasses, Template Toolkit, etc.
Where do I specify these? In my app Makefile? In a Shipwright config file?

ii) it seems like I need to first create a Makefile for my app? I
never did that ... I have a very basic skeleton created by the
catalyst.pl helper script, but after that initial skeleton, I started
coding away and using the 'lib' within my app 'as is' without taking
care of creating tests, or editing the Makefile.PL file.
Is this the reason of Shipwright failing to build my app? What should
I do to fix this?

Thanks in advance for any further help,

Cheers,

--
fernan

PS: last lines of output from shipwright-builder
[...]
Use of uninitialized value in string at ./bin/shipwright-builder line 560.
build tdrtargets test part failed, last output of build.log is:
  Non-zero exit status: 1
t/controller_user.t (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1
t/controller_userinput.t (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1
t/model_mesh.t  (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
t/model_targets.t   (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
t/model_weightmodel.t   (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
Files=12, Tests=21, 26 wallclock secs ( 0.09 usr  0.02 sys + 17.78
cusr  1.14 csys = 19.03 CPU)
Result: FAIL
Failed 9/12 test programs. 9/21 subtests failed.
make: *** [test_dynamic] Error 1
 at ./bin/shipwright-builder line 573
main::_install('tdrtargets', 'GLOB(0x93606d8)') called at
./bin/shipwright-builder line 412
main::install() called at ./bin/shipwright-builder line 276
exit
Script done, file is shipwright-builder.out

-- 
fernan

___
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/


Re: [Catalyst] building 'local' lib with dependencies for shipping

2011-04-26 Thread Nicholas Wehr
Shipwright is not a silver bullet - it has issues of its own. For catalyst
projects I created a dependency finder that issues shipwright import
commands. on top of that, shipwright is not forgiving with regards to build
errors, for example - a non-uniform Makefile.PL of a CPAN dependency might
break it... there are ways to tweak a known dependency - but is a pain with
fully automated build systems.

for the error you listed - I see this when I try to add a module to an
existing shipyard and then rebuild an existing vessel. when this error
happens - I think it means that the shipwright_builder is failing because
its required cache of in-memory-references-in-the-vessel has been lost from
the previous vessel build-up. I don't have a good solution here except to
delete the whole vessel and issue another build command (keep the shipyard
though).

anyone else using shipwright for catalyst? any other
dep management solutions? how about a higher level solution like Apache Ivy?
I'm a fan of CPAN - but its not exactly a configuration management dream, is
it?

-n

On Tue, Apr 26, 2011 at 1:30 PM, Fernan Aguero fernan.agu...@gmail.comwrote:

 On Tue, Apr 26, 2011 at 11:43 AM, Nicholas Wehr
 catal...@bionikchickens.com wrote:
  a local::lib alternative is Shipwright; created by Best Practical the
 makers
  of RT defect tracker. its worth checking out as it does exactly what
 you're
  trying to do.

 Nicholas,

 thanks for your suggestion. I installed Shipwright and followed the
 docs, and got started: shipwright imported my sources, identified
 dependencies (not all of them, though) and downloaded the
 corresponding packages from CPAN.

 After that I ran the shipwright-builder script, and this went OK
 through all the identified dependencies, but failed at the last step,
 when attempting to build my catalyst app.

 I'm clearly missing something. The 2 things I can see are:

 i) I need to tell Shipwright what other dependencies are required by
 my app. Currently the dependencies identified are a minimal list of
 what I'd call 'base' dependencies. They do not include all the more
 specific Catalyst subcomponents (plugins), nor DBIx::Class and its
 subclasses, Template Toolkit, etc.
 Where do I specify these? In my app Makefile? In a Shipwright config file?

 ii) it seems like I need to first create a Makefile for my app? I
 never did that ... I have a very basic skeleton created by the
 catalyst.pl helper script, but after that initial skeleton, I started
 coding away and using the 'lib' within my app 'as is' without taking
 care of creating tests, or editing the Makefile.PL file.
 Is this the reason of Shipwright failing to build my app? What should
 I do to fix this?

 Thanks in advance for any further help,

 Cheers,

 --
 fernan

 PS: last lines of output from shipwright-builder
 [...]
 Use of uninitialized value in string at ./bin/shipwright-builder line 560.
 build tdrtargets test part failed, last output of build.log is:
  Non-zero exit status: 1
t/controller_user.t (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1
t/controller_userinput.t (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1
t/model_mesh.t  (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
t/model_targets.t   (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
t/model_weightmodel.t   (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
Files=12, Tests=21, 26 wallclock secs ( 0.09 usr  0.02 sys + 17.78
 cusr  1.14 csys = 19.03 CPU)
Result: FAIL
Failed 9/12 test programs. 9/21 subtests failed.
make: *** [test_dynamic] Error 1
  at ./bin/shipwright-builder line 573
main::_install('tdrtargets', 'GLOB(0x93606d8)') called at
 ./bin/shipwright-builder line 412
main::install() called at ./bin/shipwright-builder line 276
 exit
 Script done, file is shipwright-builder.out

 --
 fernan

 ___
 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/

___
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/


Re: [Catalyst] building 'local' lib with dependencies for shipping

2011-04-25 Thread Miquel Ruiz

On 25/04/2011 15:03, Fernan Aguero wrote:

My question is: apart from a 'hit and miss' approach (or a 'put
everything and the kitchen sink') ... is there a smart way of building
a list of the dependencies for any one app?


Hi,

You could give a try to lib::xi . It will install directly the 
dependencies using cpanm, though.


Hope it helps.

--
Miquel Ruiz

___
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/