MirBSD manpage: ExtUtils::Manifest(3p)


ExtUtils::ManifesPerl)Programmers ReferenceExtUtils::Manifest(3p)

NAME

     ExtUtils::Manifest - utilities to write and check a MANIFEST
     file

SYNOPSIS

         use ExtUtils::Manifest qw(...funcs to import...);

         mkmanifest();

         my @missing_files    = manicheck;
         my @skipped          = skipcheck;
         my @extra_files      = filecheck;
         my($missing, $extra) = fullcheck;

         my $found    = manifind();

         my $manifest = maniread();

         manicopy($read,$target);

         maniadd({$file => $comment, ...});

DESCRIPTION

     Functions

     ExtUtils::Manifest exports no functions by default.  The
     following are exported on request

     mkmanifest
             mkmanifest();

         Writes all files in and below the current directory to
         your MANIFEST. It works similar to

             find . > MANIFEST

         All files that match any regular expression in a file
         MANIFEST.SKIP (if it exists) are ignored.

         Any existing MANIFEST file will be saved as
         MANIFEST.bak.  Lines from the old MANIFEST file is
         preserved, including any comments that are found in the
         existing MANIFEST file in the new one.

     manifind
             my $found = manifind();

         returns a hash reference. The keys of the hash are the
         files found below the current directory.

     manicheck
             my @missing_files = manicheck();

perl v5.8.8                2005-02-05                           1

ExtUtils::ManifesPerl)Programmers ReferenceExtUtils::Manifest(3p)

         checks if all the files within a "MANIFEST" in the
         current directory really do exist. If "MANIFEST" and the
         tree below the current directory are in sync it silently
         returns an empty list. Otherwise it returns a list of
         files which are listed in the "MANIFEST" but missing
         from the directory, and by default also outputs these
         names to STDERR.

     filecheck
             my @extra_files = filecheck();

         finds files below the current directory that are not
         mentioned in the "MANIFEST" file. An optional file
         "MANIFEST.SKIP" will be consulted. Any file matching a
         regular expression in such a file will not be reported
         as missing in the "MANIFEST" file. The list of any
         extraneous files found is returned, and by default also
         reported to STDERR.

     fullcheck
             my($missing, $extra) = fullcheck();

         does both a manicheck() and a filecheck(), returning
         then as two array refs.

     skipcheck
             my @skipped = skipcheck();

         lists all the files that are skipped due to your
         "MANIFEST.SKIP" file.

     maniread
             my $manifest = maniread();
             my $manifest = maniread($manifest_file);

         reads a named "MANIFEST" file (defaults to "MANIFEST" in
         the current directory) and returns a HASH reference with
         files being the keys and comments being the values of
         the HASH.  Blank lines and lines which start with "#" in
         the "MANIFEST" file are discarded.

     manicopy
             manicopy(\%src, $dest_dir);
             manicopy(\%src, $dest_dir, $how);

         Copies the files that are the keys in %src to the
         $dest_dir.  %src is typically returned by the maniread()
         function.

             manicopy( maniread(), $dest_dir );

         This function is useful for producing a directory tree

perl v5.8.8                2005-02-05                           2

ExtUtils::ManifesPerl)Programmers ReferenceExtUtils::Manifest(3p)

         identical to the intended distribution tree.

         $how can be used to specify a different methods of
         "copying".  Valid values are "cp", which actually copies
         the files, "ln" which creates hard links, and "best"
         which mostly links the files but copies any symbolic
         link to make a tree without any symbolic link.  "cp" is
         the default.

     maniadd
           maniadd({ $file => $comment, ...});

         Adds an entry to an existing MANIFEST unless its already
         there.

         $file will be normalized (ie. Unixified).  UNIMPLEMENTED

     MANIFEST

     A list of files in the distribution, one file per line.  The
     MANIFEST always uses Unix filepath conventions even if
     you're not on Unix.  This means foo/bar style not foo\bar.

     Anything between white space and an end of line within a
     "MANIFEST" file is considered to be a comment.  Any line
     beginning with # is also a comment.

         # this a comment
         some/file
         some/other/file            comment about some/file

     MANIFEST.SKIP

     The file MANIFEST.SKIP may contain regular expressions of
     files that should be ignored by mkmanifest() and
     filecheck(). The regular expressions should appear one on
     each line. Blank lines and lines which start with "#" are
     skipped.  Use "\#" if you need a regular expression to start
     with a "#".

     For example:

         # Version control files and dirs.
         \bRCS\b
         \bCVS\b
         ,v$
         \B\.svn\b

perl v5.8.8                2005-02-05                           3

ExtUtils::ManifesPerl)Programmers ReferenceExtUtils::Manifest(3p)

         # Makemaker generated files and dirs.
         ^MANIFEST\.
         ^Makefile$
         ^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.

     EXPORT_OK

     &mkmanifest, &manicheck, &filecheck, &fullcheck, &maniread,
     and &manicopy are exportable.

     GLOBAL VARIABLES

     $ExtUtils::Manifest::MANIFEST defaults to "MANIFEST". Chang-
     ing it results in both a different "MANIFEST" and a dif-
     ferent "MANIFEST.SKIP" file. This is useful if you want to
     maintain different distributions for different audiences
     (say a user version and a developer version including RCS).

     $ExtUtils::Manifest::Quiet defaults to 0. If set to a true
     value, all functions act silently.

     $ExtUtils::Manifest::Debug defaults to 0.  If set to a true
     value, or if PERL_MM_MANIFEST_DEBUG is true, debugging out-
     put will be produced.

DIAGNOSTICS

     All diagnostic output is sent to "STDERR".

     "Not in MANIFEST:" file
         is reported if a file is found which is not in "MANI-
         FEST".

     "Skipping" file
         is reported if a file is skipped due to an entry in
         "MANIFEST.SKIP".

     "No such file:" file
         is reported if a file mentioned in a "MANIFEST" file
         does not exist.

     "MANIFEST:" $!

perl v5.8.8                2005-02-05                           4

ExtUtils::ManifesPerl)Programmers ReferenceExtUtils::Manifest(3p)

         is reported if "MANIFEST" could not be opened.

     "Added to MANIFEST:" file
         is reported by mkmanifest() if $Verbose is set and a
         file is added to MANIFEST. $Verbose is set to 1 by
         default.

ENVIRONMENT

     PERL_MM_MANIFEST_DEBUG
         Turns on debugging

SEE ALSO

     ExtUtils::MakeMaker which has handy targets for most of the
     functionality.

AUTHOR

     Andreas Koenig "andreas.koenig@anima.de"

     Currently maintained by Michael G Schwern
     "schwern@pobox.com"

perl v5.8.8                2005-02-05                           5

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung