Updated par helper
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Helper.pm
index 56c73d1..51039ca 100644 (file)
@@ -2,7 +2,6 @@ package Catalyst::Helper;
 
 use strict;
 use base 'Class::Accessor::Fast';
-use Config;
 use File::Spec;
 use File::Path;
 use IO::File;
@@ -64,7 +63,7 @@ sub mk_app {
     $self->{dir} =~ s/\:\:/-/g;
     $self->{script}    = File::Spec->catdir( $self->{dir}, 'script' );
     $self->{appprefix} = Catalyst::Utils::appprefix($name);
-    $self->{startperl} = $Config{startperl};
+    $self->{startperl} = '#!/usr/bin/perl -w';
     $self->{scriptgen} = $Catalyst::CATALYST_SCRIPT_GEN || 4;
     $self->{author}    = $self->{author} = $ENV{'AUTHOR'}
       || eval { @{ [ getpwuid($<) ] }[6] }
@@ -80,6 +79,7 @@ sub mk_app {
         $self->_mk_apptest;
         $self->_mk_images;
         $self->_mk_favicon;
+        $self->_mk_package;
     }
     $self->_mk_cgi;
     $self->_mk_fastcgi;
@@ -441,6 +441,14 @@ sub _mk_favicon {
 
 }
 
+sub _mk_package {
+    my $self      = shift;
+    my $script    = $self->{script};
+    my $appprefix = $self->{appprefix};
+    $self->render_file( 'package', "$script\/$appprefix\_package.pl" );
+    chmod 0700, "$script/$appprefix\_package.pl";
+}
+
 =head1 HELPERS
 
 Helpers are classes that provide two methods.
@@ -963,7 +971,73 @@ This behavior can be suppressed with the C<-nonew> option.
 
 =head1 AUTHOR
 
-Sebastian Riedel, C<sri\@oook.de>
+Sebastian Riedel, C<sri@oook.de>
+
+=head1 COPYRIGHT
+
+Copyright 2004 Sebastian Riedel. All rights reserved.
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+__package__
+[% startperl %] -w
+
+use strict;
+use Getopt::Long;
+use Pod::Usage;
+use Catalyst::PAR;
+
+my $engine = 'CGI';
+my $help = 0;
+my $par = '[% appprefix %].par';
+
+GetOptions(
+    'engine=s' => \$engine,
+    'help|?'   => \$help,
+    'par=s'    => \$par
+);
+
+pod2usage(1) if $help;
+
+Catalyst::PAR->new->package( {
+    engine => $engine,
+    par    => $par,
+    class  => '[% name %]'
+} );
+
+1;
+
+=head1 NAME
+
+[% appprefix %]_package.pl - Package a Catalyst application
+
+=head1 SYNOPSIS
+
+[% appprefix %]_package.pl
+
+ Options:
+   -engine   engine to use for dependency detection
+   -help     display this help and exits
+   -par      name for the par archive
+
+ Examples:
+   [% appprefix %]_package.pl [% appprefix %].par FastCGI
+   [% appprefix %]_package.pl foo_linux_i386_apache2.par Apache2
+
+ See also:
+   perldoc Catalyst::Manual
+   perldoc Catalyst::Manual::Intro
+   perldoc pp
+
+=head1 DESCRIPTION
+
+Package a Catalyst application with L<PAR>.
+
+=head1 AUTHOR
+
+Sebastian Riedel, C<sri@oook.de>
 
 =head1 COPYRIGHT