App-CELL
view release on metacpan or search on metacpan
- 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
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.310 second using v1.01-cache-2.11-cpan-d6f9594c0a5 )