]> git.saurik.com Git - apt.git/blobdiff - doc/method.sgml
Better description
[apt.git] / doc / method.sgml
index 35070d919a1e28730d185450e748bcd850bf2fd6..ae4b713f14f1d75285ce229c0c02ea785678b5b5 100644 (file)
@@ -4,7 +4,7 @@
 <title>APT Method Interface </title>
 
 <author>Jason Gunthorpe <email>jgg@debian.org</email></author>
-<version>$Id: method.sgml,v 1.4 1998/10/30 07:53:49 jgg Exp $</version>
+<version>$Id: method.sgml,v 1.6 1998/12/14 04:00:34 jgg Exp $</version>
 
 <abstract>
 This document describes the interface that APT uses to the archive
@@ -33,7 +33,7 @@ For more details, on Debian GNU/Linux systems, see the file
 
 <p>
 The APT method interface allows APT to acquire archive files (.deb), index
-files (Packages, Revision, Mirrors) and source files (.tar.gz, .diff). It
+files (Packages, Release, Mirrors) and source files (.tar.gz, .diff). It
 is a general, extensible system designed to satisfy all of these
 requirements:
 
@@ -207,6 +207,8 @@ The following is a short index of the header fields that are supported
 <tag>Site<item>String indicating the site authorization is required for
 <tag>User<item>Username for authorization
 <tag>Password<item>Password for authorization
+<tag>Fail<item>Operation failed
+<tag>Drive<item>Drive the media should be placed in
 <tag>Config-Item<item>
 A string of the form <var>item</>=<var>value</> derived from the APT 
 configuration space. These may include method specific values and general
@@ -214,9 +216,8 @@ values not related to the method. It is up to the method to filter out
 the ones it wants.
 <tag>Single-Instance<item>Requires that only one instance of the method be run
                           This is a yes/no value.
-<tag>Pre-Scan<item>Method can detect if archives are already available.
-                   This is a yes/no value.
 <tag>Pipeline<item>The method is capable of pipelining.
+<tag>Local<item>The method only returns Filename: feilds.
 <tag>Send-Config<item>Send configuration to the method.
 <tag>Version<item>Version string for the method
 </taglist>
@@ -279,7 +280,7 @@ Fields: Site
 <tag>403 Media Failure<item>
 A method that deals with multiple media requires that a new media be inserted.
 The Media field contains the name of the media to be inserted.
-Fields: Media
+Fields: Media, Drive
 
 <tag>600 URI Acquire<item>
 APT is requesting that a new URI be added to the acquire list. Last-Modified
@@ -301,14 +302,47 @@ Fields: Site, User, Password
 <tag>603 Media Changed<item>
 This is sent in response to a <em>403 Media Failure</> message. It
 indicates that the user has changed media and it is safe to proceed.
-Fields: Media
+Fields: Media, Fail
 </taglist>
 
 </sect>
                                                                   <!-- }}} -->
-<!-- Examples                                                         {{{ -->
+<!-- Method Notes                                                     {{{ -->
 <!-- ===================================================================== -->
-<sect>Examples
+<sect>Notes
+
+<p>
+The methods supplied by the stock apt are:
+<enumlist>
+<item>cdrom - For Multi-Disc CDROMs
+<item>copy - (internal) For copying files around the filesystem
+<item>file - For local files
+<item>gzip - (internal) For decompression
+<item>http - For HTTP servers
+</enumlist>
+
+<p>
+The two internal methods, copy and gzip, are used by the acquire code to
+parallize and simplify the automatic decompression of package files as well 
+as copying package files around the file system. Both methods can be seen to 
+act the same except that one decompresses on the fly. APT uses them by
+generating a copy URI that is formed identically to a file URI. The destination
+file is send as normal. The method then takes the file specified by the 
+URI and writes it to the destination file. A typical set of operations may
+be:
+<example>
+http://foo.com/Packages.gz -> /bar/Packages.gz
+gzip:/bar/Packages.gz -> /bar/Packages.decomp
+rename Packages.decomp to /final/Packages
+</example>
+
+<p>
+The http method implements a fully featured HTTP/1.1 client that supports
+deep pipelining and reget. It works best when coupled with an apache 1.3
+server. The file method simply generates failures or success responses with
+the filename field set to the proper location. The cdrom method acts the same
+except that it checks that the mount point has a valid cdrom in it. It does 
+this by (effectively) computing a md5 hash of 'ls -l' on the mountpoint.
 
 </sect>
                                                                   <!-- }}} -->