Sophie

Sophie

distrib > Mageia > 6 > x86_64 > by-pkgid > 16e298361edb3000a9b1c7b2dae804b9 > files > 76

apt-mga-1.4.6-1.mga6.x86_64.rpm

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Chapter 3. Procedural description</title>
    <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <link rel="home" href="index.html" title="The APT project design document"/>
    <link rel="up" href="index.html" title="The APT project design document"/>
    <link rel="prev" href="ch2.html" title="Chapter 2. Requirements"/>
    <link rel="next" href="ch4.html" title="Chapter 4. Modules and interfaces"/>
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Chapter 3. Procedural description</th>
        </tr>
        <tr>
          <td align="left"><a accesskey="p" href="ch2.html">Prev</a> </td>
          <th width="60%" align="center"> </th>
          <td align="right"> <a accesskey="n" href="ch4.html">Next</a></td>
        </tr>
      </table>
      <hr/>
    </div>
    <div class="chapter">
      <div class="titlepage">
        <div>
          <div>
            <h1 class="title"><a id="ch3"/>Chapter 3. Procedural description</h1>
          </div>
        </div>
      </div>
      <div class="variablelist">
        <dl class="variablelist">
          <dt>
            <span class="term">Set Options</span>
          </dt>
          <dd>
            <p>
This process handles setting of user or site options, and configuration of all
aspects of APT. It allows the user to set the location and order of package
sources, allowing them to set up source list details, like ftp site locations,
passwords, etc. Display options may also be set.
</p>
          </dd>
          <dt>
            <span class="term">Updates</span>
          </dt>
          <dd>
            <p>
Build a list of available packages, using source lists or a base location and
trawling for Packages files (needs to be aware of architecture). This may
involve finding and retrieving Packages files, storing them locally for
efficiency, and parsing the data for later use. This would entail contacting
various underlying access modules (ftp, cdrom mounts, etc) Use a backing store
for speed. This may also require downloading the actual package files locally
for speed.
</p>
          </dd>
          <dt>
            <span class="term">Local status</span>
          </dt>
          <dd>
            <p>
Build up a list of packages already installed. This requires reading and
writing the local??  status file. For remote installation, this should
probably use similar mechanisms as the Packages file retrieval does. Use
the backing store for speed. One should consider multiple backing stores,
one for each machine.
</p>
          </dd>
          <dt>
            <span class="term">Relationship determination</span>
          </dt>
          <dd>
            <p>
Determine forward and reverse dependencies. All known dependency fields should
be acted upon, since it is fairly cheap to do so. Update the backing store
with this information.
</p>
          </dd>
          <dt>
            <span class="term">Selection</span>
          </dt>
          <dd>
            <p>
Present the data to the user. Look at Behan Webster's documentation for the
user interface procedures. (Note: In the authors opinion deletions and reverse
dependencies should also be presented to the user, in a strictly symmetric
fashion; this may make it easier to prevent a package being removed that breaks
dependencies)
</p>
          </dd>
          <dt>
            <span class="term">Ordering of package installations and configuration</span>
          </dt>
          <dd>
            <p>
Build a list of events. Simple topological sorting gives order of packages
in dependency order. At certain points in this ordering,
predependencies/immediate configure directives cause an break in normal
ordering. We need to insert the uninstall/purge directive in the stream
(default: as early as possible).
</p>
          </dd>
          <dt>
            <span class="term">Action</span>
          </dt>
          <dd>
            <p>
Take the order of installations and removals and build up a stream of events
to send to the packaging system (dpkg). Execute the list of events if
successful. Do not partially install packages and leave system in broken
state. Go to The Selection step as needed.
</p>
          </dd>
        </dl>
      </div>
    </div>
    <div class="navfooter">
      <hr/>
      <table width="100%" summary="Navigation footer">
        <tr>
          <td align="left"><a accesskey="p" href="ch2.html">Prev</a> </td>
          <td align="center"> </td>
          <td align="right"> <a accesskey="n" href="ch4.html">Next</a></td>
        </tr>
        <tr>
          <td align="left" valign="top">Chapter 2. Requirements </td>
          <td align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td align="right" valign="top"> Chapter 4. Modules and interfaces</td>
        </tr>
      </table>
    </div>
  </body>
</html>