/usr/share/perl5/Module/Install/Catalyst.pm is in libcatalyst-devel-perl 1.39-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | package Module::Install::Catalyst;
use strict;
use base qw/ Module::Install::Base /;
our @ISA;
require Module::Install::Base;
use File::Find;
use FindBin;
use File::Copy::Recursive;
use File::Spec ();
use Getopt::Long ();
use Data::Dumper;
my $SAFETY = 0;
our @IGNORE =
qw/Build Build.PL Changes MANIFEST META.yml Makefile.PL Makefile README
_build blib lib script t inc .*\.svn \.git _darcs \.bzr \.hg
debian build-stamp install-stamp configure-stamp/;
=head1 NAME
Module::Install::Catalyst - Module::Install extension for Catalyst
=head1 SYNOPSIS
use inc::Module::Install;
name 'MyApp';
all_from 'lib/MyApp.pm';
requires 'Catalyst::Runtime' => '5.7014';
catalyst_ignore('.*temp');
catalyst_ignore('.*tmp');
catalyst;
WriteAll;
=head1 DESCRIPTION
L<Module::Install> extension for Catalyst.
=head1 METHODS
=head2 catalyst
Calls L<catalyst_files>. Should be the last catalyst*
command called in C<Makefile.PL>.
=cut
sub catalyst {
my $self = shift;
if($Module::Install::AUTHOR) {
$self->include("File::Copy::Recursive");
}
print <<EOF;
*** Module::Install::Catalyst
EOF
$self->catalyst_files;
print <<EOF;
*** Module::Install::Catalyst finished.
EOF
}
=head2 catalyst_files
Collect a list of all files a Catalyst application consists of and copy it
inside the blib/lib/ directory. Files and directories that match the modules
ignore list are excluded (see L<catalyst_ignore> and L<catalyst_ignore_all>).
=cut
sub catalyst_files {
my $self = shift;
chdir $FindBin::Bin;
my @files;
opendir CATDIR, '.';
CATFILES: for my $name ( readdir CATDIR ) {
for my $ignore (@IGNORE) {
next CATFILES if $name =~ /^$ignore$/;
next CATFILES if $name !~ /\w/;
}
push @files, $name;
}
closedir CATDIR;
my @path = split '-', $self->name;
for my $orig (@files) {
my $path = File::Spec->catdir( 'blib', 'lib', @path, $orig );
File::Copy::Recursive::rcopy( $orig, $path );
}
}
=head2 catalyst_ignore_all(\@ignore)
This function replaces the built-in default ignore list with the given list.
=cut
sub catalyst_ignore_all {
my ( $self, $ignore ) = @_;
@IGNORE = @$ignore;
}
=head2 catalyst_ignore(@ignore)
Add a regexp to the list of ignored patterns. Can be called multiple times.
=cut
sub catalyst_ignore {
my ( $self, @ignore ) = @_;
push @IGNORE, @ignore;
}
=head1 AUTHORS
Catalyst Contributors, see Catalyst.pm
=head1 LICENSE
This library is free software. You can redistribute it and/or modify it under
the same terms as Perl itself.
=cut
1;
|