<html>

<head>
<title>Rpm Task</title>
</head>

<body>

<h2><a name="rpm">Rpm</a></h2>
<h3>Description</h3>
<p>
  A basic task for invoking the rpm executable to build a Linux installation
  file. The task currently only works on Linux or other Unix platforms
  with rpm support.
</p>

<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
  <tr>
    <td valign="top"><b>Attribute</b></td>
    <td valign="top"><b>Description</b></td>
    <td align="center" valign="top"><b>Required</b></td>
  </tr>
  <tr>
    <td valign="top">specFile</td>
    <td valign="top">The name of the spec File to be used.</td>
    <td valign="top" align="center">Yes</td>
  </tr>
  <tr>
    <td valign="top">topDir</td>
    <td valign="top">
      this is the directory which will have the expected
      subdirectories, SPECS, SOURCES, BUILD, SRPMS.  If this isn't specified,
      the baseDir value is used
    </td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">cleanBuildDir</td>
    <td valign="top">his will remove the generated files in the BUILD
directory.</td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">removeSpec</td>
    <td valign="top">this will remove the spec file from SPECS</td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">command</td>
    <td valign="top">very similar idea to the cvs task.  the default is "-bb"</td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">output/error</td>
    <td valign="top">where standard output and error go</td>
    <td align="center" valign="top">No</td>
  </tr>
</table>
<hr>

<p align="center">Copyright &copy; 2001 Apache Software Foundation. All rights
Reserved.</p>

</body>
</html>

