Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > b6ef34f580cb4ccd9d235ecb9f9b3f6a > files > 8

rpmproc-2.1.4-2mdk.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">

<html>
  <head>
    <meta name="generator" content="HTML Tidy, see www.w3.org">

    <title>rpmproc use</title>
  </head>

  <body>
    <h1 align="center">rpmproc use</h1>

    <h2>actions</h2>

    <p>rpmproc is aimed at automatising and making easier several tasks
    related to rpm management: building, uploading, etc... It is able
    to perform any number of task for any number of package at
    once.</p>

    <p>rpmproc optimise processing by performing each task for every
    package before switching to next one. This way, it uses only one
    ftp connection, one rpm command, etc... Task order is fixed,
    meaning cleaning will always occur last.</p>

    <p>Supported tasks are currently:</p>

    <ol>
      <li>build (<strong>--build</strong>) for building a package</li>

      <li>local (<strong>--local</strong>) for uploading a package
      localy</li>

      <li>ftp (<strong>--ftp</strong>) for uploading a package remotely by
      ftp</li>

      <li>scp (<strong>--scp</strong>) for uploading a package remotely by
      scp</li>

      <li>mail (<strong>--mail</strong>) for announcing package changelog
      by mail</li>

      <li>clean (<strong>--clean</strong>) for cleaning package files</li>
    </ol>

    <h2>configuration</h2>

    <h3>organisation</h3>

    <p>rpmproc read its configuration from following files:</p>

    <ol>
      <li>system-wide configuration <code>/etc/rpmproc.conf</code></li>

      <li>user-wide configuration <code>$HOME/.rpmprocrc</code></li>

      <li>any other file indicated by command-line option
      <strong>-c</strong></li>
    </ol>

    <p>Redefinig an existing directive supersedes previous definition,
    allowing easy configuration customisation. Morevoer, any number of
    additional directives can be further redefined by command-line
    option <strong>-w</strong>.</p>

    <p>A complete configuration dump can be obtained by command-line
    action <strong>--dump</strong>.</p>

    <h3>directives</h3>

    <p>All directive are name=value pairs, where name is capitalized
    and prefixed by rpmproc task it is related (except for general
    directive which are not prefixed). Binary directives admit 1 for
    true, anything else for false. Multiple values directive use a
    comma-separated list for values.</p>

    <p>Most directives are self-explanatory, and are also commented in
    given configuration file. Some deserve however further
    explanation.</p>

    <p>Target directory directives for local, scp and ftp tasks are
    designed to allow arbitrary splitting of package files. Each
    archicture can have its own <strong>TARGET_DIR_{ARCH}</strong>
    directive, which will only apply to files of given architecture.
    Source package are considered as src architecture in this regard. A
    default <strong>TARGET_DIR</strong> directive, if defined, will
    only apply to all other architectures.</p>

    <p>Furthermore, any <strong>%{key}</strong> token in directive
    value will be expanded as the corresponding tag or macro defined in
    the spec file.</p>

    <p>Exemples:</p>

    <p>
    <code>LOCAL_INSTALL_DIRECTORY=/home/guillaume/public_html/linux/jpackage/%{section}/%{name}</code><br>

     This will result in uploading all files localy in a directory
    whose name depends of the package name tag, itself located in a
    directory named whose name depends of the package section
    macro.</p>

    <p><code>FTP_INSTALL_DIRECTORY_SRC=./incoming</code><br>
     This will result in uploading only source files when using ftp</p>

    <p><code>SCP_INSTALL_DIRECTORY_SRC=/home/plf/www/rpm/src</code><br>
     <code>SCP_INSTALL_DIRECTORY_I586=/home/plf/www/rpm/cooker/i586</code><br>

     <code>SCP_INSTALL_DIRECTORY_NOARCH=/home/plf/www/rpm/cooker/noarch</code><br>

     This will result in uploading source, i586 and noarch files in
    three different locations by scp.</p>

    <p>scp doesn't allow uploading in non-existing directories, so the
    scp task first upload everything in a directory whose existence is
    ensured, then use a temporary script to complete installation. This
    initial directory defaults to user home directory, but it is
    sometimes preferable to use another directory, as on sourceforge
    where quotas differs for user and group home directories. Thus the
    need for <strong>SCP_CONNECTION_DIR</strong> directive.</p>
    for 

    <p><strong>CLEAN_OLD_FILES</strong> directives for local, scp and
    ftp try to figure in target directory which files correspond to
    older versions/releases of the currently uploaded package. They
    apply a set of regexp patterns, depending of current package
    granularity. This means that if package granularity just changed,
    and the subpackage -foo vanished, old -foo subpackage won't be
    deleted.</p>
  </body>
</html>