From: Michael G. Schwern Date: Tue, 5 Dec 2000 19:21:21 +0000 (-0500) Subject: Default MANIFEST.SKIP] X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0b9c804f147362c4de1fd7a6d871df1c2b15e31d;p=p5sagit%2Fp5-mst-13.2.git Default MANIFEST.SKIP] Message-ID: <20001205192121.A6473@blackrider.aocn.com> Add a default MANIFEST skip that ignores things like version control files, editor temporary files, and the Makefile. p4raw-id: //depot/perl@8008 --- diff --git a/MANIFEST b/MANIFEST index 8e0040f..2845406 100644 --- a/MANIFEST +++ b/MANIFEST @@ -650,6 +650,7 @@ lib/ExtUtils/Embed.pm Utilities for embedding Perl in C programs lib/ExtUtils/Install.pm Handles 'make install' on extensions lib/ExtUtils/Installed.pm Information on installed extensions lib/ExtUtils/Liblist.pm Locates libraries +lib/ExtUtils/MANIFEST.SKIP The default MANIFEST.SKIP lib/ExtUtils/MM_Cygwin.pm MakeMaker methods for Cygwin lib/ExtUtils/MM_OS2.pm MakeMaker methods for OS/2 lib/ExtUtils/MM_Unix.pm MakeMaker base class for Unix diff --git a/lib/ExtUtils/MANIFEST.SKIP b/lib/ExtUtils/MANIFEST.SKIP new file mode 100644 index 0000000..a203d8f --- /dev/null +++ b/lib/ExtUtils/MANIFEST.SKIP @@ -0,0 +1,16 @@ +# Avoid version control files. +\bRCS\b +\bCVS\b +,v$ + +# Avoid Makemaker generated and utility files. +^MANIFEST\. +^Makefile$ +^blib/ +^MakeMaker-\d +^pm_to_blib$ + +# Avoid temp and backup files. +~$ +\.old$ +\#$ diff --git a/lib/ExtUtils/Manifest.pm b/lib/ExtUtils/Manifest.pm index 80f332c..4b98185 100644 --- a/lib/ExtUtils/Manifest.pm +++ b/lib/ExtUtils/Manifest.pm @@ -4,11 +4,12 @@ require Exporter; use Config; use File::Find; use File::Copy 'copy'; +use File::Spec::Functions qw(splitpath); use Carp; use strict; use vars qw($VERSION @ISA @EXPORT_OK - $Is_VMS $Debug $Verbose $Quiet $MANIFEST $found); + $Is_VMS $Debug $Verbose $Quiet $MANIFEST $found $DEFAULT_MSKIP); $VERSION = substr(q$Revision: 1.33 $, 10); @ISA=('Exporter'); @@ -18,10 +19,11 @@ $VERSION = substr(q$Revision: 1.33 $, 10); $Is_VMS = $^O eq 'VMS'; if ($Is_VMS) { require File::Basename } -$Debug = 0; +$Debug = $ENV{PERL_MM_MANIFEST_DEBUG} || 0; $Verbose = 1; $Quiet = 0; $MANIFEST = 'MANIFEST'; +$DEFAULT_MSKIP = (splitpath($INC{"ExtUtils/Manifest.pm"}))[1]."$MANIFEST.SKIP"; # Really cool fix from Ilya :) unless (defined $Config{d_link}) { @@ -160,8 +162,7 @@ sub _maniskip { my @skip ; $mfile ||= "$MANIFEST.SKIP"; local *M; - return $matches unless -f $mfile; - open M, $mfile or return $matches; + open M, $mfile or open M, $DEFAULT_MSKIP or return $matches; while (){ chomp; next if /^#/; @@ -344,15 +345,27 @@ expressions should appear one on each line. Blank lines and lines which start with C<#> are skipped. Use C<\#> if you need a regular expression to start with a sharp character. A typical example: + # Version control files and dirs. \bRCS\b + \bCVS\b + ,v$ + + # Makemaker generated files and dirs. ^MANIFEST\. ^Makefile$ - ~$ - \.html$ - \.old$ ^blib/ ^MakeMaker-\d + # Temp, old and emacs backup files. + ~$ + \.old$ + ^#.*#$ + +If no MANIFEST.SKIP file is found, a default set of skips will be +used, similar to the example above. If you want nothing skipped, +simply make an empty MANIFEST.SKIP file. + + =head1 EXPORT_OK C<&mkmanifest>, C<&manicheck>, C<&filecheck>, C<&fullcheck>, @@ -369,6 +382,10 @@ and a developer version including RCS). C<$ExtUtils::Manifest::Quiet> defaults to 0. If set to a true value, all functions act silently. +C<$ExtUtils::Manifest::Debug> defaults to 0. If set to a true value, +or if PERL_MM_MANIFEST_DEBUG is true, debugging output will be +produced. + =head1 DIAGNOSTICS All diagnostic output is sent to C. @@ -397,6 +414,16 @@ to MANIFEST. $Verbose is set to 1 by default. =back +=head1 ENVIRONMENT + +=over 4 + +=item B + +Turns on debugging + +=back + =head1 SEE ALSO L which has handy targets for most of the functionality.