- initial import of revision 374 from cnc
[apt.git] / doc / examples / configure-index
1 // $Id: configure-index,v 1.8 2003/04/24 03:32:32 doogie Exp $
2 /* This file is an index of all APT configuration directives. It should
3    NOT actually be used as a real config file, though it is a completely
4    valid file. Most of the options have sane default values, unless
5    you have specific needs you should NOT include arbitary items in a custom
6    configuration.
7    
8    In some instances involving filenames it is possible to set the default
9    directory when the path is evaluated. This means you can use relative
10    paths within the sub scope.
11    
12    The configuration directives are specified in a tree with {} designating
13    a subscope relative to the tag before the {}. You can further specify
14    a subscope using scope notation eg,
15      APT::Architecture "i386";
16    This is prefixed with the current scope. Scope notation must be used
17    if an option is specified on the command line with -o.
18 */
19
20 // Options for APT in general
21 APT 
22 {
23   Architecture "i386";
24   Build-Essential "build-essential";
25   
26   // Options for apt-get
27   Get 
28   {
29      Arch-Only "false";
30      Download-Only "false";
31      Simulate "false";
32      Assume-Yes "false";
33      Force-Yes "false";             // I would never set this.
34      Fix-Broken "false";  
35      Fix-Missing "false";     
36      Show-Upgraded "false";
37      Upgrade "true";
38      Print-URIs "false";
39      Compile "false";
40      Download "true";
41      Purge "false";
42      List-Cleanup "true";
43      ReInstall "false";
44      Trivial-Only "false";
45      Remove "true";
46   };
47
48   Cache 
49   {
50      Important "false";
51      AllVersions "false";
52      GivenOnly "false";
53      RecruseDepends "false";
54   };
55
56   CDROM 
57   {
58      Rename "false";
59      NoMount "false";
60      Fast "false";
61      NoAct "false";
62   };
63
64   // Some general options
65   Ignore-Hold "false";
66   Clean-Installed "true";
67   Immediate-Configure "true";      // DO NOT turn this off, see the man page
68   Force-LoopBreak "false";         // DO NOT turn this on, see the man page
69   Cache-Limit "4194304";
70   Default-Release "";
71 };
72
73 // Options for the downloading routines
74 Acquire
75 {
76   Queue-Mode "host";       // host|access
77   Retries "0";
78   Source-Symlinks "true";
79   
80   // HTTP method configuration
81   http 
82   {
83     Proxy "http://127.0.0.1:3128";
84     Proxy::http.us.debian.org "DIRECT";  // Specific per-host setting
85     Timeout "120";
86     Pipeline-Depth "5";
87     
88     // Cache Control. Note these do not work with Squid 2.0.2
89     No-Cache "false";
90     Max-Age "86400";     // 1 Day age on index files
91     No-Store "false";    // Prevent the cache from storing archives    
92   };
93
94   ftp
95   {
96     Proxy "ftp://127.0.0.1/";
97     Proxy::http.us.debian.org "DIRECT"; // Specific per-host setting
98
99     /* Required script to perform proxy login. This example should work
100        for tisfwtk */
101     ProxyLogin
102     {
103        "USER $(PROXY_USER)";
104        "PASS $(PROXY_PASS)";
105        "USER $(SITE_USER)@$(SITE):$(SITE_PORT)";
106        "PASS $(SITE_PASS)";
107     };
108     
109     Timeout "120";
110     
111     /* Passive mode control, proxy, non-proxy and per-host. Pasv mode
112        is prefered if possible */
113     Passive "true";
114     Proxy::Passive "true";
115     Passive::http.us.debian.org "true"; // Specific per-host setting
116   };
117   
118   cdrom
119   {
120     Mount "/cdrom";
121
122     // You need the trailing slash!
123     "/cdrom/"
124     {
125        Mount "sleep 1000";
126        UMount "sleep 500";
127     }
128   };
129 };
130
131 // Directory layout
132 Dir "/"
133 {
134   // Location of the state dir
135   State "var/lib/apt/" 
136   {
137      lists "lists/";
138      xstatus "xstatus";
139      userstatus "status.user";
140      status "/var/lib/dpkg/status";
141      cdroms "cdroms.list";
142   };
143   
144   // Location of the cache dir
145   Cache "var/cache/apt/" {
146      archives "archives/";
147      srcpkgcache "srcpkgcache.bin";
148      pkgcache "pkgcache.bin";     
149   };
150   
151   // Config files
152   Etc "etc/apt/" {
153      sourcelist "sources.list";
154      main "apt.conf";
155      preferences "preferences";     
156   };
157   
158   // Locations of binaries
159   Bin {
160      methods "/usr/lib/apt/methods/";
161      gzip "/bin/gzip";
162      dpkg "/usr/bin/dpkg";
163      dpkg-source "/usr/bin/dpkg-source";
164      dpkg-buildpackage "/usr/bin/dpkg-buildpackage"
165      apt-get "/usr/bin/apt-get";
166      apt-cache "/usr/bin/apt-cache";
167   };
168 };
169
170 // Things that effect the APT dselect method
171 DSelect 
172 {
173    Clean "auto";   // always|auto|prompt|never
174    Options "-f";
175    UpdateOptions "";
176    PromptAfterUpdate "no";
177    CheckDir "no";
178 }
179
180 DPkg 
181 {
182    // Probably don't want to use force-downgrade..
183    Options {"--force-overwrite";"--force-downgrade";}
184    
185    // Auto re-mounting of a readonly /usr
186    Pre-Invoke {"mount -o remount,rw /usr";};
187    Post-Invoke {"mount -o remount,ro /usr";};
188    
189    // Prevents daemons from getting cwd as something mountable (default)
190    Run-Directory "/";
191    
192    // Build options for apt-get source --compile
193    Build-Options "-b -uc";
194
195    // Pre-configure all packages before they are installed using debconf.
196    Pre-Install-Pkgs {"dpkg-preconfigure --apt --priority=low --frontend=dialog";};
197
198    // Flush the contents of stdin before forking dpkg.
199    FlushSTDIN "true";
200
201    // Control the size of the command line passed to dpkg.
202    MaxBytes 1024;
203    MaxArgs 350;
204 }
205
206 /* Options you can set to see some debugging text They correspond to names
207    of classes in the source code */
208 Debug 
209 {
210   pkgProblemResolver "false";
211   pkgAcquire "false";
212   pkgAcquire::Worker "false";
213   pkgDPkgPM "false";
214   pkgOrderList "false";
215   
216   pkgInitialize "false";   // This one will dump the configuration space
217   NoLocking "false";
218   Acquire::Ftp "false";    // Show ftp command traffic
219   Acquire::Http "false";   // Show http command traffic
220   aptcdrom "false";        // Show found package files
221 }
222
223 /* Whatever you do, do not use this configuration file!! Take out ONLY
224    the portions you need! */
225 This Is Not A Valid Config File