home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _70d6584cf1f8458266d52c5ee08705d7 < prev    next >
Text File  |  2000-03-23  |  8KB  |  182 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>ExtUtils::Manifest - utilities to write and check a MANIFEST file</TITLE>
  5. <LINK REL="stylesheet" HREF="../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> ExtUtils::Manifest - utilities to write and check a MANIFEST file</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#manifest.skip">MANIFEST.SKIP</A></LI>
  26.     <LI><A HREF="#export_ok">EXPORT_OK</A></LI>
  27.     <LI><A HREF="#global variables">GLOBAL VARIABLES</A></LI>
  28.     <LI><A HREF="#diagnostics">DIAGNOSTICS</A></LI>
  29.     <LI><A HREF="#see also">SEE ALSO</A></LI>
  30.     <LI><A HREF="#author">AUTHOR</A></LI>
  31. </UL>
  32. <!-- INDEX END -->
  33.  
  34. <HR>
  35. <P>
  36. <H1><A NAME="name">NAME</A></H1>
  37. <P>ExtUtils::Manifest - utilities to write and check a MANIFEST file</P>
  38. <P>
  39. <HR>
  40. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  41. <UL>
  42. <LI>Linux</LI>
  43. <LI>Solaris</LI>
  44. <LI>Windows</LI>
  45. </UL>
  46. <HR>
  47. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  48. <PRE>
  49.     require ExtUtils::Manifest;</PRE>
  50. <PRE>
  51.     ExtUtils::Manifest::mkmanifest;</PRE>
  52. <PRE>
  53.     ExtUtils::Manifest::manicheck;</PRE>
  54. <PRE>
  55.     ExtUtils::Manifest::filecheck;</PRE>
  56. <PRE>
  57.     ExtUtils::Manifest::fullcheck;</PRE>
  58. <PRE>
  59.     ExtUtils::Manifest::skipcheck;</PRE>
  60. <PRE>
  61.     ExtUtils::Manifest::manifind();</PRE>
  62. <PRE>
  63.     ExtUtils::Manifest::maniread($file);</PRE>
  64. <PRE>
  65.     ExtUtils::Manifest::manicopy($read,$target,$how);</PRE>
  66. <P>
  67. <HR>
  68. <H1><A NAME="description">DESCRIPTION</A></H1>
  69. <P><CODE>mkmanifest()</CODE> writes all files in and below the current directory to a
  70. file named in the global variable $ExtUtils::Manifest::MANIFEST (which
  71. defaults to <CODE>MANIFEST</CODE>) in the current directory. It works similar to</P>
  72. <PRE>
  73.     find . -print</PRE>
  74. <P>but in doing so checks each line in an existing <CODE>MANIFEST</CODE> file and
  75. includes any comments that are found in the existing <CODE>MANIFEST</CODE> file
  76. in the new one. Anything between white space and an end of line within
  77. a <CODE>MANIFEST</CODE> file is considered to be a comment. Filenames and
  78. comments are separated by one or more TAB characters in the
  79. output. All files that match any regular expression in a file
  80. <CODE>MANIFEST.SKIP</CODE> (if such a file exists) are ignored.</P>
  81. <P><CODE>manicheck()</CODE> checks if all the files within a <CODE>MANIFEST</CODE> in the
  82. current directory really do exist. It only reports discrepancies and
  83. exits silently if MANIFEST and the tree below the current directory
  84. are in sync.</P>
  85. <P><CODE>filecheck()</CODE> finds files below the current directory that are not
  86. mentioned in the <CODE>MANIFEST</CODE> file. An optional file <CODE>MANIFEST.SKIP</CODE>
  87. will be consulted. Any file matching a regular expression in such a
  88. file will not be reported as missing in the <CODE>MANIFEST</CODE> file.</P>
  89. <P><CODE>fullcheck()</CODE> does both a <CODE>manicheck()</CODE> and a filecheck().</P>
  90. <P><CODE>skipcheck()</CODE> lists all the files that are skipped due to your
  91. <CODE>MANIFEST.SKIP</CODE> file.</P>
  92. <P><CODE>manifind()</CODE> returns a hash reference. The keys of the hash are the
  93. files found below the current directory.</P>
  94. <P><CODE>maniread($file)</CODE> reads a named <CODE>MANIFEST</CODE> file (defaults to
  95. <CODE>MANIFEST</CODE> in the current directory) and returns a HASH reference
  96. with files being the keys and comments being the values of the HASH.
  97. Blank lines and lines which start with <CODE>#</CODE> in the <CODE>MANIFEST</CODE> file
  98. are discarded.</P>
  99. <P><CODE>manicopy($read,$target,$how)</CODE> copies the files that are the keys in
  100. the HASH <EM>%$read</EM> to the named target directory. The HASH reference
  101. $read is typically returned by the <CODE>maniread()</CODE> function. This
  102. function is useful for producing a directory tree identical to the
  103. intended distribution tree. The third parameter $how can be used to
  104. specify a different methods of ``copying''. Valid values are <CODE>cp</CODE>,
  105. which actually copies the files, <CODE>ln</CODE> which creates hard links, and
  106. <CODE>best</CODE> which mostly links the files but copies any symbolic link to
  107. make a tree without any symbolic link. Best is the default.</P>
  108. <P>
  109. <HR>
  110. <H1><A NAME="manifest.skip">MANIFEST.SKIP</A></H1>
  111. <P>The file MANIFEST.SKIP may contain regular expressions of files that
  112. should be ignored by <CODE>mkmanifest()</CODE> and filecheck(). The regular
  113. expressions should appear one on each line. Blank lines and lines
  114. which start with <CODE>#</CODE> are skipped.  Use <CODE>\#</CODE> if you need a regular
  115. expression to start with a sharp character. A typical example:</P>
  116. <PRE>
  117.     \bRCS\b
  118.     ^MANIFEST\.
  119.     ^Makefile$
  120.     ~$
  121.     \.html$
  122.     \.old$
  123.     ^blib/
  124.     ^MakeMaker-\d</PRE>
  125. <P>
  126. <HR>
  127. <H1><A NAME="export_ok">EXPORT_OK</A></H1>
  128. <P><CODE>&mkmanifest</CODE>, <CODE>&manicheck</CODE>, <CODE>&filecheck</CODE>, <CODE>&fullcheck</CODE>,
  129. <CODE>&maniread</CODE>, and <CODE>&manicopy</CODE> are exportable.</P>
  130. <P>
  131. <HR>
  132. <H1><A NAME="global variables">GLOBAL VARIABLES</A></H1>
  133. <P><CODE>$ExtUtils::Manifest::MANIFEST</CODE> defaults to <CODE>MANIFEST</CODE>. Changing it
  134. results in both a different <CODE>MANIFEST</CODE> and a different
  135. <CODE>MANIFEST.SKIP</CODE> file. This is useful if you want to maintain
  136. different distributions for different audiences (say a user version
  137. and a developer version including RCS).</P>
  138. <P><CODE>$ExtUtils::Manifest::Quiet</CODE> defaults to 0. If set to a true value,
  139. all functions act silently.</P>
  140. <P>
  141. <HR>
  142. <H1><A NAME="diagnostics">DIAGNOSTICS</A></H1>
  143. <P>All diagnostic output is sent to <CODE>STDERR</CODE>.</P>
  144. <DL>
  145. <DT><STRONG><A NAME="item_Not_in_MANIFEST%3A_file"><CODE>Not in MANIFEST:</CODE> <EM>file</EM></A></STRONG><BR>
  146. <DD>
  147. is reported if a file is found, that is missing in the <CODE>MANIFEST</CODE>
  148. file which is excluded by a regular expression in the file
  149. <CODE>MANIFEST.SKIP</CODE>.
  150. <P></P>
  151. <DT><STRONG><A NAME="item_No_such_file%3A_file"><CODE>No such file:</CODE> <EM>file</EM></A></STRONG><BR>
  152. <DD>
  153. is reported if a file mentioned in a <CODE>MANIFEST</CODE> file does not
  154. exist.
  155. <P></P>
  156. <DT><STRONG><A NAME="item_MANIFEST%3A_%24%21"><CODE>MANIFEST:</CODE> <EM>$!</EM></A></STRONG><BR>
  157. <DD>
  158. is reported if <CODE>MANIFEST</CODE> could not be opened.
  159. <P></P>
  160. <DT><STRONG><A NAME="item_Added_to_MANIFEST%3A_file"><CODE>Added to MANIFEST:</CODE> <EM>file</EM></A></STRONG><BR>
  161. <DD>
  162. is reported by <CODE>mkmanifest()</CODE> if $Verbose is set and a file is added
  163. to MANIFEST. $Verbose is set to 1 by default.
  164. <P></P></DL>
  165. <P>
  166. <HR>
  167. <H1><A NAME="see also">SEE ALSO</A></H1>
  168. <P><A HREF="../../lib/ExtUtils/MakeMaker.html">the ExtUtils::MakeMaker manpage</A> which has handy targets for most of the functionality.</P>
  169. <P>
  170. <HR>
  171. <H1><A NAME="author">AUTHOR</A></H1>
  172. <P>Andreas Koenig <<EM><A HREF="mailto:koenig@franz.ww.TU-Berlin.DE">koenig@franz.ww.TU-Berlin.DE</A></EM>></P>
  173. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  174. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  175. <STRONG><P CLASS=block> ExtUtils::Manifest - utilities to write and check a MANIFEST file</P></STRONG>
  176. </TD></TR>
  177. </TABLE>
  178.  
  179. </BODY>
  180.  
  181. </HTML>
  182.