App-CELL

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

- Build.PL: don't create LICENSE file every time
- change LICENSE to BSD-3-Clause
- misc/boilerplate/: add code for prepending copyright/license notice to
  each source code file
- CELL.pm - restore 'LICENSE AND COPYRIGHT' POD section
- move dev.sh and test.sh from dist/ to top level of git repo because they
  are not in the distro

0.164-0.165  2014-06-09 13:55 CEST
- pod-coverage.t: add missing tests
- Guide.pm: add CAVEATs section to warn against running in taint mode
- Load.pm, Message.pm: fix infinite recursion bug in try .. catch ..
- Load.pm: return fatal error if running in taint mode
- Message.pm: if args sent to constructor but text cannot take them,
  stringify them and append to message text
- Message.pm: comment out "Creating message object" debug message
- t/001-log.t: do not test for "Creating message object" debug message
- Status.pm: if message object creation fails in constructor and args are
  present, stringify them and append to text
- Util.pm: fix bug "stringify_args can only take hashrefs"

0.166-0.168  2014-06-09 18:16 CEST
- masochistically change CELL_SUPPORTED_LANGUAGES and CELL_LANGUAGE to

WISHLIST  view on Meta::CPAN

         App::CELL itself, check a flag that toggles _all_ App::CELL log 
         messages so the application developer can suppress them if needed


WILL PROBABLY NEVER IMPLEMENT
20140516 put meta, core, and site params directly in the module's symbol
         table like RT does it
20140516 get App::CELL to build on Perl 5.10.0 (SLE_11_SP3)
20140524 add 'testing' mode to Load->init (prefix all paths, e.g., with 
         '/tmp')
20140610 get App::CELL to run in taint mode

lib/App/CELL/Guide.pm  view on Meta::CPAN

by site parameters, internally the values of both are immutable. Although
it is possible to change them by cheating, the 'set' method of C<$core> and
C<$site> will refuse to change the value of an existing core/site parameter.

Therefore, use C<$meta> to store mutable values.


=head2 Taint mode

Since it imports configuration data at runtime from files supplied by the
user, L<App::CELL> should not be run under taint mode. The C<< load >>
routine checks this and will refuse to do anything if running with C<-T>.

To recapitulate: don't run L<App::CELL> in taint mode.


=head2 Installation issues with CELL internal sharedir

The easiest way to install L<App::CELL> is to use a package manager (e.g.
C<zypper>). Another way to install directly from CPAN using, e.g.,
C<cpanm>). The former way installs to the C<vendor_perl> tree, while the
latter installs to the C<site_perl> tree.

If you install two different versions of L<App::CELL>, one via package

lib/App/CELL/Load.pm  view on Meta::CPAN

    } else {
        $args_string = "without arguments";
    }
    $meta->set('CELL_META_LOAD_VERBOSE', $ARGS{'verbose'} || 0);

    $log->info(
        "Entering App::CELL::Load::init from " . (caller)[0] . " $args_string",
        cell => 1
    ) if $meta->CELL_META_LOAD_VERBOSE;

    # check for taint mode
    if ( ${^TAINT} != 0 ) {
        return App::CELL::Status->new( level => "FATAL",
            code => "Attempt to load while in taint mode (-T)" );
    }

    # look up sharedir
    if ( not $sharedir ) {
        my $tmp_sharedir = File::ShareDir::dist_dir('App-CELL');
        if ( ! is_directory_viable( $tmp_sharedir ) ) {
            return App::CELL::Status->new( 
                level => 'ERR', 
                code => 'CELL_SHAREDIR_NOT_VIABLE',
                args => [ $tmp_sharedir, $App::CELL::Util::not_viable_reason ],



( run in 0.364 second using v1.01-cache-2.11-cpan-4e96b696675 )