diff options
Diffstat (limited to 'Master/tlpkg/tlperl/bin/cpaninject')
-rwxr-xr-x | Master/tlpkg/tlperl/bin/cpaninject | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/Master/tlpkg/tlperl/bin/cpaninject b/Master/tlpkg/tlperl/bin/cpaninject deleted file mode 100755 index 12679fb1737..00000000000 --- a/Master/tlpkg/tlperl/bin/cpaninject +++ /dev/null @@ -1,137 +0,0 @@ -#!/usr/bin/perl - -=pod - -=head1 NAME - -cpaninject - Inject a distribution for installation via the CPAN shell - -=head1 SYNOPSIS - - # Add the distribution - cpaninject myperlmodule.tar.gz - - # And then install it from the cpan shell - cpan> install LOCAL/myperlmodule.tar.gz - -=head1 DESCRIPTION - -B<cpaninject> is a small front-end application for the L<CPAN::Inject> -module. - -It takes any arbitrary Perl distribution tarball (open source or -otherwise) and injects it into the local CPAN file cache, smoothing -some metadata files to make it look as if it came from CPAN. - -It makes use the officially blessed "Reserved Local CPAN Author" id -"LOCAL" as the author the distributions are added under. - -To use the program, just run F<cpaninject> F<mytarball.tar.gz> to add it, -then the CPAN shell to install it (with full automatic recursive -dependency installation). - -The key here being the recursive dependency installation, which you are -now able to do even for installing non-CPAN modules. - -This simplifies the installation process a little, and makes things easier -on someone that just wants to install a single commercial or non-CPAN -Perl module that might have a dozen or more CPAN dependencies. - -=cut - -package cpaninject; - -use strict; -use Params::Util '_STRING'; -use CPAN::Inject; - -use vars qw{$VERSION}; -BEGIN { - $VERSION = '0.11'; -} - - - - - -##################################################################### -# Configuration - -unless ( @ARGV ) { - error("Usage: cpaninject ./any/Perl-Distribution-1.00.tar.gz"); -} - -# Get the file name -my $file = _STRING(shift @ARGV); -unless ( $file ) { - error("Did not provide a file name"); -} -unless ( -f $file ) { - error("File '$file' does not exist"); -} -unless ( -r $file ) { - error("No permissions to read '$file'"); -} - -# Create the injector -my $cpan = eval { CPAN::Inject->from_cpan_config }; -if ( $@ ) { - my $message = $@; - $message =~ s/^(.+)\s+at line.+$/$1/; - error( $message ); -} - -# Add the file -my $path = $cpan->add( file => $file ); -message( "Injected $file ok.\n" ); -message( "The following command will install it from the CPAN shell.\n" ); -message( "\n" ); -message( "cpan> install $path\n" ); -message( "\n" ); -exit(0); - - - - - -##################################################################### -# Support Functions - -sub message ($) { - print ' ' . $_[0]; -} - -sub error (@) { - print ' ' . join '', map { "$_\n" } ('', @_, ''); - exit(255); -} - -=pod - -=head1 SUPPORT - -All bugs should be filed via the bug tracker at - -L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CPAN-Inject> - -For other issues, or commercial enhancement and support, contact the author - -=head1 AUTHOR - -Adam Kennedy E<lt>adamk@cpan.orgE<gt> - -=head1 SEE ALSO - -L<CPAN::Mini::Inject> - -=head1 COPYRIGHT - -Copyright 2006 Adam Kennedy. - -This program is free software; you can redistribute -it and/or modify it under the same terms as Perl itself. - -The full text of the license can be found in the -LICENSE file included with this module. - -=cut |