[back]
[Abstract]
[Copyright Notice]
[Contents]
[next]
The APT project design document - Chapter 3
Procedural description
- Set Options
- 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.
- Updates
- 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.
- Local status
- 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.
- Relationship determination
- 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.
- Selection
- 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)
- Ordering of package installations and configuration
- 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).
- Action
- 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 succesful. Do not
partially install packages and leave system in broken
state. Go to The Selection step as needed.
[back]
[Abstract]
[Copyright Notice]
[Contents]
[next]
The APT project design document
$Id: design.sgml,v 1.1 1998/07/02 02:58:12 jgg Exp $
Manoj Srivastava srivasta@debian.org