APT

Merge lp:~pitti/apt/compressed-indexes into lp:~ubuntu-core-dev/apt/ubuntu

Proposed by Martin Pitt
Status: Rejected
Rejected by: Martin Pitt
Proposed branch: lp:~pitti/apt/compressed-indexes
Merge into: lp:~ubuntu-core-dev/apt/ubuntu
Diff against target: 90174 lines (+26606/-12459) (has conflicts)
118 files modified
apt-inst/contrib/arfile.h (+1/-0)
apt-inst/makefile (+1/-1)
apt-pkg/acquire-item.cc (+40/-5)
apt-pkg/acquire-item.h (+13/-1)
apt-pkg/aptconfiguration.cc (+235/-4)
apt-pkg/aptconfiguration.h (+27/-0)
apt-pkg/contrib/configuration.cc (+11/-11)
apt-pkg/contrib/configuration.h (+19/-18)
apt-pkg/contrib/fileutl.cc (+41/-6)
apt-pkg/contrib/fileutl.h (+6/-3)
apt-pkg/contrib/mmap.cc (+89/-46)
apt-pkg/contrib/mmap.h (+7/-3)
apt-pkg/contrib/strutl.cc (+18/-0)
apt-pkg/contrib/strutl.h (+1/-0)
apt-pkg/deb/debindexfile.cc (+34/-17)
apt-pkg/deb/debindexfile.h (+3/-2)
apt-pkg/deb/deblistparser.cc (+24/-5)
apt-pkg/deb/deblistparser.h (+2/-1)
apt-pkg/deb/debmetaindex.cc (+17/-3)
apt-pkg/deb/debrecords.cc (+9/-3)
apt-pkg/deb/debsrcrecords.cc (+3/-2)
apt-pkg/deb/debsrcrecords.h (+3/-3)
apt-pkg/deb/dpkgpm.cc (+1/-1)
apt-pkg/depcache.cc (+5/-5)
apt-pkg/indexfile.cc (+23/-24)
apt-pkg/init.h (+1/-1)
apt-pkg/makefile (+1/-1)
apt-pkg/pkgcache.cc (+18/-9)
apt-pkg/pkgcache.h (+2/-2)
apt-pkg/policy.cc (+15/-1)
apt-pkg/srcrecords.cc (+2/-2)
apt-pkg/srcrecords.h (+4/-4)
buildlib/apti18n.h.in (+3/-0)
buildlib/library.mak (+7/-7)
buildlib/libversion.mak (+3/-0)
cmdline/apt-cache.cc (+14/-3)
cmdline/apt-get.cc (+7/-5)
cmdline/apt-key (+1/-0)
cmdline/apt-mark (+11/-11)
configure.in (+8/-0)
debian/NEWS (+8/-1)
debian/changelog (+165/-0)
debian/control (+18/-0)
debian/rules (+13/-12)
doc/apt-cdrom.8.xml (+1/-1)
doc/apt-ftparchive.1.xml (+21/-1)
doc/apt.conf.5.xml (+32/-1)
doc/apt_preferences.5.xml (+9/-1)
doc/examples/configure-index (+9/-0)
doc/po/apt-doc.pot (+411/-371)
doc/po/de.po (+462/-373)
doc/po/es.po (+3511/-2616)
doc/po/fr.po (+390/-295)
doc/po/it.po (+284/-257)
doc/po/ja.po (+306/-257)
doc/po/pl.po (+2580/-759)
doc/po/pt_BR.po (+285/-258)
ftparchive/apt-ftparchive.cc (+6/-4)
ftparchive/cachedb.cc (+17/-13)
ftparchive/cachedb.h (+11/-11)
ftparchive/contents.cc (+1/-1)
ftparchive/contents.h (+1/-1)
ftparchive/multicompress.cc (+7/-7)
ftparchive/multicompress.h (+6/-6)
ftparchive/override.cc (+8/-8)
ftparchive/override.h (+5/-5)
ftparchive/writer.cc (+37/-38)
ftparchive/writer.h (+20/-19)
po/ar.po.OTHER (+2896/-0)
po/ast.po (+200/-175)
po/bg.po (+201/-176)
po/bs.po (+193/-172)
po/ca.po (+200/-175)
po/cs.po (+200/-175)
po/cy.po (+200/-173)
po/da.po (+200/-174)
po/de.po (+430/-410)
po/dz.po (+201/-175)
po/el.po (+200/-175)
po/en_GB.po (+256/-231)
po/es.po (+200/-175)
po/eu.po (+200/-175)
po/fi.po (+200/-175)
po/fr.po (+6/-8)
po/gl.po (+200/-175)
po/hu.po (+200/-175)
po/it.po (+16/-7)
po/ja.po (+200/-175)
po/km.po (+201/-175)
po/ko.po (+200/-175)
po/ku.po.OTHER (+2875/-0)
po/lt.po (+200/-178)
po/makefile (+1/-0)
po/mr.po (+200/-175)
po/nb.po (+200/-175)
po/ne.po (+200/-175)
po/nl.po (+329/-312)
po/nn.po (+200/-173)
po/pl.po (+200/-175)
po/pt.po (+200/-175)
po/pt_BR.po (+200/-175)
po/ro.po (+200/-175)
po/ru.po (+202/-188)
po/sk.po (+11/-10)
po/sl.po (+200/-173)
po/sv.po (+200/-175)
po/th.po (+200/-175)
po/tl.po (+200/-174)
po/uk.po.OTHER (+3161/-0)
po/vi.po (+200/-175)
po/zh_CN.po (+200/-174)
po/zh_TW.po (+200/-175)
test/libapt/assert.h (+21/-0)
test/libapt/getlanguages_test.cc (+149/-0)
test/libapt/makefile (+25/-0)
test/libapt/parsedepends_test.cc (+128/-0)
test/libapt/run-tests.sh (+7/-0)
test/test-indexes.sh (+143/-0)
Text conflict in apt-pkg/indexfile.cc
Text conflict in buildlib/libversion.mak
Text conflict in configure.in
Text conflict in debian/changelog
Text conflict in debian/control
Text conflict in doc/po/fr.po
Contents conflict in po/ar.po
Contents conflict in po/ku.po
Contents conflict in po/uk.po
To merge this branch: bzr merge lp:~pitti/apt/compressed-indexes
Reviewer Review Type Date Requested Status
Martin Pitt Needs Fixing
Michael Vogt Pending
Review via email: mp+27342@code.launchpad.net

Description of the change

This branch introduces support for storing gzip-compressed package indexes locally. On my system, this reduces /var/lib/apt/lists/ from 70 MB to 19 MB without introducing noticeable additional latency (mostly because my hard disk is very slow, thus the additional CPU overhead of uncompressing the indexes for building the cache is more than offset by the saved I/O). But even on netbooks or thin clients with fast SSD and slow processor this is an interesting option if the install is very space constrained.

I did not enable this option by default. To use it, one needs to create a file like

$ cat /etc/apt/apt.conf.d/02compress-indexes
Acquire::GzipIndexes "true";
Acquire::CompressionTypes::Order:: "gz";

The second is necessary since the patch deliberately avoids re-compressing downloaded indexes, it just keeps an already gzip compressed index if it gets one.

I also added some test cases for this in test/test-indexes.sh, which run noninteractively and use the local build tree. This tests both uncompressed and compressed indexes with apt-cache and apt-get in various combinations.

Note that although this introduces a new protected member in FileFD, this does _not_ change the ABI of libapt, since FileFD is an internal class only and not exported in libapt-pkg-dev. I ran the abi checker and it gave me a clean bill.

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

Oh, forgot: I based this branch off http://bzr.debian.org/apt/debian-sid/, so lp:apt might not actually be the correct target here. My intention for this is to land in the upstream (Debian) trunk.

FYI, I backported the changes to lucid, and are now running with this version on my desktop (with compressed indexes).

Revision history for this message
Martin Pitt (pitti) wrote :

Ah, seems that lp:apt is indeed quite different, sorry :-( So please ignore the autogenerated diff here, and perhaps just use the bazaar.lp.net links for review?

Revision history for this message
Martin Pitt (pitti) wrote :

Ah, I just discovered some regressions wrt. apt-get source and apt-cache showsrc. I committed test cases for those (r1982), and will re-propose the merge against the correct branch (lp:~mvo/apt/debian-sid should be a good mirror of the Debian one?) once it's fixed.

review: Needs Fixing

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'apt-inst/contrib/arfile.h'
--- apt-inst/contrib/arfile.h 2006-10-02 14:16:54 +0000
+++ apt-inst/contrib/arfile.h 2010-06-11 16:24:33 +0000
@@ -39,6 +39,7 @@
3939
40 // Locate a member by name40 // Locate a member by name
41 const Member *FindMember(const char *Name) const;41 const Member *FindMember(const char *Name) const;
42 inline Member *Members() { return List; }
42 43
43 ARArchive(FileFd &File);44 ARArchive(FileFd &File);
44 ~ARArchive();45 ~ARArchive();
4546
=== modified file 'apt-inst/makefile'
--- apt-inst/makefile 2009-12-14 09:08:27 +0000
+++ apt-inst/makefile 2010-06-11 16:24:33 +0000
@@ -14,7 +14,7 @@
1414
15# The library name15# The library name
16LIBRARY=apt-inst16LIBRARY=apt-inst
17MAJOR=1.117MAJOR=1.2
18MINOR=018MINOR=0
19SLIBS=$(PTHREADLIB) -lapt-pkg19SLIBS=$(PTHREADLIB) -lapt-pkg
20APT_DOMAIN:=libapt-inst$(MAJOR)20APT_DOMAIN:=libapt-inst$(MAJOR)
2121
=== modified file 'apt-pkg/acquire-item.cc'
--- apt-pkg/acquire-item.cc 2010-02-17 21:40:05 +0000
+++ apt-pkg/acquire-item.cc 2010-06-11 16:24:33 +0000
@@ -360,7 +360,7 @@
360 if(last_space != string::npos)360 if(last_space != string::npos)
361 Description.erase(last_space, Description.size()-last_space);361 Description.erase(last_space, Description.size()-last_space);
362 new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc,362 new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc,
363 ExpectedHash, available_patches);363 ExpectedHash, ServerSha1, available_patches);
364 Complete = false;364 Complete = false;
365 Status = StatDone;365 Status = StatDone;
366 Dequeue();366 Dequeue();
@@ -428,9 +428,10 @@
428pkgAcqIndexDiffs::pkgAcqIndexDiffs(pkgAcquire *Owner,428pkgAcqIndexDiffs::pkgAcqIndexDiffs(pkgAcquire *Owner,
429 string URI,string URIDesc,string ShortDesc,429 string URI,string URIDesc,string ShortDesc,
430 HashString ExpectedHash, 430 HashString ExpectedHash,
431 string ServerSha1,
431 vector<DiffInfo> diffs)432 vector<DiffInfo> diffs)
432 : Item(Owner), RealURI(URI), ExpectedHash(ExpectedHash), 433 : Item(Owner), RealURI(URI), ExpectedHash(ExpectedHash),
433 available_patches(diffs)434 available_patches(diffs), ServerSha1(ServerSha1)
434{435{
435 436
436 DestFile = _config->FindDir("Dir::State::lists") + "partial/";437 DestFile = _config->FindDir("Dir::State::lists") + "partial/";
@@ -516,6 +517,13 @@
516 std::clog << "QueueNextDiff: " 517 std::clog << "QueueNextDiff: "
517 << FinalFile << " (" << local_sha1 << ")"<<std::endl;518 << FinalFile << " (" << local_sha1 << ")"<<std::endl;
518519
520 // final file reached before all patches are applied
521 if(local_sha1 == ServerSha1)
522 {
523 Finish(true);
524 return true;
525 }
526
519 // remove all patches until the next matching patch is found527 // remove all patches until the next matching patch is found
520 // this requires the Index file to be ordered528 // this requires the Index file to be ordered
521 for(vector<DiffInfo>::iterator I=available_patches.begin();529 for(vector<DiffInfo>::iterator I=available_patches.begin();
@@ -613,7 +621,7 @@
613 // see if there is more to download621 // see if there is more to download
614 if(available_patches.size() > 0) {622 if(available_patches.size() > 0) {
615 new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc,623 new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc,
616 ExpectedHash, available_patches);624 ExpectedHash, ServerSha1, available_patches);
617 return Finish();625 return Finish();
618 } else 626 } else
619 return Finish(true);627 return Finish(true);
@@ -662,6 +670,8 @@
662{670{
663 string Final = _config->FindDir("Dir::State::lists");671 string Final = _config->FindDir("Dir::State::lists");
664 Final += URItoFileName(RealURI);672 Final += URItoFileName(RealURI);
673 if (_config->FindB("Acquire::GzipIndexes",false))
674 Final += ".gz";
665 675
666 struct stat Buf;676 struct stat Buf;
667 if (stat(Final.c_str(),&Buf) != 0)677 if (stat(Final.c_str(),&Buf) != 0)
@@ -791,6 +801,21 @@
791 string compExt = flExtension(flNotDir(URI(Desc.URI).Path));801 string compExt = flExtension(flNotDir(URI(Desc.URI).Path));
792 string decompProg;802 string decompProg;
793803
804 // If we enable compressed indexes and already have gzip, keep it
805 if (_config->FindB("Acquire::GzipIndexes",false) && compExt == "gz") {
806 string FinalFile = _config->FindDir("Dir::State::lists");
807 FinalFile += URItoFileName(RealURI) + ".gz";
808 //if(Debug)
809 // std::clog << "pkgAcqIndex: keeping gzipped " << FinalFile << endl;
810 Rename(DestFile,FinalFile);
811 chmod(FinalFile.c_str(),0644);
812
813 // Update DestFile for .gz suffix so that the clean operation keeps it
814 DestFile = _config->FindDir("Dir::State::lists") + "partial/";
815 DestFile += URItoFileName(RealURI) + ".gz";
816 return;
817 }
818
794 // get the binary name for your used compression type819 // get the binary name for your used compression type
795 decompProg = _config->Find(string("Acquire::CompressionTypes::").append(compExt),"");820 decompProg = _config->Find(string("Acquire::CompressionTypes::").append(compExt),"");
796 if(decompProg.empty() == false);821 if(decompProg.empty() == false);
@@ -1591,8 +1616,9 @@
1591/* The file is added to the queue */1616/* The file is added to the queue */
1592pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash,1617pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash,
1593 unsigned long Size,string Dsc,string ShortDesc,1618 unsigned long Size,string Dsc,string ShortDesc,
1594 const string &DestDir, const string &DestFilename) :1619 const string &DestDir, const string &DestFilename,
1595 Item(Owner), ExpectedHash(Hash)1620 bool IsIndexFile) :
1621 Item(Owner), ExpectedHash(Hash), IsIndexFile(IsIndexFile)
1596{1622{
1597 Retries = _config->FindI("Acquire::Retries",0);1623 Retries = _config->FindI("Acquire::Retries",0);
1598 1624
@@ -1707,3 +1733,12 @@
1707 Item::Failed(Message,Cnf);1733 Item::Failed(Message,Cnf);
1708}1734}
1709 /*}}}*/1735 /*}}}*/
1736// AcqIndex::Custom600Headers - Insert custom request headers /*{{{*/
1737// ---------------------------------------------------------------------
1738/* The only header we use is the last-modified header. */
1739string pkgAcqFile::Custom600Headers()
1740{
1741 if (IsIndexFile)
1742 return "\nIndex-File: true";
1743}
1744 /*}}}*/
17101745
=== modified file 'apt-pkg/acquire-item.h'
--- apt-pkg/acquire-item.h 2009-09-23 15:26:43 +0000
+++ apt-pkg/acquire-item.h 2010-06-11 16:24:33 +0000
@@ -434,6 +434,10 @@
434 * off the front?434 * off the front?
435 */435 */
436 vector<DiffInfo> available_patches;436 vector<DiffInfo> available_patches;
437
438 /** Stop applying patches when reaching that sha1 */
439 string ServerSha1;
440
437 /** The current status of this patch. */441 /** The current status of this patch. */
438 enum DiffState442 enum DiffState
439 {443 {
@@ -487,6 +491,7 @@
487 */491 */
488 pkgAcqIndexDiffs(pkgAcquire *Owner,string URI,string URIDesc,492 pkgAcqIndexDiffs(pkgAcquire *Owner,string URI,string URIDesc,
489 string ShortDesc, HashString ExpectedHash,493 string ShortDesc, HashString ExpectedHash,
494 string ServerSha1,
490 vector<DiffInfo> diffs=vector<DiffInfo>());495 vector<DiffInfo> diffs=vector<DiffInfo>());
491};496};
492 /*}}}*/497 /*}}}*/
@@ -868,6 +873,9 @@
868 */873 */
869 unsigned int Retries;874 unsigned int Retries;
870 875
876 /** \brief Should this file be considered a index file */
877 bool IsIndexFile;
878
871 public:879 public:
872 880
873 // Specialized action members881 // Specialized action members
@@ -876,6 +884,7 @@
876 pkgAcquire::MethodConfig *Cnf);884 pkgAcquire::MethodConfig *Cnf);
877 virtual string DescURI() {return Desc.URI;};885 virtual string DescURI() {return Desc.URI;};
878 virtual string HashSum() {return ExpectedHash.toStr(); };886 virtual string HashSum() {return ExpectedHash.toStr(); };
887 virtual string Custom600Headers();
879888
880 /** \brief Create a new pkgAcqFile object.889 /** \brief Create a new pkgAcqFile object.
881 *890 *
@@ -899,6 +908,8 @@
899 *908 *
900 * \param DestFilename The filename+path the file is downloaded to.909 * \param DestFilename The filename+path the file is downloaded to.
901 *910 *
911 * \param IsIndexFile The file is considered a IndexFile and cache-control
912 * headers like "cache-control: max-age=0" are send
902 *913 *
903 * If DestFilename is empty, download to DestDir/<basename> if914 * If DestFilename is empty, download to DestDir/<basename> if
904 * DestDir is non-empty, $CWD/<basename> otherwise. If915 * DestDir is non-empty, $CWD/<basename> otherwise. If
@@ -908,7 +919,8 @@
908919
909 pkgAcqFile(pkgAcquire *Owner, string URI, string Hash, unsigned long Size,920 pkgAcqFile(pkgAcquire *Owner, string URI, string Hash, unsigned long Size,
910 string Desc, string ShortDesc,921 string Desc, string ShortDesc,
911 const string &DestDir="", const string &DestFilename="");922 const string &DestDir="", const string &DestFilename="",
923 bool IsIndexFile=false);
912};924};
913 /*}}}*/925 /*}}}*/
914/** @} */926/** @} */
915927
=== modified file 'apt-pkg/aptconfiguration.cc'
--- apt-pkg/aptconfiguration.cc 2009-09-08 13:02:15 +0000
+++ apt-pkg/aptconfiguration.cc 2010-06-11 16:24:33 +0000
@@ -8,13 +8,18 @@
8 ##################################################################### */8 ##################################################################### */
9 /*}}}*/9 /*}}}*/
10// Include Files /*{{{*/10// Include Files /*{{{*/
11#include <apt-pkg/fileutl.h>
12#include <apt-pkg/aptconfiguration.h>11#include <apt-pkg/aptconfiguration.h>
13#include <apt-pkg/configuration.h>12#include <apt-pkg/configuration.h>
1413#include <apt-pkg/fileutl.h>
14#include <apt-pkg/macros.h>
15#include <apt-pkg/strutl.h>
16
17#include <sys/types.h>
18#include <dirent.h>
19
20#include <algorithm>
21#include <string>
15#include <vector>22#include <vector>
16#include <string>
17#include <algorithm>
18 /*}}}*/23 /*}}}*/
19namespace APT {24namespace APT {
20// getCompressionTypes - Return Vector of usbale compressiontypes /*{{{*/25// getCompressionTypes - Return Vector of usbale compressiontypes /*{{{*/
@@ -87,4 +92,230 @@
87 return types;92 return types;
88}93}
89 /*}}}*/94 /*}}}*/
95// GetLanguages - Return Vector of Language Codes /*{{{*/
96// ---------------------------------------------------------------------
97/* return a vector of language codes in the prefered order.
98 the special word "environment" will be replaced with the long and the short
99 code of the local settings and it will be insured that this will not add
100 duplicates. So in an german local the setting "environment, de_DE, en, de"
101 will result in "de_DE, de, en".
102 The special word "none" is the stopcode for the not-All code vector */
103std::vector<std::string> const Configuration::getLanguages(bool const &All,
104 bool const &Cached, char const ** const Locale) {
105 using std::string;
106
107 // The detection is boring and has a lot of cornercases,
108 // so we cache the results to calculated it only once.
109 std::vector<string> static allCodes;
110 std::vector<string> static codes;
111
112 // we have something in the cache
113 if (codes.empty() == false || allCodes.empty() == false) {
114 if (Cached == true) {
115 if(All == true && allCodes.empty() == false)
116 return allCodes;
117 else
118 return codes;
119 } else {
120 allCodes.clear();
121 codes.clear();
122 }
123 }
124
125 // Include all Language codes we have a Translation file for in /var/lib/apt/lists
126 // so they will be all included in the Cache.
127 std::vector<string> builtin;
128 DIR *D = opendir(_config->FindDir("Dir::State::lists").c_str());
129 if (D != 0) {
130 builtin.push_back("none");
131 for (struct dirent *Ent = readdir(D); Ent != 0; Ent = readdir(D)) {
132 string const name = Ent->d_name;
133 size_t const foundDash = name.rfind("-");
134 size_t const foundUnderscore = name.rfind("_");
135 if (foundDash == string::npos || foundUnderscore == string::npos ||
136 foundDash <= foundUnderscore ||
137 name.substr(foundUnderscore+1, foundDash-(foundUnderscore+1)) != "Translation")
138 continue;
139 string const c = name.substr(foundDash+1);
140 if (unlikely(c.empty() == true) || c == "en")
141 continue;
142 // Skip unusual files, like backups or that alike
143 string::const_iterator s = c.begin();
144 for (;s != c.end(); ++s) {
145 if (isalpha(*s) == 0)
146 break;
147 }
148 if (s != c.end())
149 continue;
150 if (std::find(builtin.begin(), builtin.end(), c) != builtin.end())
151 continue;
152 builtin.push_back(c);
153 }
154 }
155
156 // get the environment language codes: LC_MESSAGES (and later LANGUAGE)
157 // we extract both, a long and a short code and then we will
158 // check if we actually need both (rare) or if the short is enough
159 string const envMsg = string(Locale == 0 ? std::setlocale(LC_MESSAGES, NULL) : *Locale);
160 size_t const lenShort = (envMsg.find('_') != string::npos) ? envMsg.find('_') : 2;
161 size_t const lenLong = (envMsg.find_first_of(".@") != string::npos) ? envMsg.find_first_of(".@") : (lenShort + 3);
162
163 string envLong = envMsg.substr(0,lenLong);
164 string const envShort = envLong.substr(0,lenShort);
165 bool envLongIncluded = true;
166
167 // first cornercase: LANG=C, so we use only "en" Translation
168 if (envLong == "C") {
169 codes.push_back("en");
170 allCodes = codes;
171 allCodes.insert(allCodes.end(), builtin.begin(), builtin.end());
172 if (All == true)
173 return allCodes;
174 else
175 return codes;
176 }
177
178 // to save the servers from unneeded queries, we only try also long codes
179 // for languages it is realistic to have a long code translation file…
180 // TODO: Improve translation acquire system to drop them dynamic
181 char const *needLong[] = { "cs", "en", "pt", "sv", "zh", NULL };
182 if (envLong != envShort) {
183 for (char const **l = needLong; *l != NULL; l++)
184 if (envShort.compare(*l) == 0) {
185 envLongIncluded = false;
186 break;
187 }
188 }
189
190 // we don't add the long code, but we allow the user to do so
191 if (envLongIncluded == true)
192 envLong.clear();
193
194 // FIXME: Remove support for the old APT::Acquire::Translation
195 // it was undocumented and so it should be not very widthly used
196 string const oldAcquire = _config->Find("APT::Acquire::Translation","");
197 if (oldAcquire.empty() == false && oldAcquire != "environment") {
198 if (oldAcquire != "none")
199 codes.push_back(oldAcquire);
200 codes.push_back("en");
201 allCodes = codes;
202 for (std::vector<string>::const_iterator b = builtin.begin();
203 b != builtin.end(); ++b)
204 if (std::find(allCodes.begin(), allCodes.end(), *b) == allCodes.end())
205 allCodes.push_back(*b);
206 if (All == true)
207 return allCodes;
208 else
209 return codes;
210 }
211
212 // It is very likely we will need to environment codes later,
213 // so let us generate them now from LC_MESSAGES and LANGUAGE
214 std::vector<string> environment;
215 // take care of LC_MESSAGES
216 if (envLongIncluded == false)
217 environment.push_back(envLong);
218 environment.push_back(envShort);
219 // take care of LANGUAGE
220 const char *language_env = getenv("LANGUAGE") == 0 ? "" : getenv("LANGUAGE");
221 string envLang = Locale == 0 ? language_env : *(Locale+1);
222 if (envLang.empty() == false) {
223 std::vector<string> env = ExplodeString(envLang,':');
224 short addedLangs = 0; // add a maximum of 3 fallbacks from the environment
225 for (std::vector<string>::const_iterator e = env.begin();
226 e != env.end() && addedLangs < 3; ++e) {
227 if (unlikely(e->empty() == true) || *e == "en")
228 continue;
229 if (*e == envLong || *e == envShort)
230 continue;
231 if (std::find(environment.begin(), environment.end(), *e) != environment.end())
232 continue;
233 if (e->find('_') != string::npos) {
234 // Drop LongCodes here - ShortCodes are also included
235 string const shorty = e->substr(0, e->find('_'));
236 char const **n = needLong;
237 for (; *n != NULL; ++n)
238 if (shorty == *n)
239 break;
240 if (*n == NULL)
241 continue;
242 }
243 ++addedLangs;
244 environment.push_back(*e);
245 }
246 }
247
248 // Support settings like Acquire::Translation=none on the command line to
249 // override the configuration settings vector of languages.
250 string const forceLang = _config->Find("Acquire::Languages","");
251 if (forceLang.empty() == false) {
252 if (forceLang == "environment") {
253 codes = environment;
254 } else if (forceLang != "none")
255 codes.push_back(forceLang);
256 allCodes = codes;
257 for (std::vector<string>::const_iterator b = builtin.begin();
258 b != builtin.end(); ++b)
259 if (std::find(allCodes.begin(), allCodes.end(), *b) == allCodes.end())
260 allCodes.push_back(*b);
261 if (All == true)
262 return allCodes;
263 else
264 return codes;
265 }
266
267 std::vector<string> const lang = _config->FindVector("Acquire::Languages");
268 // the default setting -> "environment, en"
269 if (lang.empty() == true) {
270 codes = environment;
271 if (envShort != "en")
272 codes.push_back("en");
273 allCodes = codes;
274 for (std::vector<string>::const_iterator b = builtin.begin();
275 b != builtin.end(); ++b)
276 if (std::find(allCodes.begin(), allCodes.end(), *b) == allCodes.end())
277 allCodes.push_back(*b);
278 if (All == true)
279 return allCodes;
280 else
281 return codes;
282 }
283
284 // the configs define the order, so add the environment
285 // then needed and ensure the codes are not listed twice.
286 bool noneSeen = false;
287 for (std::vector<string>::const_iterator l = lang.begin();
288 l != lang.end(); l++) {
289 if (*l == "environment") {
290 for (std::vector<string>::const_iterator e = environment.begin();
291 e != environment.end(); ++e) {
292 if (std::find(allCodes.begin(), allCodes.end(), *e) != allCodes.end())
293 continue;
294 if (noneSeen == false)
295 codes.push_back(*e);
296 allCodes.push_back(*e);
297 }
298 continue;
299 } else if (*l == "none") {
300 noneSeen = true;
301 continue;
302 } else if (std::find(allCodes.begin(), allCodes.end(), *l) != allCodes.end())
303 continue;
304
305 if (noneSeen == false)
306 codes.push_back(*l);
307 allCodes.push_back(*l);
308 }
309
310 for (std::vector<string>::const_iterator b = builtin.begin();
311 b != builtin.end(); ++b)
312 if (std::find(allCodes.begin(), allCodes.end(), *b) == allCodes.end())
313 allCodes.push_back(*b);
314
315 if (All == true)
316 return allCodes;
317 else
318 return codes;
319}
320 /*}}}*/
90}321}
91322
=== modified file 'apt-pkg/aptconfiguration.h'
--- apt-pkg/aptconfiguration.h 2009-08-25 13:32:40 +0000
+++ apt-pkg/aptconfiguration.h 2010-06-11 16:24:33 +0000
@@ -39,6 +39,33 @@
39 * \return a vector of (all) Language Codes in the prefered usage order39 * \return a vector of (all) Language Codes in the prefered usage order
40 */40 */
41 std::vector<std::string> static const getCompressionTypes(bool const &Cached = true);41 std::vector<std::string> static const getCompressionTypes(bool const &Cached = true);
42
43 /** \brief Returns a vector of Language Codes
44 *
45 * Languages can be defined with their two or five chars long code.
46 * This methods handles the various ways to set the prefered codes,
47 * honors the environment and ensures that the codes are not listed twice.
48 *
49 * The special word "environment" will be replaced with the long and the short
50 * code of the local settings and it will be insured that this will not add
51 * duplicates. So in an german local the setting "environment, de_DE, en, de"
52 * will result in "de_DE, de, en".
53 *
54 * Another special word is "none" which separates the prefered from all codes
55 * in this setting. So setting and method can be used to get codes the user want
56 * to see or to get all language codes APT (should) have Translations available.
57 *
58 * \param All return all codes or only codes for languages we want to use
59 * \param Cached saves the result so we need to calculated it only once
60 * this parameter should ony be used for testing purposes.
61 * \param Locale don't get the locale from the system but use this one instead
62 * this parameter should ony be used for testing purposes.
63 *
64 * \return a vector of (all) Language Codes in the prefered usage order
65 */
66 std::vector<std::string> static const getLanguages(bool const &All = false,
67 bool const &Cached = true, char const ** const Locale = 0);
68
42 /*}}}*/69 /*}}}*/
43};70};
44 /*}}}*/71 /*}}}*/
4572
=== modified file 'apt-pkg/contrib/configuration.cc'
--- apt-pkg/contrib/configuration.cc 2010-02-17 21:40:05 +0000
+++ apt-pkg/contrib/configuration.cc 2010-06-11 16:24:33 +0000
@@ -79,7 +79,7 @@
79/* This will lookup a single item by name below another item. It is a 79/* This will lookup a single item by name below another item. It is a
80 helper function for the main lookup function */80 helper function for the main lookup function */
81Configuration::Item *Configuration::Lookup(Item *Head,const char *S,81Configuration::Item *Configuration::Lookup(Item *Head,const char *S,
82 unsigned long Len,bool Create)82 unsigned long const &Len,bool const &Create)
83{83{
84 int Res = 1;84 int Res = 1;
85 Item *I = Head->Child;85 Item *I = Head->Child;
@@ -112,7 +112,7 @@
112// ---------------------------------------------------------------------112// ---------------------------------------------------------------------
113/* This performs a fully scoped lookup of a given name, possibly creating113/* This performs a fully scoped lookup of a given name, possibly creating
114 new items */114 new items */
115Configuration::Item *Configuration::Lookup(const char *Name,bool Create)115Configuration::Item *Configuration::Lookup(const char *Name,bool const &Create)
116{116{
117 if (Name == 0)117 if (Name == 0)
118 return Root->Child;118 return Root->Child;
@@ -239,7 +239,7 @@
239// Configuration::FindI - Find an integer value /*{{{*/239// Configuration::FindI - Find an integer value /*{{{*/
240// ---------------------------------------------------------------------240// ---------------------------------------------------------------------
241/* */241/* */
242int Configuration::FindI(const char *Name,int Default) const242int Configuration::FindI(const char *Name,int const &Default) const
243{243{
244 const Item *Itm = Lookup(Name);244 const Item *Itm = Lookup(Name);
245 if (Itm == 0 || Itm->Value.empty() == true)245 if (Itm == 0 || Itm->Value.empty() == true)
@@ -256,7 +256,7 @@
256// Configuration::FindB - Find a boolean type /*{{{*/256// Configuration::FindB - Find a boolean type /*{{{*/
257// ---------------------------------------------------------------------257// ---------------------------------------------------------------------
258/* */258/* */
259bool Configuration::FindB(const char *Name,bool Default) const259bool Configuration::FindB(const char *Name,bool const &Default) const
260{260{
261 const Item *Itm = Lookup(Name);261 const Item *Itm = Lookup(Name);
262 if (Itm == 0 || Itm->Value.empty() == true)262 if (Itm == 0 || Itm->Value.empty() == true)
@@ -332,7 +332,7 @@
332// Configuration::Set - Set an integer value /*{{{*/332// Configuration::Set - Set an integer value /*{{{*/
333// ---------------------------------------------------------------------333// ---------------------------------------------------------------------
334/* */334/* */
335void Configuration::Set(const char *Name,int Value)335void Configuration::Set(const char *Name,int const &Value)
336{336{
337 Item *Itm = Lookup(Name,true);337 Item *Itm = Lookup(Name,true);
338 if (Itm == 0)338 if (Itm == 0)
@@ -345,7 +345,7 @@
345// Configuration::Clear - Clear an single value from a list /*{{{*/345// Configuration::Clear - Clear an single value from a list /*{{{*/
346// ---------------------------------------------------------------------346// ---------------------------------------------------------------------
347/* */347/* */
348void Configuration::Clear(const string Name, int Value)348void Configuration::Clear(string const &Name, int const &Value)
349{349{
350 char S[300];350 char S[300];
351 snprintf(S,sizeof(S),"%i",Value);351 snprintf(S,sizeof(S),"%i",Value);
@@ -355,7 +355,7 @@
355// Configuration::Clear - Clear an single value from a list /*{{{*/355// Configuration::Clear - Clear an single value from a list /*{{{*/
356// ---------------------------------------------------------------------356// ---------------------------------------------------------------------
357/* */357/* */
358void Configuration::Clear(const string Name, string Value)358void Configuration::Clear(string const &Name, string const &Value)
359{359{
360 Item *Top = Lookup(Name.c_str(),false);360 Item *Top = Lookup(Name.c_str(),false);
361 if (Top == 0 || Top->Child == 0)361 if (Top == 0 || Top->Child == 0)
@@ -386,7 +386,7 @@
386// Configuration::Clear - Clear an entire tree /*{{{*/386// Configuration::Clear - Clear an entire tree /*{{{*/
387// ---------------------------------------------------------------------387// ---------------------------------------------------------------------
388/* */388/* */
389void Configuration::Clear(string Name)389void Configuration::Clear(string const &Name)
390{390{
391 Item *Top = Lookup(Name.c_str(),false);391 Item *Top = Lookup(Name.c_str(),false);
392 if (Top == 0) 392 if (Top == 0)
@@ -501,8 +501,8 @@
501 sections like 'zone "foo.org" { .. };' This causes each section to be501 sections like 'zone "foo.org" { .. };' This causes each section to be
502 added in with a tag like "zone::foo.org" instead of being split 502 added in with a tag like "zone::foo.org" instead of being split
503 tag/value. AsSectional enables Sectional parsing.*/503 tag/value. AsSectional enables Sectional parsing.*/
504bool ReadConfigFile(Configuration &Conf,const string &FName,bool AsSectional,504bool ReadConfigFile(Configuration &Conf,const string &FName,bool const &AsSectional,
505 unsigned Depth)505 unsigned const &Depth)
506{ 506{
507 // Open the stream for reading507 // Open the stream for reading
508 ifstream F(FName.c_str(),ios::in); 508 ifstream F(FName.c_str(),ios::in);
@@ -830,7 +830,7 @@
830// ---------------------------------------------------------------------830// ---------------------------------------------------------------------
831/* */831/* */
832bool ReadConfigDir(Configuration &Conf,const string &Dir,832bool ReadConfigDir(Configuration &Conf,const string &Dir,
833 bool AsSectional, unsigned Depth)833 bool const &AsSectional, unsigned const &Depth)
834{834{
835 vector<string> const List = GetListOfFilesInDir(Dir, "conf", true, true);835 vector<string> const List = GetListOfFilesInDir(Dir, "conf", true, true);
836836
837837
=== modified file 'apt-pkg/contrib/configuration.h'
--- apt-pkg/contrib/configuration.h 2009-09-23 15:26:43 +0000
+++ apt-pkg/contrib/configuration.h 2010-06-11 16:24:33 +0000
@@ -58,8 +58,8 @@
58 Item *Root;58 Item *Root;
59 bool ToFree;59 bool ToFree;
60 60
61 Item *Lookup(Item *Head,const char *S,unsigned long Len,bool Create);61 Item *Lookup(Item *Head,const char *S,unsigned long const &Len,bool const &Create);
62 Item *Lookup(const char *Name,bool Create); 62 Item *Lookup(const char *Name,const bool &Create);
63 inline const Item *Lookup(const char *Name) const63 inline const Item *Lookup(const char *Name) const
64 {64 {
65 return ((Configuration *)this)->Lookup(Name,false);65 return ((Configuration *)this)->Lookup(Name,false);
@@ -68,32 +68,33 @@
68 public:68 public:
6969
70 string Find(const char *Name,const char *Default = 0) const;70 string Find(const char *Name,const char *Default = 0) const;
71 string Find(const string Name,const char *Default = 0) const {return Find(Name.c_str(),Default);};71 string Find(string const &Name,const char *Default = 0) const {return Find(Name.c_str(),Default);};
72 string Find(string const &Name, string const &Default) const {return Find(Name.c_str(),Default.c_str());};
72 string FindFile(const char *Name,const char *Default = 0) const;73 string FindFile(const char *Name,const char *Default = 0) const;
73 string FindDir(const char *Name,const char *Default = 0) const;74 string FindDir(const char *Name,const char *Default = 0) const;
74 std::vector<string> FindVector(const string &Name) const;75 std::vector<string> FindVector(string const &Name) const;
75 std::vector<string> FindVector(const char *Name) const;76 std::vector<string> FindVector(const char *Name) const;
76 int FindI(const char *Name,int Default = 0) const;77 int FindI(const char *Name,int const &Default = 0) const;
77 int FindI(const string Name,int Default = 0) const {return FindI(Name.c_str(),Default);};78 int FindI(string const &Name,int const &Default = 0) const {return FindI(Name.c_str(),Default);};
78 bool FindB(const char *Name,bool Default = false) const;79 bool FindB(const char *Name,bool const &Default = false) const;
79 bool FindB(const string Name,bool Default = false) const {return FindB(Name.c_str(),Default);};80 bool FindB(string const &Name,bool const &Default = false) const {return FindB(Name.c_str(),Default);};
80 string FindAny(const char *Name,const char *Default = 0) const;81 string FindAny(const char *Name,const char *Default = 0) const;
81 82
82 inline void Set(const string Name,string Value) {Set(Name.c_str(),Value);};83 inline void Set(const string &Name,const string &Value) {Set(Name.c_str(),Value);};
83 void CndSet(const char *Name,const string &Value);84 void CndSet(const char *Name,const string &Value);
84 void Set(const char *Name,const string &Value);85 void Set(const char *Name,const string &Value);
85 void Set(const char *Name,int Value); 86 void Set(const char *Name,const int &Value);
86 87
87 inline bool Exists(const string Name) const {return Exists(Name.c_str());};88 inline bool Exists(const string &Name) const {return Exists(Name.c_str());};
88 bool Exists(const char *Name) const;89 bool Exists(const char *Name) const;
89 bool ExistsAny(const char *Name) const;90 bool ExistsAny(const char *Name) const;
9091
91 // clear a whole tree92 // clear a whole tree
92 void Clear(const string Name);93 void Clear(const string &Name);
9394
94 // remove a certain value from a list (e.g. the list of "APT::Keep-Fds")95 // remove a certain value from a list (e.g. the list of "APT::Keep-Fds")
95 void Clear(const string List, string Value);96 void Clear(string const &List, string const &Value);
96 void Clear(const string List, int Value);97 void Clear(string const &List, int const &Value);
9798
98 inline const Item *Tree(const char *Name) const {return Lookup(Name);};99 inline const Item *Tree(const char *Name) const {return Lookup(Name);};
99100
@@ -108,11 +109,11 @@
108extern Configuration *_config;109extern Configuration *_config;
109110
110bool ReadConfigFile(Configuration &Conf,const string &FName,111bool ReadConfigFile(Configuration &Conf,const string &FName,
111 bool AsSectional = false,112 bool const &AsSectional = false,
112 unsigned Depth = 0);113 unsigned const &Depth = 0);
113114
114bool ReadConfigDir(Configuration &Conf,const string &Dir,115bool ReadConfigDir(Configuration &Conf,const string &Dir,
115 bool AsSectional = false,116 bool const &AsSectional = false,
116 unsigned Depth = 0);117 unsigned const &Depth = 0);
117118
118#endif119#endif
119120
=== modified file 'apt-pkg/contrib/fileutl.cc'
--- apt-pkg/contrib/fileutl.cc 2010-02-17 21:40:05 +0000
+++ apt-pkg/contrib/fileutl.cc 2010-06-11 16:24:33 +0000
@@ -11,6 +11,7 @@
11 Most of this source is placed in the Public Domain, do with it what 11 Most of this source is placed in the Public Domain, do with it what
12 you will12 you will
13 It was originally written by Jason Gunthorpe <jgg@debian.org>.13 It was originally written by Jason Gunthorpe <jgg@debian.org>.
14 FileFd gzip support added by Martin Pitt <martin.pitt@canonical.com>
14 15
15 The exception is RunScripts() it is under the GPLv216 The exception is RunScripts() it is under the GPLv2
1617
@@ -603,6 +604,13 @@
603 {604 {
604 case ReadOnly:605 case ReadOnly:
605 iFd = open(FileName.c_str(),O_RDONLY);606 iFd = open(FileName.c_str(),O_RDONLY);
607 if (iFd > 0 && FileName.compare(FileName.size()-3, 3, ".gz") == 0) {
608 gz = gzdopen (iFd, "r");
609 if (gz == NULL) {
610 close (iFd);
611 iFd = -1;
612 }
613 }
606 break;614 break;
607 615
608 case WriteEmpty:616 case WriteEmpty:
@@ -658,7 +666,10 @@
658 666
659 do667 do
660 {668 {
661 Res = read(iFd,To,Size);669 if (gz != NULL)
670 Res = gzread(gz,To,Size);
671 else
672 Res = read(iFd,To,Size);
662 if (Res < 0 && errno == EINTR)673 if (Res < 0 && errno == EINTR)
663 continue;674 continue;
664 if (Res < 0)675 if (Res < 0)
@@ -697,7 +708,10 @@
697 errno = 0;708 errno = 0;
698 do709 do
699 {710 {
700 Res = write(iFd,From,Size);711 if (gz != NULL)
712 Res = gzwrite(gz,From,Size);
713 else
714 Res = write(iFd,From,Size);
701 if (Res < 0 && errno == EINTR)715 if (Res < 0 && errno == EINTR)
702 continue;716 continue;
703 if (Res < 0)717 if (Res < 0)
@@ -723,7 +737,12 @@
723/* */737/* */
724bool FileFd::Seek(unsigned long To)738bool FileFd::Seek(unsigned long To)
725{739{
726 if (lseek(iFd,To,SEEK_SET) != (signed)To)740 int res;
741 if (gz)
742 res = gzseek(gz,To,SEEK_SET);
743 else
744 res = lseek(iFd,To,SEEK_SET);
745 if (res != (signed)To)
727 {746 {
728 Flags |= Fail;747 Flags |= Fail;
729 return _error->Error("Unable to seek to %lu",To);748 return _error->Error("Unable to seek to %lu",To);
@@ -737,7 +756,12 @@
737/* */756/* */
738bool FileFd::Skip(unsigned long Over)757bool FileFd::Skip(unsigned long Over)
739{758{
740 if (lseek(iFd,Over,SEEK_CUR) < 0)759 int res;
760 if (gz)
761 res = gzseek(gz,Over,SEEK_CUR);
762 else
763 res = lseek(iFd,Over,SEEK_CUR);
764 if (res < 0)
741 {765 {
742 Flags |= Fail;766 Flags |= Fail;
743 return _error->Error("Unable to seek ahead %lu",Over);767 return _error->Error("Unable to seek ahead %lu",Over);
@@ -751,6 +775,11 @@
751/* */775/* */
752bool FileFd::Truncate(unsigned long To)776bool FileFd::Truncate(unsigned long To)
753{777{
778 if (gz)
779 {
780 Flags |= Fail;
781 return _error->Error("Truncating gzipped files is not implemented (%s)", FileName.c_str());
782 }
754 if (ftruncate(iFd,To) != 0)783 if (ftruncate(iFd,To) != 0)
755 {784 {
756 Flags |= Fail;785 Flags |= Fail;
@@ -765,7 +794,11 @@
765/* */794/* */
766unsigned long FileFd::Tell()795unsigned long FileFd::Tell()
767{796{
768 off_t Res = lseek(iFd,0,SEEK_CUR);797 off_t Res;
798 if (gz)
799 Res = gztell(gz);
800 else
801 Res = lseek(iFd,0,SEEK_CUR);
769 if (Res == (off_t)-1)802 if (Res == (off_t)-1)
770 _error->Errno("lseek","Failed to determine the current file position");803 _error->Errno("lseek","Failed to determine the current file position");
771 return Res;804 return Res;
@@ -776,6 +809,7 @@
776/* */809/* */
777unsigned long FileFd::Size()810unsigned long FileFd::Size()
778{811{
812 //TODO: For gz, do we need the actual file size here or the uncompressed length?
779 struct stat Buf;813 struct stat Buf;
780 if (fstat(iFd,&Buf) != 0)814 if (fstat(iFd,&Buf) != 0)
781 return _error->Errno("fstat","Unable to determine the file size");815 return _error->Errno("fstat","Unable to determine the file size");
@@ -789,9 +823,10 @@
789{823{
790 bool Res = true;824 bool Res = true;
791 if ((Flags & AutoClose) == AutoClose)825 if ((Flags & AutoClose) == AutoClose)
792 if (iFd >= 0 && close(iFd) != 0)826 if ((gz != NULL && gzclose(gz) != 0) || (gz == NULL && iFd > 0 && close(iFd) != 0))
793 Res &= _error->Errno("close",_("Problem closing the file"));827 Res &= _error->Errno("close",_("Problem closing the file"));
794 iFd = -1;828 iFd = -1;
829 gz = NULL;
795 830
796 if ((Flags & Fail) == Fail && (Flags & DelOnFail) == DelOnFail &&831 if ((Flags & Fail) == Fail && (Flags & DelOnFail) == DelOnFail &&
797 FileName.empty() == false)832 FileName.empty() == false)
798833
=== modified file 'apt-pkg/contrib/fileutl.h'
--- apt-pkg/contrib/fileutl.h 2010-02-17 21:40:05 +0000
+++ apt-pkg/contrib/fileutl.h 2010-06-11 16:24:33 +0000
@@ -25,6 +25,8 @@
25#include <string>25#include <string>
26#include <vector>26#include <vector>
2727
28#include <zlib.h>
29
28using std::string;30using std::string;
2931
30class FileFd32class FileFd
@@ -36,6 +38,7 @@
36 HitEof = (1<<3)};38 HitEof = (1<<3)};
37 unsigned long Flags;39 unsigned long Flags;
38 string FileName;40 string FileName;
41 gzFile gz;
39 42
40 public:43 public:
41 enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny,WriteTemp};44 enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny,WriteTemp};
@@ -69,12 +72,12 @@
69 inline string &Name() {return FileName;};72 inline string &Name() {return FileName;};
70 73
71 FileFd(string FileName,OpenMode Mode,unsigned long Perms = 0666) : iFd(-1), 74 FileFd(string FileName,OpenMode Mode,unsigned long Perms = 0666) : iFd(-1),
72 Flags(0) 75 Flags(0), gz(NULL)
73 {76 {
74 Open(FileName,Mode,Perms);77 Open(FileName,Mode,Perms);
75 };78 };
76 FileFd(int Fd = -1) : iFd(Fd), Flags(AutoClose) {};79 FileFd(int Fd = -1) : iFd(Fd), Flags(AutoClose), gz(NULL) {};
77 FileFd(int Fd,bool) : iFd(Fd), Flags(0) {};80 FileFd(int Fd,bool) : iFd(Fd), Flags(0), gz(NULL) {};
78 virtual ~FileFd();81 virtual ~FileFd();
79};82};
8083
8184
=== modified file 'apt-pkg/contrib/mmap.cc'
--- apt-pkg/contrib/mmap.cc 2009-08-24 11:30:05 +0000
+++ apt-pkg/contrib/mmap.cc 2010-06-11 16:24:33 +0000
@@ -140,8 +140,10 @@
140// DynamicMMap::DynamicMMap - Constructor /*{{{*/140// DynamicMMap::DynamicMMap - Constructor /*{{{*/
141// ---------------------------------------------------------------------141// ---------------------------------------------------------------------
142/* */142/* */
143DynamicMMap::DynamicMMap(FileFd &F,unsigned long Flags,unsigned long WorkSpace) :143DynamicMMap::DynamicMMap(FileFd &F,unsigned long Flags,unsigned long const &Workspace,
144 MMap(F,Flags | NoImmMap), Fd(&F), WorkSpace(WorkSpace)144 unsigned long const &Grow, unsigned long const &Limit) :
145 MMap(F,Flags | NoImmMap), Fd(&F), WorkSpace(Workspace),
146 GrowFactor(Grow), Limit(Limit)
145{147{
146 if (_error->PendingError() == true)148 if (_error->PendingError() == true)
147 return;149 return;
@@ -165,32 +167,48 @@
165/* We try here to use mmap to reserve some space - this is much more167/* We try here to use mmap to reserve some space - this is much more
166 cooler than the fallback solution to simply allocate a char array168 cooler than the fallback solution to simply allocate a char array
167 and could come in handy later than we are able to grow such an mmap */169 and could come in handy later than we are able to grow such an mmap */
168DynamicMMap::DynamicMMap(unsigned long Flags,unsigned long WorkSpace) :170DynamicMMap::DynamicMMap(unsigned long Flags,unsigned long const &WorkSpace,
169 MMap(Flags | NoImmMap | UnMapped), Fd(0), WorkSpace(WorkSpace)171 unsigned long const &Grow, unsigned long const &Limit) :
172 MMap(Flags | NoImmMap | UnMapped), Fd(0), WorkSpace(WorkSpace),
173 GrowFactor(Grow), Limit(Limit)
170{174{
171 if (_error->PendingError() == true)175 if (_error->PendingError() == true)
172 return;176 return;
177
178 // disable Moveable if we don't grow
179 if (Grow == 0)
180 Flags &= ~Moveable;
181
182#ifndef __linux__
183 // kfreebsd doesn't have mremap, so we use the fallback
184 if ((Flags & Moveable) == Moveable)
185 Flags |= Fallback;
186#endif
173187
174#ifdef _POSIX_MAPPED_FILES188#ifdef _POSIX_MAPPED_FILES
175 // Set the permissions.189 if ((Flags & Fallback) != Fallback) {
176 int Prot = PROT_READ;190 // Set the permissions.
177 int Map = MAP_PRIVATE | MAP_ANONYMOUS;191 int Prot = PROT_READ;
178 if ((Flags & ReadOnly) != ReadOnly)192 int Map = MAP_PRIVATE | MAP_ANONYMOUS;
179 Prot |= PROT_WRITE;193 if ((Flags & ReadOnly) != ReadOnly)
180 if ((Flags & Public) == Public)194 Prot |= PROT_WRITE;
181 Map = MAP_SHARED | MAP_ANONYMOUS;195 if ((Flags & Public) == Public)
182196 Map = MAP_SHARED | MAP_ANONYMOUS;
183 // use anonymous mmap() to get the memory197
184 Base = (unsigned char*) mmap(0, WorkSpace, Prot, Map, -1, 0);198 // use anonymous mmap() to get the memory
185199 Base = (unsigned char*) mmap(0, WorkSpace, Prot, Map, -1, 0);
186 if(Base == MAP_FAILED)200
187 _error->Errno("DynamicMMap",_("Couldn't make mmap of %lu bytes"),WorkSpace);201 if(Base == MAP_FAILED)
188#else202 _error->Errno("DynamicMMap",_("Couldn't make mmap of %lu bytes"),WorkSpace);
189 // fallback to a static allocated space203
190 Base = new unsigned char[WorkSpace];204 iSize = 0;
191 memset(Base,0,WorkSpace);205 return;
206 }
192#endif207#endif
193 iSize = 0;208 // fallback to a static allocated space
209 Base = new unsigned char[WorkSpace];
210 memset(Base,0,WorkSpace);
211 iSize = 0;
194}212}
195 /*}}}*/213 /*}}}*/
196// DynamicMMap::~DynamicMMap - Destructor /*{{{*/214// DynamicMMap::~DynamicMMap - Destructor /*{{{*/
@@ -311,30 +329,55 @@
311 /*}}}*/329 /*}}}*/
312// DynamicMMap::Grow - Grow the mmap /*{{{*/330// DynamicMMap::Grow - Grow the mmap /*{{{*/
313// ---------------------------------------------------------------------331// ---------------------------------------------------------------------
314/* This method will try to grow the mmap we currently use. This doesn't332/* This method is a wrapper around different methods to (try to) grow
315 work most of the time because we can't move the mmap around in the333 a mmap (or our char[]-fallback). Encounterable environments:
316 memory for now as this would require to adjust quite a lot of pointers334 1. Moveable + !Fallback + linux -> mremap with MREMAP_MAYMOVE
317 but why we should not at least try to grow it before we give up? */335 2. Moveable + !Fallback + !linux -> not possible (forbidden by constructor)
318bool DynamicMMap::Grow()336 3. Moveable + Fallback -> realloc
319{337 4. !Moveable + !Fallback + linux -> mremap alone - which will fail in 99,9%
338 5. !Moveable + !Fallback + !linux -> not possible (forbidden by constructor)
339 6. !Moveable + Fallback -> not possible
340 [ While Moveable and Fallback stands for the equally named flags and
341 "linux" indicates a linux kernel instead of a freebsd kernel. ]
342 So what you can see here is, that a MMAP which want to be growable need
343 to be moveable to have a real chance but that this method will at least try
344 the nearly impossible 4 to grow it before it finally give up: Never say never. */
345bool DynamicMMap::Grow() {
346 if (Limit != 0 && WorkSpace >= Limit)
347 return _error->Error(_("The size of a MMap has already reached the defined limit of %lu bytes,"
348 "abort the try to grow the MMap."), Limit);
349
350 unsigned long const newSize = WorkSpace + 1024*1024;
351
352 if(Fd != 0) {
353 Fd->Seek(newSize - 1);
354 char C = 0;
355 Fd->Write(&C,sizeof(C));
356 }
357 if ((Flags & Fallback) != Fallback) {
320#if defined(_POSIX_MAPPED_FILES) && defined(__linux__)358#if defined(_POSIX_MAPPED_FILES) && defined(__linux__)
321 unsigned long newSize = WorkSpace + 1024*1024;359 #ifdef MREMAP_MAYMOVE
322360 if ((Flags & Moveable) == Moveable)
323 if(Fd != 0)361 Base = mremap(Base, WorkSpace, newSize, MREMAP_MAYMOVE);
324 {362 else
325 Fd->Seek(newSize - 1);363 #endif
326 char C = 0;364 Base = mremap(Base, WorkSpace, newSize, 0);
327 Fd->Write(&C,sizeof(C));365
328 }366 if(Base == MAP_FAILED)
329367 return false;
330 Base = mremap(Base, WorkSpace, newSize, 0);
331 if(Base == MAP_FAILED)
332 return false;
333
334 WorkSpace = newSize;
335 return true;
336#else368#else
337 return false;369 return false;
338#endif370#endif
371 } else {
372 if ((Flags & Moveable) != Moveable)
373 return false;
374
375 Base = realloc(Base, newSize);
376 if (Base == NULL)
377 return false;
378 }
379
380 WorkSpace = newSize;
381 return true;
339}382}
340 /*}}}*/383 /*}}}*/
341384
=== modified file 'apt-pkg/contrib/mmap.h'
--- apt-pkg/contrib/mmap.h 2009-07-30 15:34:48 +0000
+++ apt-pkg/contrib/mmap.h 2010-06-11 16:24:33 +0000
@@ -50,7 +50,7 @@
50 public:50 public:
5151
52 enum OpenFlags {NoImmMap = (1<<0),Public = (1<<1),ReadOnly = (1<<2),52 enum OpenFlags {NoImmMap = (1<<0),Public = (1<<1),ReadOnly = (1<<2),
53 UnMapped = (1<<3)};53 UnMapped = (1<<3), Moveable = (1<<4), Fallback = (1 << 5)};
54 54
55 // Simple accessors55 // Simple accessors
56 inline operator void *() {return Base;};56 inline operator void *() {return Base;};
@@ -82,6 +82,8 @@
82 82
83 FileFd *Fd;83 FileFd *Fd;
84 unsigned long WorkSpace;84 unsigned long WorkSpace;
85 unsigned long const GrowFactor;
86 unsigned long const Limit;
85 Pool *Pools;87 Pool *Pools;
86 unsigned int PoolCount;88 unsigned int PoolCount;
8789
@@ -96,8 +98,10 @@
96 inline unsigned long WriteString(const string &S) {return WriteString(S.c_str(),S.length());};98 inline unsigned long WriteString(const string &S) {return WriteString(S.c_str(),S.length());};
97 void UsePools(Pool &P,unsigned int Count) {Pools = &P; PoolCount = Count;};99 void UsePools(Pool &P,unsigned int Count) {Pools = &P; PoolCount = Count;};
98 100
99 DynamicMMap(FileFd &F,unsigned long Flags,unsigned long WorkSpace = 2*1024*1024);101 DynamicMMap(FileFd &F,unsigned long Flags,unsigned long const &WorkSpace = 2*1024*1024,
100 DynamicMMap(unsigned long Flags,unsigned long WorkSpace = 2*1024*1024);102 unsigned long const &Grow = 1024*1024, unsigned long const &Limit = 0);
103 DynamicMMap(unsigned long Flags,unsigned long const &WorkSpace = 2*1024*1024,
104 unsigned long const &Grow = 1024*1024, unsigned long const &Limit = 0);
101 virtual ~DynamicMMap();105 virtual ~DynamicMMap();
102};106};
103107
104108
=== modified file 'apt-pkg/contrib/strutl.cc'
--- apt-pkg/contrib/strutl.cc 2010-03-31 20:03:34 +0000
+++ apt-pkg/contrib/strutl.cc 2010-06-11 16:24:33 +0000
@@ -1008,6 +1008,24 @@
1008 return true;1008 return true;
1009}1009}
1010 /*}}}*/1010 /*}}}*/
1011// ExplodeString - Split a string up into a vector /*{{{*/
1012// ---------------------------------------------------------------------
1013/* This can be used to split a given string up into a vector, so the
1014 propose is the same as in the method above and this one is a bit slower
1015 also, but the advantage is that we an iteratable vector */
1016vector<string> ExplodeString(string const &haystack, char const &split)
1017{
1018 string::const_iterator start = haystack.begin();
1019 string::const_iterator end = start;
1020 vector<string> exploded;
1021 do {
1022 for (; end != haystack.end() && *end != split; ++end);
1023 exploded.push_back(string(start, end));
1024 start = end + 1;
1025 } while (end != haystack.end() && (++end) != haystack.end());
1026 return exploded;
1027}
1028 /*}}}*/
1011// RegexChoice - Simple regex list/list matcher /*{{{*/1029// RegexChoice - Simple regex list/list matcher /*{{{*/
1012// ---------------------------------------------------------------------1030// ---------------------------------------------------------------------
1013/* */1031/* */
10141032
=== modified file 'apt-pkg/contrib/strutl.h'
--- apt-pkg/contrib/strutl.h 2010-03-31 20:03:34 +0000
+++ apt-pkg/contrib/strutl.h 2010-06-11 16:24:33 +0000
@@ -60,6 +60,7 @@
60bool Hex2Num(const string &Str,unsigned char *Num,unsigned int Length);60bool Hex2Num(const string &Str,unsigned char *Num,unsigned int Length);
61bool TokSplitString(char Tok,char *Input,char **List,61bool TokSplitString(char Tok,char *Input,char **List,
62 unsigned long ListMax);62 unsigned long ListMax);
63vector<string> ExplodeString(string const &haystack, char const &split);
63void ioprintf(ostream &out,const char *format,...) APT_FORMAT2;64void ioprintf(ostream &out,const char *format,...) APT_FORMAT2;
64void strprintf(string &out,const char *format,...) APT_FORMAT2;65void strprintf(string &out,const char *format,...) APT_FORMAT2;
65char *safe_snprintf(char *Buffer,char *End,const char *Format,...) APT_FORMAT3;66char *safe_snprintf(char *Buffer,char *End,const char *Format,...) APT_FORMAT3;
6667
=== modified file 'apt-pkg/deb/debindexfile.cc'
--- apt-pkg/deb/debindexfile.cc 2010-03-08 16:46:43 +0000
+++ apt-pkg/deb/debindexfile.cc 2010-06-11 16:24:33 +0000
@@ -106,8 +106,14 @@
106/* */106/* */
107inline string debSourcesIndex::IndexFile(const char *Type) const107inline string debSourcesIndex::IndexFile(const char *Type) const
108{108{
109 return URItoFileName(IndexURI(Type));109 string s = URItoFileName(IndexURI(Type));
110 string sgzip = s + ".gz";
111 if (!FileExists(s) && FileExists(sgzip))
112 return sgzip;
113 else
114 return s;
110}115}
116
111string debSourcesIndex::IndexURI(const char *Type) const117string debSourcesIndex::IndexURI(const char *Type) const
112{118{
113 string Res;119 string Res;
@@ -213,7 +219,12 @@
213/* */219/* */
214inline string debPackagesIndex::IndexFile(const char *Type) const220inline string debPackagesIndex::IndexFile(const char *Type) const
215{221{
216 return _config->FindDir("Dir::State::lists") + URItoFileName(IndexURI(Type));222 string s =_config->FindDir("Dir::State::lists") + URItoFileName(IndexURI(Type));
223 string sgzip = s + ".gz";
224 if (!FileExists(s) && FileExists(sgzip))
225 return sgzip;
226 else
227 return s;
217}228}
218string debPackagesIndex::IndexURI(const char *Type) const229string debPackagesIndex::IndexURI(const char *Type) const
219{230{
@@ -329,17 +340,23 @@
329// TranslationsIndex::debTranslationsIndex - Contructor /*{{{*/340// TranslationsIndex::debTranslationsIndex - Contructor /*{{{*/
330// ---------------------------------------------------------------------341// ---------------------------------------------------------------------
331/* */342/* */
332debTranslationsIndex::debTranslationsIndex(string URI,string Dist,string Section) : 343debTranslationsIndex::debTranslationsIndex(string URI,string Dist,string Section,
333 pkgIndexFile(true), URI(URI), Dist(Dist), Section(Section)344 char const * const Translation) :
334{345 pkgIndexFile(true), URI(URI), Dist(Dist), Section(Section),
335}346 Language(Translation)
347{}
336 /*}}}*/348 /*}}}*/
337// TranslationIndex::Trans* - Return the URI to the translation files /*{{{*/349// TranslationIndex::Trans* - Return the URI to the translation files /*{{{*/
338// ---------------------------------------------------------------------350// ---------------------------------------------------------------------
339/* */351/* */
340inline string debTranslationsIndex::IndexFile(const char *Type) const352inline string debTranslationsIndex::IndexFile(const char *Type) const
341{353{
342 return _config->FindDir("Dir::State::lists") + URItoFileName(IndexURI(Type));354 string s =_config->FindDir("Dir::State::lists") + URItoFileName(IndexURI(Type));
355 string sgzip = s + ".gz";
356 if (!FileExists(s) && FileExists(sgzip))
357 return sgzip;
358 else
359 return s;
343}360}
344string debTranslationsIndex::IndexURI(const char *Type) const361string debTranslationsIndex::IndexURI(const char *Type) const
345{362{
@@ -365,8 +382,8 @@
365bool debTranslationsIndex::GetIndexes(pkgAcquire *Owner) const382bool debTranslationsIndex::GetIndexes(pkgAcquire *Owner) const
366{383{
367 if (TranslationsAvailable()) {384 if (TranslationsAvailable()) {
368 string TranslationFile = "Translation-" + LanguageCode();385 string const TranslationFile = string("Translation-").append(Language);
369 new pkgAcqIndexTrans(Owner, IndexURI(LanguageCode().c_str()),386 new pkgAcqIndexTrans(Owner, IndexURI(Language),
370 Info(TranslationFile.c_str()),387 Info(TranslationFile.c_str()),
371 TranslationFile);388 TranslationFile);
372 }389 }
@@ -385,7 +402,7 @@
385 snprintf(S,sizeof(S),"%s",Info(TranslationFile().c_str()).c_str());402 snprintf(S,sizeof(S),"%s",Info(TranslationFile().c_str()).c_str());
386 else403 else
387 snprintf(S,sizeof(S),"%s (%s)",Info(TranslationFile().c_str()).c_str(),404 snprintf(S,sizeof(S),"%s (%s)",Info(TranslationFile().c_str()).c_str(),
388 IndexFile(LanguageCode().c_str()).c_str());405 IndexFile(Language).c_str());
389 return S;406 return S;
390}407}
391 /*}}}*/408 /*}}}*/
@@ -407,20 +424,20 @@
407 return Info;424 return Info;
408}425}
409 /*}}}*/426 /*}}}*/
410bool debTranslationsIndex::HasPackages() const427bool debTranslationsIndex::HasPackages() const /*{{{*/
411{428{
412 if(!TranslationsAvailable())429 if(!TranslationsAvailable())
413 return false;430 return false;
414 431
415 return FileExists(IndexFile(LanguageCode().c_str()));432 return FileExists(IndexFile(Language));
416}433}
417434 /*}}}*/
418// TranslationsIndex::Exists - Check if the index is available /*{{{*/435// TranslationsIndex::Exists - Check if the index is available /*{{{*/
419// ---------------------------------------------------------------------436// ---------------------------------------------------------------------
420/* */437/* */
421bool debTranslationsIndex::Exists() const438bool debTranslationsIndex::Exists() const
422{439{
423 return FileExists(IndexFile(LanguageCode().c_str()));440 return FileExists(IndexFile(Language));
424}441}
425 /*}}}*/442 /*}}}*/
426// TranslationsIndex::Size - Return the size of the index /*{{{*/443// TranslationsIndex::Size - Return the size of the index /*{{{*/
@@ -429,7 +446,7 @@
429unsigned long debTranslationsIndex::Size() const446unsigned long debTranslationsIndex::Size() const
430{447{
431 struct stat S;448 struct stat S;
432 if (stat(IndexFile(LanguageCode().c_str()).c_str(),&S) != 0)449 if (stat(IndexFile(Language).c_str(),&S) != 0)
433 return 0;450 return 0;
434 return S.st_size;451 return S.st_size;
435}452}
@@ -440,7 +457,7 @@
440bool debTranslationsIndex::Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const457bool debTranslationsIndex::Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const
441{458{
442 // Check the translation file, if in use459 // Check the translation file, if in use
443 string TranslationFile = IndexFile(LanguageCode().c_str());460 string TranslationFile = IndexFile(Language);
444 if (TranslationsAvailable() && FileExists(TranslationFile))461 if (TranslationsAvailable() && FileExists(TranslationFile))
445 {462 {
446 FileFd Trans(TranslationFile,FileFd::ReadOnly);463 FileFd Trans(TranslationFile,FileFd::ReadOnly);
@@ -472,7 +489,7 @@
472/* */489/* */
473pkgCache::PkgFileIterator debTranslationsIndex::FindInCache(pkgCache &Cache) const490pkgCache::PkgFileIterator debTranslationsIndex::FindInCache(pkgCache &Cache) const
474{491{
475 string FileName = IndexFile(LanguageCode().c_str());492 string FileName = IndexFile(Language);
476 493
477 pkgCache::PkgFileIterator File = Cache.FileBegin();494 pkgCache::PkgFileIterator File = Cache.FileBegin();
478 for (; File.end() == false; File++)495 for (; File.end() == false; File++)
479496
=== modified file 'apt-pkg/deb/debindexfile.h'
--- apt-pkg/deb/debindexfile.h 2007-06-14 09:59:13 +0000
+++ apt-pkg/deb/debindexfile.h 2010-06-11 16:24:33 +0000
@@ -77,12 +77,13 @@
77 string URI;77 string URI;
78 string Dist;78 string Dist;
79 string Section;79 string Section;
80 const char * const Language;
80 81
81 string Info(const char *Type) const;82 string Info(const char *Type) const;
82 string IndexFile(const char *Type) const;83 string IndexFile(const char *Type) const;
83 string IndexURI(const char *Type) const;84 string IndexURI(const char *Type) const;
8485
85 inline string TranslationFile() const {return "Translation-" + LanguageCode();};86 inline string TranslationFile() const {return string("Translation-").append(Language);};
8687
87 public:88 public:
88 89
@@ -99,7 +100,7 @@
99 virtual bool Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const;100 virtual bool Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const;
100 virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;101 virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
101102
102 debTranslationsIndex(string URI,string Dist,string Section);103 debTranslationsIndex(string URI,string Dist,string Section, char const * const Language);
103};104};
104105
105class debSourcesIndex : public pkgIndexFile106class debSourcesIndex : public pkgIndexFile
106107
=== modified file 'apt-pkg/deb/deblistparser.cc'
--- apt-pkg/deb/deblistparser.cc 2010-02-17 21:40:05 +0000
+++ apt-pkg/deb/deblistparser.cc 2010-06-11 16:24:33 +0000
@@ -13,6 +13,7 @@
13#include <apt-pkg/deblistparser.h>13#include <apt-pkg/deblistparser.h>
14#include <apt-pkg/error.h>14#include <apt-pkg/error.h>
15#include <apt-pkg/configuration.h>15#include <apt-pkg/configuration.h>
16#include <apt-pkg/aptconfiguration.h>
16#include <apt-pkg/strutl.h>17#include <apt-pkg/strutl.h>
17#include <apt-pkg/crc-16.h>18#include <apt-pkg/crc-16.h>
18#include <apt-pkg/md5.h>19#include <apt-pkg/md5.h>
@@ -128,10 +129,11 @@
128 only describe package properties */129 only describe package properties */
129string debListParser::Description()130string debListParser::Description()
130{131{
131 if (DescriptionLanguage().empty())132 string const lang = DescriptionLanguage();
133 if (lang.empty())
132 return Section.FindS("Description");134 return Section.FindS("Description");
133 else135 else
134 return Section.FindS(("Description-" + pkgIndexFile::LanguageCode()).c_str());136 return Section.FindS(string("Description-").append(lang).c_str());
135}137}
136 /*}}}*/138 /*}}}*/
137// ListParser::DescriptionLanguage - Return the description lang string /*{{{*/139// ListParser::DescriptionLanguage - Return the description lang string /*{{{*/
@@ -141,7 +143,16 @@
141 assumed to describe original description. */143 assumed to describe original description. */
142string debListParser::DescriptionLanguage()144string debListParser::DescriptionLanguage()
143{145{
144 return Section.FindS("Description").empty() ? pkgIndexFile::LanguageCode() : "";146 if (Section.FindS("Description").empty() == false)
147 return "";
148
149 std::vector<string> const lang = APT::Configuration::getLanguages();
150 for (std::vector<string>::const_iterator l = lang.begin();
151 l != lang.end(); l++)
152 if (Section.FindS(string("Description-").append(*l).c_str()).empty() == false)
153 return *l;
154
155 return "";
145}156}
146 /*}}}*/157 /*}}}*/
147// ListParser::Description - Return the description_md5 MD5SumValue /*{{{*/158// ListParser::Description - Return the description_md5 MD5SumValue /*{{{*/
@@ -383,7 +394,8 @@
383 bit by bit. */394 bit by bit. */
384const char *debListParser::ParseDepends(const char *Start,const char *Stop,395const char *debListParser::ParseDepends(const char *Start,const char *Stop,
385 string &Package,string &Ver,396 string &Package,string &Ver,
386 unsigned int &Op, bool ParseArchFlags)397 unsigned int &Op, bool const &ParseArchFlags,
398 bool const &StripMultiArch)
387{399{
388 // Strip off leading space400 // Strip off leading space
389 for (;Start != Stop && isspace(*Start) != 0; Start++);401 for (;Start != Stop && isspace(*Start) != 0; Start++);
@@ -402,7 +414,14 @@
402 414
403 // Stash the package name415 // Stash the package name
404 Package.assign(Start,I - Start);416 Package.assign(Start,I - Start);
405 417
418 // We don't want to confuse library users which can't handle MultiArch
419 if (StripMultiArch == true) {
420 size_t const found = Package.rfind(':');
421 if (found != string::npos)
422 Package = Package.substr(0,found);
423 }
424
406 // Skip white space to the '('425 // Skip white space to the '('
407 for (;I != Stop && isspace(*I) != 0 ; I++);426 for (;I != Stop && isspace(*I) != 0 ; I++);
408 427
409428
=== modified file 'apt-pkg/deb/deblistparser.h'
--- apt-pkg/deb/deblistparser.h 2006-12-14 11:39:29 +0000
+++ apt-pkg/deb/deblistparser.h 2010-06-11 16:24:33 +0000
@@ -64,7 +64,8 @@
64 64
65 static const char *ParseDepends(const char *Start,const char *Stop,65 static const char *ParseDepends(const char *Start,const char *Stop,
66 string &Package,string &Ver,unsigned int &Op,66 string &Package,string &Ver,unsigned int &Op,
67 bool ParseArchFlags = false);67 bool const &ParseArchFlags = false,
68 bool const &StripMultiArch = false);
68 static const char *ConvertRelation(const char *I,unsigned int &Op);69 static const char *ConvertRelation(const char *I,unsigned int &Op);
6970
70 debListParser(FileFd *File);71 debListParser(FileFd *File);
7172
=== modified file 'apt-pkg/deb/debmetaindex.cc'
--- apt-pkg/deb/debmetaindex.cc 2009-07-30 15:34:48 +0000
+++ apt-pkg/deb/debmetaindex.cc 2010-06-11 16:24:33 +0000
@@ -5,6 +5,7 @@
5#include <apt-pkg/strutl.h>5#include <apt-pkg/strutl.h>
6#include <apt-pkg/acquire-item.h>6#include <apt-pkg/acquire-item.h>
7#include <apt-pkg/configuration.h>7#include <apt-pkg/configuration.h>
8#include <apt-pkg/aptconfiguration.h>
8#include <apt-pkg/error.h>9#include <apt-pkg/error.h>
910
10using namespace std;11using namespace std;
@@ -170,13 +171,20 @@
170 new indexRecords (Dist));171 new indexRecords (Dist));
171172
172 // Queue the translations173 // Queue the translations
174 std::vector<std::string> const lang = APT::Configuration::getLanguages(true);
173 for (vector<const debSectionEntry *>::const_iterator I = SectionEntries.begin(); 175 for (vector<const debSectionEntry *>::const_iterator I = SectionEntries.begin();
174 I != SectionEntries.end(); I++) {176 I != SectionEntries.end(); I++) {
175177
176 if((*I)->IsSrc)178 if((*I)->IsSrc)
177 continue;179 continue;
178 debTranslationsIndex i = debTranslationsIndex(URI,Dist,(*I)->Section);180
179 i.GetIndexes(Owner);181 for (vector<string>::const_iterator l = lang.begin();
182 l != lang.end(); l++)
183 {
184 if (*l == "none") continue;
185 debTranslationsIndex i = debTranslationsIndex(URI,Dist,(*I)->Section,(*l).c_str());
186 i.GetIndexes(Owner);
187 }
180 }188 }
181189
182 return true;190 return true;
@@ -202,6 +210,7 @@
202 return Indexes;210 return Indexes;
203211
204 Indexes = new vector <pkgIndexFile*>;212 Indexes = new vector <pkgIndexFile*>;
213 std::vector<std::string> const lang = APT::Configuration::getLanguages(true);
205 for (vector<const debSectionEntry *>::const_iterator I = SectionEntries.begin(); 214 for (vector<const debSectionEntry *>::const_iterator I = SectionEntries.begin();
206 I != SectionEntries.end(); I++) {215 I != SectionEntries.end(); I++) {
207 if ((*I)->IsSrc)216 if ((*I)->IsSrc)
@@ -209,7 +218,12 @@
209 else 218 else
210 {219 {
211 Indexes->push_back(new debPackagesIndex (URI, Dist, (*I)->Section, IsTrusted()));220 Indexes->push_back(new debPackagesIndex (URI, Dist, (*I)->Section, IsTrusted()));
212 Indexes->push_back(new debTranslationsIndex(URI, Dist, (*I)->Section));221
222 for (vector<string>::const_iterator l = lang.begin();
223 l != lang.end(); l++) {
224 if (*l == "none") continue;
225 Indexes->push_back(new debTranslationsIndex(URI,Dist,(*I)->Section,(*l).c_str()));
226 }
213 }227 }
214 }228 }
215229
216230
=== modified file 'apt-pkg/deb/debrecords.cc'
--- apt-pkg/deb/debrecords.cc 2010-05-05 07:58:23 +0000
+++ apt-pkg/deb/debrecords.cc 2010-06-11 16:24:33 +0000
@@ -11,6 +11,7 @@
11#include <apt-pkg/debrecords.h>11#include <apt-pkg/debrecords.h>
12#include <apt-pkg/strutl.h>12#include <apt-pkg/strutl.h>
13#include <apt-pkg/error.h>13#include <apt-pkg/error.h>
14#include <apt-pkg/aptconfiguration.h>
14#include <langinfo.h>15#include <langinfo.h>
15 /*}}}*/16 /*}}}*/
1617
@@ -110,13 +111,18 @@
110string debRecordParser::LongDesc()111string debRecordParser::LongDesc()
111{112{
112 string orig, dest;113 string orig, dest;
113 char *codeset = nl_langinfo(CODESET);
114114
115 if (!Section.FindS("Description").empty())115 if (!Section.FindS("Description").empty())
116 orig = Section.FindS("Description").c_str();116 orig = Section.FindS("Description").c_str();
117 else 117 else
118 orig = Section.FindS(("Description-" + pkgIndexFile::LanguageCode()).c_str()).c_str();118 {
119 vector<string> const lang = APT::Configuration::getLanguages();
120 for (vector<string>::const_iterator l = lang.begin();
121 orig.empty() && l != lang.end(); l++)
122 orig = Section.FindS(string("Description-").append(*l).c_str());
123 }
119124
125 char const * const codeset = nl_langinfo(CODESET);
120 if (strcmp(codeset,"UTF-8") != 0) {126 if (strcmp(codeset,"UTF-8") != 0) {
121 UTF8ToCodeset(codeset, orig, &dest);127 UTF8ToCodeset(codeset, orig, &dest);
122 orig = dest;128 orig = dest;
123129
=== modified file 'apt-pkg/deb/debsrcrecords.cc'
--- apt-pkg/deb/debsrcrecords.cc 2009-12-18 16:08:45 +0000
+++ apt-pkg/deb/debsrcrecords.cc 2010-06-11 16:24:33 +0000
@@ -54,7 +54,8 @@
54 package/version records representing the build dependency. The returned 54 package/version records representing the build dependency. The returned
55 array need not be freed and will be reused by the next call to this 55 array need not be freed and will be reused by the next call to this
56 function */56 function */
57bool debSrcRecordParser::BuildDepends(vector<pkgSrcRecords::Parser::BuildDepRec> &BuildDeps, bool ArchOnly)57bool debSrcRecordParser::BuildDepends(vector<pkgSrcRecords::Parser::BuildDepRec> &BuildDeps,
58 bool const &ArchOnly, bool const &StripMultiArch)
58{59{
59 unsigned int I;60 unsigned int I;
60 const char *Start, *Stop;61 const char *Start, *Stop;
@@ -77,7 +78,7 @@
77 while (1)78 while (1)
78 {79 {
79 Start = debListParser::ParseDepends(Start, Stop, 80 Start = debListParser::ParseDepends(Start, Stop,
80 rec.Package,rec.Version,rec.Op,true);81 rec.Package,rec.Version,rec.Op,true, StripMultiArch);
81 82
82 if (Start == 0) 83 if (Start == 0)
83 return _error->Error("Problem parsing dependency: %s", fields[I]);84 return _error->Error("Problem parsing dependency: %s", fields[I]);
8485
=== modified file 'apt-pkg/deb/debsrcrecords.h'
--- apt-pkg/deb/debsrcrecords.h 2009-07-30 15:34:48 +0000
+++ apt-pkg/deb/debsrcrecords.h 2010-06-11 16:24:33 +0000
@@ -30,14 +30,14 @@
3030
31 virtual bool Restart() {return Tags.Jump(Sect,0);};31 virtual bool Restart() {return Tags.Jump(Sect,0);};
32 virtual bool Step() {iOffset = Tags.Offset(); return Tags.Step(Sect);};32 virtual bool Step() {iOffset = Tags.Offset(); return Tags.Step(Sect);};
33 virtual bool Jump(unsigned long Off) {iOffset = Off; return Tags.Jump(Sect,Off);};33 virtual bool Jump(unsigned long const &Off) {iOffset = Off; return Tags.Jump(Sect,Off);};
3434
35 virtual string Package() const {return Sect.FindS("Package");};35 virtual string Package() const {return Sect.FindS("Package");};
36 virtual string Version() const {return Sect.FindS("Version");};36 virtual string Version() const {return Sect.FindS("Version");};
37 virtual string Maintainer() const {return Sect.FindS("Maintainer");};37 virtual string Maintainer() const {return Sect.FindS("Maintainer");};
38 virtual string Section() const {return Sect.FindS("Section");};38 virtual string Section() const {return Sect.FindS("Section");};
39 virtual const char **Binaries();39 virtual const char **Binaries();
40 virtual bool BuildDepends(vector<BuildDepRec> &BuildDeps, bool ArchOnly);40 virtual bool BuildDepends(vector<BuildDepRec> &BuildDeps, bool const &ArchOnly, bool const &StripMultiArch = true);
41 virtual unsigned long Offset() {return iOffset;};41 virtual unsigned long Offset() {return iOffset;};
42 virtual string AsStr() 42 virtual string AsStr()
43 {43 {
@@ -47,7 +47,7 @@
47 };47 };
48 virtual bool Files(vector<pkgSrcRecords::File> &F);48 virtual bool Files(vector<pkgSrcRecords::File> &F);
4949
50 debSrcRecordParser(string File,pkgIndexFile const *Index) 50 debSrcRecordParser(string const &File,pkgIndexFile const *Index)
51 : Parser(Index), Fd(File,FileFd::ReadOnly), Tags(&Fd,102400), 51 : Parser(Index), Fd(File,FileFd::ReadOnly), Tags(&Fd,102400),
52 Buffer(0), BufSize(0) {}52 Buffer(0), BufSize(0) {}
53 ~debSrcRecordParser();53 ~debSrcRecordParser();
5454
=== modified file 'apt-pkg/deb/dpkgpm.cc'
--- apt-pkg/deb/dpkgpm.cc 2010-05-30 18:44:11 +0000
+++ apt-pkg/deb/dpkgpm.cc 2010-06-11 16:24:33 +0000
@@ -1082,7 +1082,7 @@
1082 }1082 }
1083 // wait for input or output here1083 // wait for input or output here
1084 FD_ZERO(&rfds);1084 FD_ZERO(&rfds);
1085 if (!stdin_is_dev_null)1085 if (master >= 0 && !stdin_is_dev_null)
1086 FD_SET(0, &rfds); 1086 FD_SET(0, &rfds);
1087 FD_SET(_dpkgin, &rfds);1087 FD_SET(_dpkgin, &rfds);
1088 if(master >= 0)1088 if(master >= 0)
10891089
=== modified file 'apt-pkg/depcache.cc'
--- apt-pkg/depcache.cc 2009-12-18 16:08:45 +0000
+++ apt-pkg/depcache.cc 2010-06-11 16:24:33 +0000
@@ -186,16 +186,16 @@
186 if(reason > 0)186 if(reason > 0)
187 PkgState[pkg->ID].Flags |= Flag::Auto;187 PkgState[pkg->ID].Flags |= Flag::Auto;
188 if(debug_autoremove)188 if(debug_autoremove)
189 std::cout << "Auto-Installed : " << pkgname << std::endl;189 std::clog << "Auto-Installed : " << pkgname << std::endl;
190 amt+=section.size();190 amt+=section.size();
191 if(Prog != NULL)191 if(Prog != NULL)
192 Prog->OverallProgress(amt, file_size, 1, 192 Prog->OverallProgress(amt, file_size, 1,
193 _("Reading state information"));193 _("Reading state information"));
194 }194 }
195 if(Prog != NULL)
196 Prog->OverallProgress(file_size, file_size, 1,
197 _("Reading state information"));
198 }195 }
196 if(Prog != NULL)
197 Prog->OverallProgress(file_size, file_size, 1,
198 _("Reading state information"));
199 }199 }
200200
201 return true;201 return true;
@@ -1511,7 +1511,7 @@
1511 {1511 {
1512 state.Garbage=true;1512 state.Garbage=true;
1513 if(debug_autoremove)1513 if(debug_autoremove)
1514 std::cout << "Garbage: " << p.Name() << std::endl;1514 std::clog << "Garbage: " << p.Name() << std::endl;
1515 }1515 }
1516 } 1516 }
15171517
15181518
=== modified file 'apt-pkg/indexfile.cc'
--- apt-pkg/indexfile.cc 2010-05-05 08:16:02 +0000
+++ apt-pkg/indexfile.cc 2010-06-11 16:24:33 +0000
@@ -8,9 +8,9 @@
8 ##################################################################### */8 ##################################################################### */
9 /*}}}*/9 /*}}}*/
10// Include Files /*{{{*/10// Include Files /*{{{*/
11#include <apt-pkg/configuration.h>
12#include <apt-pkg/indexfile.h>11#include <apt-pkg/indexfile.h>
13#include <apt-pkg/error.h>12#include <apt-pkg/error.h>
13#include <apt-pkg/aptconfiguration.h>
1414
15#include <clocale>15#include <clocale>
16#include <cstring>16#include <cstring>
@@ -66,34 +66,23 @@
66 return string();66 return string();
67}67}
68 /*}}}*/68 /*}}}*/
69// IndexFile::TranslationsAvailable - Check if will use Translation /*{{{*/69// IndexFile::TranslationsAvailable - Check if will use Translation /*{{{*/
70// ---------------------------------------------------------------------70// ---------------------------------------------------------------------
71/* */71/* */
72bool pkgIndexFile::TranslationsAvailable()72bool pkgIndexFile::TranslationsAvailable() {
73{73 return (APT::Configuration::getLanguages().empty() != true);
74 const string Translation = _config->Find("APT::Acquire::Translation");
75
76 if (Translation.compare("none") != 0)
77 return CheckLanguageCode(LanguageCode().c_str());
78 else
79 return false;
80}74}
81 /*}}}*/75 /*}}}*/
82// IndexFile::CheckLanguageCode - Check the Language Code /*{{{*/76// IndexFile::CheckLanguageCode - Check the Language Code /*{{{*/
83// ---------------------------------------------------------------------77// ---------------------------------------------------------------------
84/* */78/* No intern need for this method anymore as the check for correctness
85/* common cases: de_DE, de_DE@euro, de_DE.UTF-8, de_DE.UTF-8@euro,79 is already done in getLanguages(). Note also that this check is
86 de_DE.ISO8859-1, tig_ER80 rather bad (doesn't take three character like ast into account).
87 more in /etc/gdm/locale.conf 81 TODO: Remove method with next API break */
88*/82__attribute__ ((deprecated)) bool pkgIndexFile::CheckLanguageCode(const char *Lang)
89
90bool pkgIndexFile::CheckLanguageCode(const char *Lang)
91{83{
92 if (strlen(Lang) == 2 || 84 if (strlen(Lang) == 2 || (strlen(Lang) == 5 && Lang[2] == '_'))
93 strlen(Lang) == 3 ||85 return true;
94 (strlen(Lang) > 3 && Lang[3] == '_') ||
95 (strlen(Lang) == 5 && Lang[2] == '_'))
96 return true;
9786
98 if (strcmp(Lang,"C") != 0)87 if (strcmp(Lang,"C") != 0)
99 _error->Warning("Wrong language code %s", Lang);88 _error->Warning("Wrong language code %s", Lang);
@@ -101,8 +90,9 @@
101 return false;90 return false;
102}91}
103 /*}}}*/92 /*}}}*/
104// IndexFile::LanguageCode - Return the Language Code /*{{{*/93// IndexFile::LanguageCode - Return the Language Code /*{{{*/
105// ---------------------------------------------------------------------94// ---------------------------------------------------------------------
95<<<<<<< TREE
106/* return the language code */96/* return the language code */
107string pkgIndexFile::LanguageCode()97string pkgIndexFile::LanguageCode()
108{98{
@@ -133,5 +123,14 @@
133 }123 }
134 else 124 else
135 return Translation;125 return Translation;
126=======
127/* As we have now possibly more than one LanguageCode this method is
128 supersided by a) private classmembers or b) getLanguages().
129 TODO: Remove method with next API break */
130__attribute__ ((deprecated)) string pkgIndexFile::LanguageCode() {
131 if (TranslationsAvailable() == false)
132 return "";
133 return APT::Configuration::getLanguages()[0];
134>>>>>>> MERGE-SOURCE
136}135}
137 /*}}}*/136 /*}}}*/
138137
=== modified file 'apt-pkg/init.h'
--- apt-pkg/init.h 2009-12-18 16:08:45 +0000
+++ apt-pkg/init.h 2010-06-11 16:24:33 +0000
@@ -22,7 +22,7 @@
22// Non-ABI-Breaks should only increase RELEASE number.22// Non-ABI-Breaks should only increase RELEASE number.
23// See also buildlib/libversion.mak23// See also buildlib/libversion.mak
24#define APT_PKG_MAJOR 424#define APT_PKG_MAJOR 4
25#define APT_PKG_MINOR 825#define APT_PKG_MINOR 9
26#define APT_PKG_RELEASE 026#define APT_PKG_RELEASE 0
27 27
28extern const char *pkgVersion;28extern const char *pkgVersion;
2929
=== modified file 'apt-pkg/makefile'
--- apt-pkg/makefile 2010-02-17 21:40:05 +0000
+++ apt-pkg/makefile 2010-06-11 16:24:33 +0000
@@ -14,7 +14,7 @@
14LIBRARY=apt-pkg14LIBRARY=apt-pkg
15MAJOR=$(LIBAPTPKG_MAJOR)15MAJOR=$(LIBAPTPKG_MAJOR)
16MINOR=$(LIBAPTPKG_RELEASE)16MINOR=$(LIBAPTPKG_RELEASE)
17SLIBS=$(PTHREADLIB) $(INTLLIBS) -lutil -ldl17SLIBS=$(PTHREADLIB) $(INTLLIBS) -lutil -ldl -lz
18APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR)18APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR)
1919
20# Source code for the contributed non-core things20# Source code for the contributed non-core things
2121
=== modified file 'apt-pkg/pkgcache.cc'
--- apt-pkg/pkgcache.cc 2010-02-17 21:40:05 +0000
+++ apt-pkg/pkgcache.cc 2010-06-11 16:24:33 +0000
@@ -22,11 +22,12 @@
22// Include Files /*{{{*/22// Include Files /*{{{*/
23#include <apt-pkg/pkgcache.h>23#include <apt-pkg/pkgcache.h>
24#include <apt-pkg/policy.h>24#include <apt-pkg/policy.h>
25#include <apt-pkg/indexfile.h>
26#include <apt-pkg/version.h>25#include <apt-pkg/version.h>
27#include <apt-pkg/error.h>26#include <apt-pkg/error.h>
28#include <apt-pkg/strutl.h>27#include <apt-pkg/strutl.h>
29#include <apt-pkg/configuration.h>28#include <apt-pkg/configuration.h>
29#include <apt-pkg/aptconfiguration.h>
30#include <apt-pkg/macros.h>
3031
31#include <apti18n.h>32#include <apti18n.h>
32 33
@@ -673,14 +674,22 @@
673 */674 */
674pkgCache::DescIterator pkgCache::VerIterator::TranslatedDescription() const675pkgCache::DescIterator pkgCache::VerIterator::TranslatedDescription() const
675{676{
676 pkgCache::DescIterator DescDefault = DescriptionList();677 std::vector<string> const lang = APT::Configuration::getLanguages();
677 pkgCache::DescIterator Desc = DescDefault;678 for (std::vector<string>::const_iterator l = lang.begin();
678 for (; Desc.end() == false; Desc++)679 l != lang.end(); l++)
679 if (pkgIndexFile::LanguageCode() == Desc.LanguageCode())680 {
680 break;681 pkgCache::DescIterator DescDefault = DescriptionList();
681 if (Desc.end() == true) 682 pkgCache::DescIterator Desc = DescDefault;
682 Desc = DescDefault;683
683 return Desc;684 for (; Desc.end() == false; Desc++)
685 if (*l == Desc.LanguageCode())
686 break;
687 if (Desc.end() == true)
688 Desc = DescDefault;
689 return Desc;
690 }
691
692 return DescriptionList();
684};693};
685694
686 /*}}}*/695 /*}}}*/
687696
=== modified file 'apt-pkg/pkgcache.h'
--- apt-pkg/pkgcache.h 2009-07-30 15:34:48 +0000
+++ apt-pkg/pkgcache.h 2010-06-11 16:24:33 +0000
@@ -245,7 +245,7 @@
245 map_ptrloc File; // PackageFile245 map_ptrloc File; // PackageFile
246 map_ptrloc NextFile; // PkgVerFile246 map_ptrloc NextFile; // PkgVerFile
247 map_ptrloc Offset; // File offset247 map_ptrloc Offset; // File offset
248 unsigned short Size;248 unsigned long Size;
249};249};
250 /*}}}*/250 /*}}}*/
251struct pkgCache::DescFile /*{{{*/251struct pkgCache::DescFile /*{{{*/
@@ -253,7 +253,7 @@
253 map_ptrloc File; // PackageFile253 map_ptrloc File; // PackageFile
254 map_ptrloc NextFile; // PkgVerFile254 map_ptrloc NextFile; // PkgVerFile
255 map_ptrloc Offset; // File offset255 map_ptrloc Offset; // File offset
256 unsigned short Size;256 unsigned long Size;
257};257};
258 /*}}}*/258 /*}}}*/
259struct pkgCache::Version /*{{{*/259struct pkgCache::Version /*{{{*/
260260
=== modified file 'apt-pkg/policy.cc'
--- apt-pkg/policy.cc 2010-02-17 21:40:05 +0000
+++ apt-pkg/policy.cc 2010-06-11 16:24:33 +0000
@@ -106,7 +106,7 @@
106106
107 if (_config->FindB("Debug::pkgPolicy",false) == true)107 if (_config->FindB("Debug::pkgPolicy",false) == true)
108 for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); F++)108 for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); F++)
109 cout << "Prio of " << F.FileName() << ' ' << PFPriority[F->ID] << endl; 109 std::clog << "Prio of " << F.FileName() << ' ' << PFPriority[F->ID] << std::endl;
110 110
111 return true; 111 return true;
112}112}
@@ -121,6 +121,10 @@
121 signed Max = GetPriority(Pkg);121 signed Max = GetPriority(Pkg);
122 pkgCache::VerIterator Pref = GetMatch(Pkg);122 pkgCache::VerIterator Pref = GetMatch(Pkg);
123123
124 // Alternatives in case we can not find our package pin (Bug#512318).
125 signed MaxAlt = 0;
126 pkgCache::VerIterator PrefAlt;
127
124 // no package = no candidate version128 // no package = no candidate version
125 if (Pkg.end() == true)129 if (Pkg.end() == true)
126 return Pref;130 return Pref;
@@ -159,6 +163,11 @@
159 {163 {
160 Pref = Ver;164 Pref = Ver;
161 Max = Prio;165 Max = Prio;
166 }
167 if (Prio > MaxAlt)
168 {
169 PrefAlt = Ver;
170 MaxAlt = Prio;
162 } 171 }
163 } 172 }
164 173
@@ -175,6 +184,11 @@
175 break;184 break;
176 } 185 }
177 }186 }
187 // If we do not find our candidate, use the one with the highest pin.
188 // This means that if there is a version available with pin > 0; there
189 // will always be a candidate (Closes: #512318)
190 if (!Pref.IsGood() && MaxAlt > 0)
191 Pref = PrefAlt;
178 return Pref;192 return Pref;
179}193}
180 /*}}}*/194 /*}}}*/
181195
=== modified file 'apt-pkg/srcrecords.cc'
--- apt-pkg/srcrecords.cc 2007-06-14 09:59:13 +0000
+++ apt-pkg/srcrecords.cc 2010-06-11 16:24:33 +0000
@@ -77,7 +77,7 @@
77/* This searches on both source package names and output binary names and77/* This searches on both source package names and output binary names and
78 returns the first found. A 'cursor' like system is used to allow this78 returns the first found. A 'cursor' like system is used to allow this
79 function to be called multiple times to get successive entries */79 function to be called multiple times to get successive entries */
80pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool SrcOnly)80pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool const &SrcOnly)
81{81{
82 if (Current == Files.end())82 if (Current == Files.end())
83 return 0;83 return 0;
@@ -116,7 +116,7 @@
116// Parser::BuildDepType - Convert a build dep to a string /*{{{*/116// Parser::BuildDepType - Convert a build dep to a string /*{{{*/
117// ---------------------------------------------------------------------117// ---------------------------------------------------------------------
118/* */118/* */
119const char *pkgSrcRecords::Parser::BuildDepType(unsigned char Type)119const char *pkgSrcRecords::Parser::BuildDepType(unsigned char const &Type)
120{120{
121 const char *fields[] = {"Build-Depends", 121 const char *fields[] = {"Build-Depends",
122 "Build-Depends-Indep",122 "Build-Depends-Indep",
123123
=== modified file 'apt-pkg/srcrecords.h'
--- apt-pkg/srcrecords.h 2007-06-14 09:59:13 +0000
+++ apt-pkg/srcrecords.h 2010-06-11 16:24:33 +0000
@@ -59,7 +59,7 @@
59 59
60 virtual bool Restart() = 0;60 virtual bool Restart() = 0;
61 virtual bool Step() = 0;61 virtual bool Step() = 0;
62 virtual bool Jump(unsigned long Off) = 0;62 virtual bool Jump(unsigned long const &Off) = 0;
63 virtual unsigned long Offset() = 0;63 virtual unsigned long Offset() = 0;
64 virtual string AsStr() = 0;64 virtual string AsStr() = 0;
65 65
@@ -69,8 +69,8 @@
69 virtual string Section() const = 0;69 virtual string Section() const = 0;
70 virtual const char **Binaries() = 0; // Ownership does not transfer70 virtual const char **Binaries() = 0; // Ownership does not transfer
7171
72 virtual bool BuildDepends(vector<BuildDepRec> &BuildDeps, bool ArchOnly) = 0;72 virtual bool BuildDepends(vector<BuildDepRec> &BuildDeps, bool const &ArchOnly, bool const &StripMultiArch = true) = 0;
73 static const char *BuildDepType(unsigned char Type);73 static const char *BuildDepType(unsigned char const &Type);
7474
75 virtual bool Files(vector<pkgSrcRecords::File> &F) = 0;75 virtual bool Files(vector<pkgSrcRecords::File> &F) = 0;
76 76
@@ -90,7 +90,7 @@
90 bool Restart();90 bool Restart();
9191
92 // Locate a package by name92 // Locate a package by name
93 Parser *Find(const char *Package,bool SrcOnly = false);93 Parser *Find(const char *Package,bool const &SrcOnly = false);
94 94
95 pkgSrcRecords(pkgSourceList &List);95 pkgSrcRecords(pkgSourceList &List);
96 ~pkgSrcRecords();96 ~pkgSrcRecords();
9797
=== modified file 'buildlib/apti18n.h.in'
--- buildlib/apti18n.h.in 2008-11-24 10:16:13 +0000
+++ buildlib/apti18n.h.in 2010-06-11 16:24:33 +0000
@@ -11,8 +11,10 @@
11# include <libintl.h>11# include <libintl.h>
12# ifdef APT_DOMAIN12# ifdef APT_DOMAIN
13# define _(x) dgettext(APT_DOMAIN,x)13# define _(x) dgettext(APT_DOMAIN,x)
14# define P_(msg,plural,n) dngettext(APT_DOMAIN,msg,plural,n)
14# else15# else
15# define _(x) gettext(x)16# define _(x) gettext(x)
17# define P_(msg,plural,n) ngettext(msg,plural,n)
16# endif18# endif
17# define N_(x) x19# define N_(x) x
18#else20#else
@@ -21,5 +23,6 @@
21# define textdomain(a)23# define textdomain(a)
22# define bindtextdomain(a, b)24# define bindtextdomain(a, b)
23# define _(x) x25# define _(x) x
26# define P_(msg,plural,n) (n == 1 ? msg : plural)
24# define N_(x) x27# define N_(x) x
25#endif28#endif
2629
=== modified file 'buildlib/library.mak'
--- buildlib/library.mak 2009-12-12 00:54:33 +0000
+++ buildlib/library.mak 2010-06-11 16:24:33 +0000
@@ -16,11 +16,11 @@
16# See defaults.mak for information about LOCAL16# See defaults.mak for information about LOCAL
1717
18# Some local definitions18# Some local definitions
19LOCAL := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR)19LOCAL := lib$(LIBRARY).so.$(MAJOR).$(MINOR)
20$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE)))))20$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE)))))
21$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE)))))21$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE)))))
22$(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS))22$(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS))
23$(LOCAL)-SONAME := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR)23$(LOCAL)-SONAME := lib$(LIBRARY).so.$(MAJOR)
24$(LOCAL)-SLIBS := $(SLIBS)24$(LOCAL)-SLIBS := $(SLIBS)
25$(LOCAL)-LIBRARY := $(LIBRARY)25$(LOCAL)-LIBRARY := $(LIBRARY)
2626
@@ -29,7 +29,7 @@
2929
30# Install the command hooks30# Install the command hooks
31headers: $($(LOCAL)-HEADERS)31headers: $($(LOCAL)-HEADERS)
32library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR)32library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY).so.$(MAJOR)
33clean: clean/$(LOCAL)33clean: clean/$(LOCAL)
34veryclean: veryclean/$(LOCAL)34veryclean: veryclean/$(LOCAL)
3535
@@ -44,14 +44,14 @@
44 -rm -f $($(@F)-HEADERS) $(LIB)/lib$($(@F)-LIBRARY)*.so*44 -rm -f $($(@F)-HEADERS) $(LIB)/lib$($(@F)-LIBRARY)*.so*
4545
46# Build rules for the two symlinks46# Build rules for the two symlinks
47.PHONY: $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so47.PHONY: $(LIB)/lib$(LIBRARY).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so
48$(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR): $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR)48$(LIB)/lib$(LIBRARY).so.$(MAJOR): $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR)
49 ln -sf $(<F) $@49 ln -sf $(<F) $@
50$(LIB)/lib$(LIBRARY).so: $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR)50$(LIB)/lib$(LIBRARY).so: $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR)
51 ln -sf $(<F) $@51 ln -sf $(<F) $@
5252
53# The binary build rule53# The binary build rule
54$(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)54$(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)
55 -rm -f $(LIB)/lib$($(@F)-LIBRARY)*.so* 2> /dev/null55 -rm -f $(LIB)/lib$($(@F)-LIBRARY)*.so* 2> /dev/null
56 echo Building shared library $@56 echo Building shared library $@
57 $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\57 $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\
5858
=== modified file 'buildlib/libversion.mak'
--- buildlib/libversion.mak 2009-12-22 09:01:18 +0000
+++ buildlib/libversion.mak 2010-06-11 16:24:33 +0000
@@ -12,6 +12,7 @@
12# The versionnumber is extracted from apt-inst/makefile - see also there.12# The versionnumber is extracted from apt-inst/makefile - see also there.
13LIBAPTINST_MAJOR=$(shell egrep '^MAJOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2)13LIBAPTINST_MAJOR=$(shell egrep '^MAJOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2)
14LIBAPTINST_MINOR=$(shell egrep '^MINOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2)14LIBAPTINST_MINOR=$(shell egrep '^MINOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2)
15<<<<<<< TREE
1516
16# FIXME: In previous releases this lovely variable includes17# FIXME: In previous releases this lovely variable includes
17# the detected libc and libdc++ version. As this is bogus we18# the detected libc and libdc++ version. As this is bogus we
@@ -19,3 +20,5 @@
19# And we don't want to do this now. So we hardcode a value here,20# And we don't want to do this now. So we hardcode a value here,
20# and drop it later on (hopefully as fast as possible).21# and drop it later on (hopefully as fast as possible).
21LIBEXT=-libc6.10-622LIBEXT=-libc6.10-6
23=======
24>>>>>>> MERGE-SOURCE
2225
=== modified file 'cmdline/apt-cache.cc'
--- cmdline/apt-cache.cc 2010-02-17 21:40:05 +0000
+++ cmdline/apt-cache.cc 2010-06-11 16:24:33 +0000
@@ -1500,15 +1500,26 @@
1500 if (_error->PendingError() == true)1500 if (_error->PendingError() == true)
1501 return false;1501 return false;
15021502
1503 unsigned found = 0;
1503 for (const char **I = CmdL.FileList + 1; *I != 0; I++)1504 for (const char **I = CmdL.FileList + 1; *I != 0; I++)
1504 {1505 {
1505 SrcRecs.Restart();1506 SrcRecs.Restart();
1506 1507
1507 pkgSrcRecords::Parser *Parse;1508 pkgSrcRecords::Parser *Parse;
1508 while ((Parse = SrcRecs.Find(*I,false)) != 0)1509 unsigned found_this = 0;
1509 cout << Parse->AsStr() << endl;;1510 while ((Parse = SrcRecs.Find(*I,false)) != 0) {
1511 cout << Parse->AsStr() << endl;;
1512 found++;
1513 found_this++;
1514 }
1515 if (found_this == 0) {
1516 _error->Warning(_("Unable to locate package %s"),*I);
1517 continue;
1518 }
1510 } 1519 }
1511 return true;1520 if (found > 0)
1521 return true;
1522 return _error->Error(_("No packages found"));
1512}1523}
1513 /*}}}*/1524 /*}}}*/
1514// Policy - Show the results of the preferences file /*{{{*/1525// Policy - Show the results of the preferences file /*{{{*/
15151526
=== modified file 'cmdline/apt-get.cc'
--- cmdline/apt-get.cc 2010-04-08 19:14:03 +0000
+++ cmdline/apt-get.cc 2010-06-11 16:24:33 +0000
@@ -1520,10 +1520,9 @@
1520 // only show stuff in the list that is not yet marked for removal1520 // only show stuff in the list that is not yet marked for removal
1521 if(Cache[Pkg].Delete() == false) 1521 if(Cache[Pkg].Delete() == false)
1522 {1522 {
1523 ++autoRemoveCount;
1523 // we don't need to fill the strings if we don't need them1524 // we don't need to fill the strings if we don't need them
1524 if (smallList == true)1525 if (smallList == false)
1525 ++autoRemoveCount;
1526 else
1527 {1526 {
1528 autoremovelist += string(Pkg.Name()) + " ";1527 autoremovelist += string(Pkg.Name()) + " ";
1529 autoremoveversions += string(Cache[Pkg].CandVersion) + "\n";1528 autoremoveversions += string(Cache[Pkg].CandVersion) + "\n";
@@ -1536,9 +1535,12 @@
1536 if (doAutoRemove == false && (autoremovelist.empty() == false || autoRemoveCount != 0))1535 if (doAutoRemove == false && (autoremovelist.empty() == false || autoRemoveCount != 0))
1537 {1536 {
1538 if (smallList == false)1537 if (smallList == false)
1539 ShowList(c1out, _("The following packages were automatically installed and are no longer required:"), autoremovelist, autoremoveversions);1538 ShowList(c1out, P_("The following package is automatically installed and is no longer required:",
1539 "The following packages were automatically installed and are no longer required:",
1540 autoRemoveCount), autoremovelist, autoremoveversions);
1540 else1541 else
1541 ioprintf(c1out, _("%lu packages were automatically installed and are no longer required.\n"), autoRemoveCount);1542 ioprintf(c1out, P_("%lu package was automatically installed and is no longer required.\n",
1543 "%lu packages were automatically installed and are no longer required.\n", autoRemoveCount), autoRemoveCount);
1542 c1out << _("Use 'apt-get autoremove' to remove them.") << std::endl;1544 c1out << _("Use 'apt-get autoremove' to remove them.") << std::endl;
1543 }1545 }
1544 // Now see if we had destroyed anything (if we had done anything)1546 // Now see if we had destroyed anything (if we had done anything)
15451547
=== modified file 'cmdline/apt-key'
--- cmdline/apt-key 2010-02-17 21:40:05 +0000
+++ cmdline/apt-key 2010-06-11 16:24:33 +0000
@@ -143,6 +143,7 @@
143else143else
144 #echo "generate list"144 #echo "generate list"
145 TRUSTEDFILE="/etc/apt/trusted.gpg"145 TRUSTEDFILE="/etc/apt/trusted.gpg"
146 eval $(apt-config shell TRUSTEDFILE Apt::GPGV::TrustedKeyring)
146 if [ -r "$TRUSTEDFILE" ]; then147 if [ -r "$TRUSTEDFILE" ]; then
147 GPG="$GPG --keyring $TRUSTEDFILE"148 GPG="$GPG --keyring $TRUSTEDFILE"
148 fi149 fi
149150
=== modified file 'cmdline/apt-mark'
--- cmdline/apt-mark 2010-03-12 09:16:11 +0000
+++ cmdline/apt-mark 2010-06-11 16:24:33 +0000
@@ -19,10 +19,10 @@
19 if not os.path.exists(STATE_FILE):19 if not os.path.exists(STATE_FILE):
20 return20 return
21 auto = set()21 auto = set()
22 tagfile = apt_pkg.ParseTagFile(open(STATE_FILE))22 tagfile = apt_pkg.TagFile(open(STATE_FILE))
23 while tagfile.Step():23 for section in tagfile:
24 pkgname = tagfile.Section.get("Package")24 pkgname = section.get("Package")
25 autoInst = tagfile.Section.get("Auto-Installed")25 autoInst = section.get("Auto-Installed")
26 if int(autoInst):26 if int(autoInst):
27 auto.add(pkgname)27 auto.add(pkgname)
28 print "\n".join(sorted(auto))28 print "\n".join(sorted(auto))
@@ -33,24 +33,24 @@
33 # open the statefile33 # open the statefile
34 if os.path.exists(STATE_FILE):34 if os.path.exists(STATE_FILE):
35 try:35 try:
36 tagfile = apt_pkg.ParseTagFile(open(STATE_FILE))36 tagfile = apt_pkg.TagFile(open(STATE_FILE))
37 outfile = open(STATE_FILE+".tmp","w")37 outfile = open(STATE_FILE+".tmp","w")
38 except IOError, msg:38 except IOError, msg:
39 print "%s, are you root?" % (msg)39 print "%s, are you root?" % (msg)
40 sys.exit(1)40 sys.exit(1)
41 while tagfile.Step():41 for section in tagfile:
42 pkgname = tagfile.Section.get("Package")42 pkgname = section.get("Package")
43 autoInst = tagfile.Section.get("Auto-Installed")43 autoInst = section.get("Auto-Installed")
44 if pkgname in pkgs:44 if pkgname in pkgs:
45 if options.verbose:45 if options.verbose:
46 print "changing %s to %s" % (pkgname,action)46 print "changing %s to %s" % (pkgname,action)
47 newsec = apt_pkg.RewriteSection(tagfile.Section,47 newsec = apt_pkg.rewrite_section(section,
48 [],48 [],
49 [ ("Auto-Installed",str(action)) ])49 [ ("Auto-Installed",str(action)) ])
50 pkgs.remove(pkgname)50 pkgs.remove(pkgname)
51 outfile.write(newsec+"\n")51 outfile.write(newsec+"\n")
52 else:52 else:
53 outfile.write(str(tagfile.Section)+"\n")53 outfile.write(str(section)+"\n")
54 if action == 1:54 if action == 1:
55 for pkgname in pkgs:55 for pkgname in pkgs:
56 if options.verbose:56 if options.verbose:
@@ -78,7 +78,7 @@
7878
79 # get the state-file79 # get the state-file
80 if not options.filename:80 if not options.filename:
81 STATE_FILE = apt_pkg.Config.FindDir("Dir::State") + "extended_states"81 STATE_FILE = apt_pkg.config.find_dir("Dir::State") + "extended_states"
82 else:82 else:
83 STATE_FILE=options.filename83 STATE_FILE=options.filename
8484
8585
=== modified file 'configure.in'
--- configure.in 2010-02-17 21:40:05 +0000
+++ configure.in 2010-06-11 16:24:33 +0000
@@ -18,7 +18,11 @@
18AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)18AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
1919
20dnl -- SET THIS TO THE RELEASE VERSION --20dnl -- SET THIS TO THE RELEASE VERSION --
21<<<<<<< TREE
21AC_DEFINE_UNQUOTED(VERSION,"0.7.25ubuntu1")22AC_DEFINE_UNQUOTED(VERSION,"0.7.25ubuntu1")
23=======
24AC_DEFINE_UNQUOTED(VERSION,"0.7.25.4")
25>>>>>>> MERGE-SOURCE
22PACKAGE="apt"26PACKAGE="apt"
23AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")27AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
24AC_SUBST(PACKAGE)28AC_SUBST(PACKAGE)
@@ -83,6 +87,10 @@
8387
84AC_SUBST(BDBLIB)88AC_SUBST(BDBLIB)
8589
90AC_CHECK_LIB(z, gzopen,
91 [AC_CHECK_HEADER(zlib.h, [], AC_MSG_ERROR([failed: zlib.h not found]))],
92 AC_MSG_ERROR([failed: Need libz]))
93
86dnl Converts the ARCH to be something singular for this general CPU family94dnl Converts the ARCH to be something singular for this general CPU family
87dnl This is often the dpkg architecture string.95dnl This is often the dpkg architecture string.
88dnl First check against the full canonical canoncial-system-type in $target96dnl First check against the full canonical canoncial-system-type in $target
8997
=== modified file 'debian/NEWS'
--- debian/NEWS 2009-11-24 11:26:07 +0000
+++ debian/NEWS 2010-06-11 16:24:33 +0000
@@ -1,8 +1,15 @@
1apt (0.7.26~exp3) experimental; urgency=low
2
3 * apt-ftparchive now reads the standard configuration files in
4 /etc/apt/apt.conf and /etc/apt/apt.conf.d.
5
6 -- Julian Andres Klode <jak@debian.org> Fri, 26 Mar 2010 15:34:16 +0100
7
1apt (0.7.24) unstable; urgency=low8apt (0.7.24) unstable; urgency=low
29
3 * Already included in the last version but now with better documentation10 * Already included in the last version but now with better documentation
4 is the possibility to add/prefer different compression types while11 is the possibility to add/prefer different compression types while
5 downloading archive informations, which can decrease the time needed for12 downloading archive information, which can decrease the time needed for
6 update on slow machines. See apt.conf (5) manpage for details.13 update on slow machines. See apt.conf (5) manpage for details.
7 * APT manages his manpage translations now with po4a, thanks to Nicolas14 * APT manages his manpage translations now with po4a, thanks to Nicolas
8 François and Kurasawa Nozomu, who also provide the ja translation.15 François and Kurasawa Nozomu, who also provide the ja translation.
916
=== modified file 'debian/changelog'
--- debian/changelog 2010-06-09 10:04:54 +0000
+++ debian/changelog 2010-06-11 16:24:33 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1apt (0.7.25.3ubuntu10) maverick; urgency=low2apt (0.7.25.3ubuntu10) maverick; urgency=low
23
3 [ Michael Vogt ]4 [ Michael Vogt ]
@@ -78,6 +79,150 @@
78 - fix memory leaks in error conditions in DoSource()79 - fix memory leaks in error conditions in DoSource()
79 * apt-pkg/deb/dpkgpm.cc:80 * apt-pkg/deb/dpkgpm.cc:
80 - fix error message construction in OpenLog()81 - fix error message construction in OpenLog()
82=======
83apt (0.7.26~exp5) UNRELEASED; urgency=low
84
85 [ Christian Perrier ]
86 * Slovak translation update. Closes: #581159
87 * Italian translation update. Closes: #581742
88
89 [ Martin Pitt ]
90 * debian/rules:
91 - Make DEB_BUILD_OPTIONS=noopt actually work by passing the right
92 CXXFLAGS.
93 * apt-pkg/contrib/fileutl.{h,cc}:
94 - Add support for transparent reading of gzipped files.
95 - Link against zlib (in apt-pkg/makefile) and add zlib build dependency.
96 - [Weak internal ABI BREAK] This changes the behaviour of FileFd for
97 reading gzipped files.
98 * configure.in:
99 - Check for zlib library and headers.
100 * apt-pkg/deb/debindexfile.cc:
101 - If we do not find uncompressed package/source/translation indexes, look
102 for gzip compressed ones.
103 * apt-pkg/acquire-item.cc:
104 - If the Acquire::GzipIndexes option is true and we download a gzipped
105 index file, keep it as it is (and rename to .gz) instead of
106 uncompressing it.
107 * doc/apt.conf.5.xml:
108 - Document the new Acquire::GzipIndexes option.
109 * doc/po/apt-doc.pot, doc/po/de.po:
110 - German translation of new Acquire::GzipIndexes option.
111 * Add test/test-indexes.sh:
112 - Test behaviour of index retrieval and usage, in particular with
113 uncompressed and gzip compressed indexes.
114
115 -- Christian Perrier <bubulle@debian.org> Tue, 11 May 2010 19:52:00 +0200
116
117apt (0.7.26~exp4) unstable; urgency=low
118
119 * [ Abi break ] apt-pkg/acquire-item.{cc,h}:
120 - add "IsIndexFile" to constructor of pkgAcqFile so that it sends
121 the right cache control headers
122 * apt-pkg/depcache.cc:
123 - fix incorrect std::cout usage for debug output
124 * test/libapt/getlanguages_test.cc:
125 - Add test for Esperanto that has nocounty associated with them
126 (LP: #560956)
127 * apt-pkg/deb/debrecords.cc:
128 - fix max tag buffer size (LP: #545336, closes: #578959)
129 * debian/rules:
130 - install html doxygen in libapt-pkg-doc as well
131
132 -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 04 May 2010 09:55:08 +0200
133
134apt (0.7.26~exp3) UNRELEASED; urgency=low
135
136 [ Christian Perrier ]
137 * German translation update. Closes: #571037
138 * Spanish manpages translation update. Closes: #573293
139 * Dutch translation update. Closes: #573946
140 * Polish manpages translation update. Closes: #574558
141 * Add "manpages-pl (<< 20060617-3~)" to avoid file conflicts with
142 that package that was providing some manpages for APT utilities.
143
144 [ Julian Andres Klode ]
145 * cmdline/apt-cache.cc:
146 - Change behavior of showsrc to match the one of show (Closes: #512046).
147 * cmdline/apt-key:
148 - Honor Apt::GPGV::TrustedKeyring (Closes: #316390)
149 * cmdline/apt-mark:
150 - Use the new python-apt API (and conflict with python-apt << 0.7.93.2).
151 * apt-inst/contrib/arfile.h:
152 - Add public ARArchive::Members() which returns the list of members.
153 * apt-pkg/policy.cc:
154 - Always return a candidate if there is at least one version pinned > 0
155 (Closes: #512318)
156 * ftparchive/apt-ftparchive.cc:
157 - Read default configuration (Closes: #383257)
158 * debian/rules:
159 - Fix the libraries name to be e.g. libapt-pkg4.9 instead of
160 libapt-pkg-4.9.
161
162 [ Michael Vogt ]
163 * apt-pkg/deb/dpkgpm.cc:
164 - fix backgrounding when dpkg runs (closes: #486222)
165 * cmdline/apt-mark:
166 - show error on incorrect aguments (LP: #517917), thanks to
167 Torsten Spindler
168 * cmdline/apt-get.cc:
169 - if apt-get source foo=version or foo/distro can not be found,
170 error out (LP: #502641)
171 * apt-pkg/packagemanager.cc:
172 - better debug output
173 * doc/examples/configure-index:
174 - add missing Debug::pkgPackageManager option
175
176 -- Christian Perrier <bubulle@debian.org> Wed, 24 Feb 2010 22:13:50 +0100
177
178apt (0.7.26~exp2) experimental; urgency=low
179
180 * fix crash when LANGUAGE is not set
181
182 -- Michael Vogt <mvo@debian.org> Thu, 18 Feb 2010 22:07:23 +0100
183
184apt (0.7.26~exp1) experimental; urgency=low
185
186 [ David Kalnischkies ]
187 * [BREAK] add possibility to download and use multiply
188 Translation files, configurable with Acquire::Translation
189 (Closes: #444222, #448216, #550564)
190 * Ignore :qualifiers after package name in build dependencies
191 for now as long we don't understand them (Closes: #558103)
192 * apt-pkg/contrib/mmap.{cc,h}:
193 - extend it to have a growable flag - unused now but maybe...
194 * apt-pkg/pkgcache.h:
195 - use long instead of short for {Ver,Desc}File size,
196 patch from Víctor Manuel Jáquez Leal, thanks! (Closes: #538917)
197 * apt-pkg/acquire-item.cc:
198 - allow also to skip the last patch if target is reached,
199 thanks Bernhard R. Link! (Closes: #545699)
200 * ftparchive/writer.{cc,h}:
201 - add --arch option for packages and contents commands
202 - if an arch is given accept only *_all.deb and *_arch.deb instead
203 of *.deb. Thanks Stephan Bosch for the patch! (Closes: #319710)
204 - add APT::FTPArchive::AlwaysStat to disable the too aggressive
205 caching if versions are build multiply times (not recommend)
206 Patch by Christoph Goehre, thanks! (Closes: #463260)
207 * apt-pkg/deb/dpkgpm.cc:
208 - stdin redirected to /dev/null takes all CPU (Closes: #569488)
209 Thanks to Aurelien Jarno for providing (again) a patch!
210 * buildlib/apti18n.h.in, po/makefile:
211 - add ngettext support with P_()
212 * aptconfiguration.cc:
213 - include all existing Translation files in the Cache (Closes: 564137)
214 * debian/control:
215 - update with no changes to debian policy 3.8.4
216 * doc/apt_preferences.5.xml:
217 - explicitly warn against careless use (Closes: #567669)
218 * debian/rules:
219 - remove creation of empty dir /usr/share/apt
220 * doc/apt-cdrom.8.xml:
221 - fix typo spotted by lintian: proc(c)eed
222
223 [ Ivan Masár ]
224 * Slovak translation update. Closes: #568294
225>>>>>>> MERGE-SOURCE
81 226
82 -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 26 Mar 2010 16:57:49 +0100227 -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 26 Mar 2010 16:57:49 +0100
83228
@@ -92,9 +237,23 @@
92apt (0.7.25.3ubuntu2) lucid; urgency=low237apt (0.7.25.3ubuntu2) lucid; urgency=low
93238
94 [ Michael Vogt ]239 [ Michael Vogt ]
240<<<<<<< TREE
241=======
242 * [BREAK] merged lp:~mvo/apt/history
243 - this writes a /var/log/apt/history tagfile that contains details
244 from the transaction (complements term.log)
245 * methods/http.cc:
246 - add cache-control headers even if no cache is given to allow
247 adding options for intercepting proxies
248 - add Acquire::http::ProxyAutoDetect configuration that
249 can be used to call a external helper to figure out the
250 proxy configuration and return it to apt via stdout
251 (this is a step towards WPAD and zeroconf/avahi support)
252>>>>>>> MERGE-SOURCE
95 * abicheck/253 * abicheck/
96 - add new abitest tester using the ABI Compliance Checker from254 - add new abitest tester using the ABI Compliance Checker from
97 http://ispras.linuxfoundation.org/index.php/ABI_compliance_checker255 http://ispras.linuxfoundation.org/index.php/ABI_compliance_checker
256<<<<<<< TREE
98 * debian/apt.conf.autoremove:257 * debian/apt.conf.autoremove:
99 - add "oldlibs" to the APT::Never-MarkAuto-Sections as its used258 - add "oldlibs" to the APT::Never-MarkAuto-Sections as its used
100 for transitional packages259 for transitional packages
@@ -118,12 +277,15 @@
118 From that point on gnome-control-center will have to warn if277 From that point on gnome-control-center will have to warn if
119 the user makes changes to the proxy settings and does not apply278 the user makes changes to the proxy settings and does not apply
120 them system wide279 them system wide
280=======
281>>>>>>> MERGE-SOURCE
121282
122 [ Robert Collins ]283 [ Robert Collins ]
123 * Change the package index Info methods to allow apt-cache policy to be284 * Change the package index Info methods to allow apt-cache policy to be
124 useful when using several different archives on the same host.285 useful when using several different archives on the same host.
125 (Closes: #329814, LP: #22354)286 (Closes: #329814, LP: #22354)
126287
288<<<<<<< TREE
127 -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 12 Mar 2010 23:10:52 +0100289 -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 12 Mar 2010 23:10:52 +0100
128290
129apt (0.7.25.3ubuntu1) lucid; urgency=low291apt (0.7.25.3ubuntu1) lucid; urgency=low
@@ -140,6 +302,9 @@
140 * Slovak translation update. Closes: #568294302 * Slovak translation update. Closes: #568294
141303
142 -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 17 Feb 2010 23:33:32 +0100304 -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 17 Feb 2010 23:33:32 +0100
305=======
306 -- Michael Vogt <mvo@debian.org> Thu, 18 Feb 2010 16:11:39 +0100
307>>>>>>> MERGE-SOURCE
143308
144apt (0.7.25.3) unstable; urgency=low309apt (0.7.25.3) unstable; urgency=low
145310
146311
=== modified file 'debian/control'
--- debian/control 2010-04-22 08:57:37 +0000
+++ debian/control 2010-06-11 16:24:33 +0000
@@ -6,16 +6,31 @@
6Uploaders: Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>,6Uploaders: Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>,
7 Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>,7 Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>,
8 Luca Bruno <lethalman88@gmail.com>, Julian Andres Klode <jak@debian.org>8 Luca Bruno <lethalman88@gmail.com>, Julian Andres Klode <jak@debian.org>
9<<<<<<< TREE
9Standards-Version: 3.8.310Standards-Version: 3.8.3
10Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, xsltproc, docbook-xsl, po4a (>= 0.34-2), autotools-dev, intltool11Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, xsltproc, docbook-xsl, po4a (>= 0.34-2), autotools-dev, intltool
11Vcs-Bzr: https://code.launchpad.net/~ubuntu-core-dev/apt/ubuntu12Vcs-Bzr: https://code.launchpad.net/~ubuntu-core-dev/apt/ubuntu
13=======
14Standards-Version: 3.8.4
15Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), zlib1g-dev | libz-dev, debiandoc-sgml, xsltproc, docbook-xsl, po4a (>= 0.34-2), autotools-dev
16Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/
17>>>>>>> MERGE-SOURCE
1218
13Package: apt19Package: apt
14Architecture: any20Architecture: any
21<<<<<<< TREE
15Depends: ${shlibs:Depends}, ${misc:Depends}22Depends: ${shlibs:Depends}, ${misc:Depends}
16Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)23Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
24=======
25Depends: ${shlibs:Depends}, debian-archive-keyring, ${misc:Depends}
26Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7), manpages-pl (<< 20060617-3~)
27>>>>>>> MERGE-SOURCE
17Provides: ${libapt-pkg:provides}28Provides: ${libapt-pkg:provides}
29<<<<<<< TREE
18Recommends: ubuntu-keyring30Recommends: ubuntu-keyring
31=======
32Conflicts: python-apt (<< 0.7.93.2~)
33>>>>>>> MERGE-SOURCE
19Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt34Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt
20Description: Advanced front-end for dpkg35Description: Advanced front-end for dpkg
21 This is Debian's next generation front-end for the dpkg package manager.36 This is Debian's next generation front-end for the dpkg package manager.
@@ -53,6 +68,9 @@
53Description: Documentation for APT development68Description: Documentation for APT development
54 This package contains documentation for development of the APT69 This package contains documentation for development of the APT
55 Debian package manipulation program and its libraries.70 Debian package manipulation program and its libraries.
71 .
72 This includes the source code documentation generated by doxygen
73 in html format.
5674
57Package: apt-utils75Package: apt-utils
58Architecture: any76Architecture: any
5977
=== modified file 'debian/rules'
--- debian/rules 2010-06-09 08:49:00 +0000
+++ debian/rules 2010-06-11 16:24:33 +0000
@@ -78,21 +78,21 @@
78include buildlib/libversion.mak78include buildlib/libversion.mak
7979
80# Determine which package we should provide in the control files80# Determine which package we should provide in the control files
81LIBAPTPKG_PROVIDE=libapt-pkg$(LIBEXT)-$(LIBAPTPKG_MAJOR)81LIBAPTPKG_PROVIDE=libapt-pkg$(LIBAPTPKG_MAJOR)
82LIBAPTINST_PROVIDE=libapt-inst$(LIBEXT)-$(LIBAPTINST_MAJOR)82LIBAPTINST_PROVIDE=libapt-inst$(LIBAPTINST_MAJOR)
8383
84debian/shlibs.local: apt-pkg/makefile84debian/shlibs.local: apt-pkg/makefile
85 # We have 3 shlibs.local files.. One for 'apt', one for 'apt-utils' and85 # We have 3 shlibs.local files.. One for 'apt', one for 'apt-utils' and
86 # one for the rest of the packages. This ensures that each package gets86 # one for the rest of the packages. This ensures that each package gets
87 # the right overrides.. 87 # the right overrides..
88 rm -rf $@ $@.apt $@.apt-utils88 rm -rf $@ $@.apt $@.apt-utils
89 echo "libapt-pkg$(LIBEXT) $(LIBAPTPKG_MAJOR)" > $@.apt89 echo "libapt-pkg $(LIBAPTPKG_MAJOR)" > $@.apt
9090
91 echo "libapt-pkg$(LIBEXT) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils91 echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils
92 echo "libapt-inst$(LIBEXT) $(LIBAPTINST_MAJOR)" >> $@.apt-utils92 echo "libapt-inst $(LIBAPTINST_MAJOR)" >> $@.apt-utils
9393
94 echo "libapt-pkg$(LIBEXT) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@94 echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@
95 echo "libapt-inst$(LIBEXT) $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@95 echo "libapt-inst $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@
9696
97build: build/build-stamp 97build: build/build-stamp
98build-doc: build/build-doc-stamp 98build-doc: build/build-doc-stamp
@@ -108,7 +108,7 @@
108 dh_testdir108 dh_testdir
109 -mkdir build109 -mkdir build
110 cp COPYING debian/copyright110 cp COPYING debian/copyright
111 cd build && CXXFLAGS="$(confcxxflags)" ../configure $(confflags)111 cd build && CXXFLAGS="$(CXXFLAGS)" ../configure $(confflags)
112 touch $@112 touch $@
113113
114build/build-stamp: build/configure-stamp114build/build-stamp: build/configure-stamp
@@ -144,7 +144,8 @@
144# 144#
145 dh_installdocs -p$@ $(BLD)/docs/cache* $(BLD)/docs/design* $(BLD)/docs/dpkg-tech* \145 dh_installdocs -p$@ $(BLD)/docs/cache* $(BLD)/docs/design* $(BLD)/docs/dpkg-tech* \
146 $(BLD)/docs/files* $(BLD)/docs/method* \146 $(BLD)/docs/files* $(BLD)/docs/method* \
147 doc/libapt-pkg2_to_3.txt doc/style.txt147 doc/libapt-pkg2_to_3.txt doc/style.txt \
148 $(BLD)/doc/doxygen/html/*
148 dh_installexamples -p$@149 dh_installexamples -p$@
149# dh_installmenu -p$@150# dh_installmenu -p$@
150# dh_installinit -p$@151# dh_installinit -p$@
@@ -190,7 +191,7 @@
190 dh_testdir -p$@191 dh_testdir -p$@
191 dh_testroot -p$@192 dh_testroot -p$@
192 dh_clean -p$@ -k193 dh_clean -p$@ -k
193 dh_installdirs -p$@ /usr/share/bug/$@ /usr/share/$@194 dh_installdirs -p$@
194#195#
195# apt install196# apt install
196#197#
197198
=== modified file 'doc/apt-cdrom.8.xml'
--- doc/apt-cdrom.8.xml 2009-08-26 10:21:54 +0000
+++ doc/apt-cdrom.8.xml 2010-06-11 16:24:33 +0000
@@ -65,7 +65,7 @@
65 <varlistentry><term>add</term>65 <varlistentry><term>add</term>
66 <listitem><para><literal>add</literal> is used to add a new disc to the66 <listitem><para><literal>add</literal> is used to add a new disc to the
67 source list. It will unmount the67 source list. It will unmount the
68 CDROM device, prompt for a disk to be inserted and then procceed to 68 CDROM device, prompt for a disk to be inserted and then proceed to
69 scan it and copy the index files. If the disc does not have a proper69 scan it and copy the index files. If the disc does not have a proper
70 <filename>disk</filename> directory you will be prompted for a descriptive 70 <filename>disk</filename> directory you will be prompted for a descriptive
71 title.71 title.
7272
=== modified file 'doc/apt-ftparchive.1.xml'
--- doc/apt-ftparchive.1.xml 2009-12-12 15:32:18 +0000
+++ doc/apt-ftparchive.1.xml 2010-06-11 16:24:33 +0000
@@ -39,6 +39,7 @@
39 <arg><option>--delink</option></arg>39 <arg><option>--delink</option></arg>
40 <arg><option>--readonly</option></arg>40 <arg><option>--readonly</option></arg>
41 <arg><option>--contents</option></arg>41 <arg><option>--contents</option></arg>
42 <arg><option>--arch <replaceable>architecture</replaceable></option></arg>
42 <arg><option>-o <replaceable>config</replaceable>=<replaceable>string</replaceable></option></arg>43 <arg><option>-o <replaceable>config</replaceable>=<replaceable>string</replaceable></option></arg>
43 <arg><option>-c=<replaceable>file</replaceable></option></arg> 44 <arg><option>-c=<replaceable>file</replaceable></option></arg>
44 <group choice="req">45 <group choice="req">
@@ -542,7 +543,26 @@
542 <listitem><para>543 <listitem><para>
543 Make the caching databases read only. 544 Make the caching databases read only.
544 Configuration Item: <literal>APT::FTPArchive::ReadOnlyDB</literal>.</para></listitem>545 Configuration Item: <literal>APT::FTPArchive::ReadOnlyDB</literal>.</para></listitem>
545 </varlistentry> 546 </varlistentry>
547
548 <varlistentry><term><option>-a</option></term><term><option>--arch</option></term>
549 <listitem><para>Accept in the <literal>packages</literal> and <literal>contents</literal>
550 commands only package files matching <literal>*_arch.deb</literal> or
551 <literal>*_all.deb</literal> instead of all package files in the given path.
552 Configuration Item: <literal>APT::FTPArchive::Architecture</literal>.</para></listitem>
553 </varlistentry>
554
555 <varlistentry><term><option>APT::FTPArchive::AlwaysStat</option></term>
556 <listitem><para>
557 &apt-ftparchive; caches as much as possible of metadata in a cachedb. If packages
558 are recompiled and/or republished with the same version again, this will lead to problems
559 as the now outdated cached metadata like size and checksums will be used. With this option
560 enabled this will no longer happen as it will be checked if the file was changed.
561 Note that this option is set to "<literal>false</literal>" by default as it is not recommend
562 to upload multiply versions/builds of a package with the same versionnumber, so in theory
563 nobody will have these problems and therefore all these extra checks are useless.
564 </para></listitem>
565 </varlistentry>
546566
547 <varlistentry><term><option>APT::FTPArchive::LongDescription</option></term>567 <varlistentry><term><option>APT::FTPArchive::LongDescription</option></term>
548 <listitem><para>568 <listitem><para>
549569
=== modified file 'doc/apt.conf.5.xml'
--- doc/apt.conf.5.xml 2010-01-22 23:37:21 +0000
+++ doc/apt.conf.5.xml 2010-06-11 16:24:33 +0000
@@ -153,7 +153,7 @@
153 <listitem><para>Default release to install packages from if more than one153 <listitem><para>Default release to install packages from if more than one
154 version available. Contains release name, codename or release version. Examples: 'stable', 'testing', 'unstable', 'lenny', 'squeeze', '4.0', '5.0*'. See also &apt-preferences;.</para></listitem>154 version available. Contains release name, codename or release version. Examples: 'stable', 'testing', 'unstable', 'lenny', 'squeeze', '4.0', '5.0*'. See also &apt-preferences;.</para></listitem>
155 </varlistentry>155 </varlistentry>
156 156
157 <varlistentry><term>Ignore-Hold</term>157 <varlistentry><term>Ignore-Hold</term>
158 <listitem><para>Ignore Held packages; This global option causes the problem resolver to158 <listitem><para>Ignore Held packages; This global option causes the problem resolver to
159 ignore held packages in its decision making.</para></listitem>159 ignore held packages in its decision making.</para></listitem>
@@ -410,6 +410,36 @@
410 these warnings are most of the time false negatives. Future versions will maybe include a way to410 these warnings are most of the time false negatives. Future versions will maybe include a way to
411 really prefer uncompressed files to support the usage of local mirrors.</para></listitem>411 really prefer uncompressed files to support the usage of local mirrors.</para></listitem>
412 </varlistentry>412 </varlistentry>
413
414 <varlistentry><term>GzipIndexes</term>
415 <listitem><para>
416 When downloading <literal>gzip</literal> compressed indexes (Packages, Sources, or
417 Translations), keep them gzip compressed locally instead of unpacking
418 them. This saves quite a lot of disk space at the expense of more CPU
419 requirements when building the local package caches. False by default.
420 </para></listitem>
421 </varlistentry>
422
423 <varlistentry><term>Languages</term>
424 <listitem><para>The Languages subsection controls which <filename>Translation</filename> files are downloaded
425 and in which order APT tries to display the Description-Translations. APT will try to display the first
426 available Description in the Language which is listed at first. Languages can be defined with their
427 short or long Languagecodes. Note that not all archives provide <filename>Translation</filename>
428 files for every Language - especially the long Languagecodes are rare, so please
429 inform you which ones are available before you set here impossible values.</para>
430 <para>The default list includes "environment" and "en". "<literal>environment</literal>" has a special meaning here:
431 It will be replaced at runtime with the languagecodes extracted from the <literal>LC_MESSAGES</literal> environment variable.
432 It will also ensure that these codes are not included twice in the list. If <literal>LC_MESSAGES</literal>
433 is set to "C" only the <filename>Translation-en</filename> file (if available) will be used.
434 To force apt to use no Translation file use the setting <literal>Acquire::Languages=none</literal>. "<literal>none</literal>"
435 is another special meaning code which will stop the search for a fitting <filename>Translation</filename> file.
436 This can be used by the system administrator to let APT know that it should download also this files without
437 actually use them if the environment doesn't specify this languages. So the following example configuration will
438 result in the order "en, de" in an english and in "de, en" in a german localization. Note that "fr" is downloaded,
439 but not used if APT is not used in a french localization, in such an environment the order would be "fr, de, en".
440 <programlisting>Acquire::Languages { "environment"; "de"; "en"; "none"; "fr"; };</programlisting></para></listitem>
441 </varlistentry>
442
413 </variablelist>443 </variablelist>
414 </para>444 </para>
415 </refsect1>445 </refsect1>
@@ -1001,6 +1031,7 @@
1001 </listitem>1031 </listitem>
1002 </varlistentry>1032 </varlistentry>
1003-->1033-->
1034
1004 </variablelist>1035 </variablelist>
1005 </refsect1>1036 </refsect1>
1006 1037
10071038
=== modified file 'doc/apt_preferences.5.xml'
--- doc/apt_preferences.5.xml 2010-02-17 21:40:05 +0000
+++ doc/apt_preferences.5.xml 2010-06-11 16:24:33 +0000
@@ -14,7 +14,7 @@
14 &apt-email;14 &apt-email;
15 &apt-product;15 &apt-product;
16 <!-- The last update date -->16 <!-- The last update date -->
17 <date>04 May 2009</date>17 <date>16 February 2010</date>
18 </refentryinfo>18 </refentryinfo>
1919
20 <refmeta>20 <refmeta>
@@ -53,6 +53,14 @@
53The APT preferences file does not affect the choice of instance, only53The APT preferences file does not affect the choice of instance, only
54the choice of version.</para>54the choice of version.</para>
5555
56<para>Preferences are a strong power in the hands of a system administrator
57but they can become also their biggest nightmare if used without care!
58APT will not questioning the preferences so wrong settings will therefore
59lead to uninstallable packages or wrong decisions while upgrading packages.
60Even more problems will arise if multiply distribution releases are mixed
61without a good understanding of the following paragraphs.
62You have been warned.</para>
63
56<para>Note that the files in the <filename>/etc/apt/preferences.d</filename>64<para>Note that the files in the <filename>/etc/apt/preferences.d</filename>
57directory are parsed in alphanumeric ascending order and need to obey the65directory are parsed in alphanumeric ascending order and need to obey the
58following naming convention: The files have no or "<literal>pref</literal>"66following naming convention: The files have no or "<literal>pref</literal>"
5967
=== modified file 'doc/examples/configure-index'
--- doc/examples/configure-index 2010-04-14 17:51:40 +0000
+++ doc/examples/configure-index 2010-06-11 16:24:33 +0000
@@ -289,6 +289,15 @@
289289
290 Order { "gz"; "lzma"; "bz2"; };290 Order { "gz"; "lzma"; "bz2"; };
291 };291 };
292
293 Languages
294 {
295 "environment";
296 "de";
297 "en";
298 "none";
299 "fr";
300 };
292};301};
293302
294// Directory layout303// Directory layout
295304
=== modified file 'doc/po/apt-doc.pot'
--- doc/po/apt-doc.pot 2010-01-22 23:37:21 +0000
+++ doc/po/apt-doc.pot 2010-06-11 16:24:33 +0000
@@ -7,7 +7,7 @@
7msgid ""7msgid ""
8msgstr ""8msgstr ""
9"Project-Id-Version: PACKAGE VERSION\n"9"Project-Id-Version: PACKAGE VERSION\n"
10"POT-Creation-Date: 2010-01-20 12:18+0100\n"10"POT-Creation-Date: 2010-06-11 10:56+0300\n"
11"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"11"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: LANGUAGE <LL@li.org>\n"13"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -894,7 +894,7 @@
894msgstr ""894msgstr ""
895895
896#. type: Content of: <refentry><refsect1><title>896#. type: Content of: <refentry><refsect1><title>
897#: apt-cache.8.xml:62 apt-cdrom.8.xml:47 apt-config.8.xml:47 apt-extracttemplates.1.xml:43 apt-ftparchive.1.xml:55 apt-get.8.xml:125 apt-key.8.xml:35 apt-mark.8.xml:52 apt-secure.8.xml:40 apt-sortpkgs.1.xml:44 apt.conf.5.xml:39 apt_preferences.5.xml:33 sources.list.5.xml:33897#: apt-cache.8.xml:62 apt-cdrom.8.xml:47 apt-config.8.xml:47 apt-extracttemplates.1.xml:43 apt-ftparchive.1.xml:56 apt-get.8.xml:125 apt-key.8.xml:35 apt-mark.8.xml:52 apt-secure.8.xml:40 apt-sortpkgs.1.xml:44 apt.conf.5.xml:39 apt_preferences.5.xml:33 sources.list.5.xml:33
898msgid "Description"898msgid "Description"
899msgstr ""899msgstr ""
900900
@@ -1284,7 +1284,7 @@
1284msgstr ""1284msgstr ""
12851285
1286#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>1286#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1287#: apt-cache.8.xml:281 apt-config.8.xml:93 apt-extracttemplates.1.xml:56 apt-ftparchive.1.xml:492 apt-get.8.xml:319 apt-mark.8.xml:89 apt-sortpkgs.1.xml:54 apt.conf.5.xml:502 apt.conf.5.xml:5241287#: apt-cache.8.xml:281 apt-config.8.xml:93 apt-extracttemplates.1.xml:56 apt-ftparchive.1.xml:493 apt-get.8.xml:319 apt-mark.8.xml:89 apt-sortpkgs.1.xml:54 apt.conf.5.xml:511 apt.conf.5.xml:533
1288msgid "options"1288msgid "options"
1289msgstr ""1289msgstr ""
12901290
@@ -1307,7 +1307,7 @@
1307msgstr ""1307msgstr ""
13081308
1309#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>1309#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1310#: apt-cache.8.xml:291 apt-ftparchive.1.xml:535 apt-get.8.xml:376 apt-sortpkgs.1.xml:581310#: apt-cache.8.xml:291 apt-ftparchive.1.xml:536 apt-get.8.xml:376 apt-sortpkgs.1.xml:58
1311msgid "<option>-s</option>"1311msgid "<option>-s</option>"
1312msgstr ""1312msgstr ""
13131313
@@ -1327,12 +1327,12 @@
1327msgstr ""1327msgstr ""
13281328
1329#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>1329#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1330#: apt-cache.8.xml:299 apt-ftparchive.1.xml:509 apt-get.8.xml:3661330#: apt-cache.8.xml:299 apt-ftparchive.1.xml:510 apt-get.8.xml:366
1331msgid "<option>-q</option>"1331msgid "<option>-q</option>"
1332msgstr ""1332msgstr ""
13331333
1334#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>1334#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1335#: apt-cache.8.xml:299 apt-ftparchive.1.xml:509 apt-get.8.xml:3661335#: apt-cache.8.xml:299 apt-ftparchive.1.xml:510 apt-get.8.xml:366
1336msgid "<option>--quiet</option>"1336msgid "<option>--quiet</option>"
1337msgstr ""1337msgstr ""
13381338
@@ -1381,7 +1381,7 @@
1381msgstr ""1381msgstr ""
13821382
1383#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>1383#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1384#: apt-cache.8.xml:317 apt-cdrom.8.xml:1311384#: apt-cache.8.xml:317 apt-cdrom.8.xml:131 apt-ftparchive.1.xml:548
1385msgid "<option>-a</option>"1385msgid "<option>-a</option>"
1386msgstr ""1386msgstr ""
13871387
@@ -1477,12 +1477,12 @@
1477msgstr ""1477msgstr ""
14781478
1479#. type: Content of: <refentry><refsect1><variablelist>1479#. type: Content of: <refentry><refsect1><variablelist>
1480#: apt-cache.8.xml:356 apt-cdrom.8.xml:150 apt-config.8.xml:98 apt-extracttemplates.1.xml:67 apt-ftparchive.1.xml:568 apt-get.8.xml:554 apt-sortpkgs.1.xml:641480#: apt-cache.8.xml:356 apt-cdrom.8.xml:150 apt-config.8.xml:98 apt-extracttemplates.1.xml:67 apt-ftparchive.1.xml:576 apt-get.8.xml:554 apt-sortpkgs.1.xml:64
1481msgid "&apt-commonoptions;"1481msgid "&apt-commonoptions;"
1482msgstr ""1482msgstr ""
14831483
1484#. type: Content of: <refentry><refsect1><title>1484#. type: Content of: <refentry><refsect1><title>
1485#: apt-cache.8.xml:361 apt-get.8.xml:559 apt-key.8.xml:153 apt-mark.8.xml:122 apt.conf.5.xml:1035 apt_preferences.5.xml:6221485#: apt-cache.8.xml:361 apt-get.8.xml:559 apt-key.8.xml:153 apt-mark.8.xml:122 apt.conf.5.xml:1044 apt_preferences.5.xml:630
1486msgid "Files"1486msgid "Files"
1487msgstr ""1487msgstr ""
14881488
@@ -1492,7 +1492,7 @@
1492msgstr ""1492msgstr ""
14931493
1494#. type: Content of: <refentry><refsect1><title>1494#. type: Content of: <refentry><refsect1><title>
1495#: apt-cache.8.xml:368 apt-cdrom.8.xml:155 apt-config.8.xml:103 apt-extracttemplates.1.xml:74 apt-ftparchive.1.xml:584 apt-get.8.xml:569 apt-key.8.xml:174 apt-mark.8.xml:133 apt-secure.8.xml:181 apt-sortpkgs.1.xml:69 apt.conf.5.xml:1041 apt_preferences.5.xml:629 sources.list.5.xml:2331495#: apt-cache.8.xml:368 apt-cdrom.8.xml:155 apt-config.8.xml:103 apt-extracttemplates.1.xml:74 apt-ftparchive.1.xml:592 apt-get.8.xml:569 apt-key.8.xml:174 apt-mark.8.xml:133 apt-secure.8.xml:181 apt-sortpkgs.1.xml:69 apt.conf.5.xml:1050 apt_preferences.5.xml:637 sources.list.5.xml:233
1496msgid "See Also"1496msgid "See Also"
1497msgstr ""1497msgstr ""
14981498
@@ -1502,7 +1502,7 @@
1502msgstr ""1502msgstr ""
15031503
1504#. type: Content of: <refentry><refsect1><title>1504#. type: Content of: <refentry><refsect1><title>
1505#: apt-cache.8.xml:373 apt-cdrom.8.xml:160 apt-config.8.xml:108 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:588 apt-get.8.xml:575 apt-mark.8.xml:137 apt-sortpkgs.1.xml:731505#: apt-cache.8.xml:373 apt-cdrom.8.xml:160 apt-config.8.xml:108 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:596 apt-get.8.xml:575 apt-mark.8.xml:137 apt-sortpkgs.1.xml:73
1506msgid "Diagnostics"1506msgid "Diagnostics"
1507msgstr ""1507msgstr ""
15081508
@@ -1566,7 +1566,7 @@
1566#: apt-cdrom.8.xml:661566#: apt-cdrom.8.xml:66
1567msgid ""1567msgid ""
1568"<literal>add</literal> is used to add a new disc to the source list. It will "1568"<literal>add</literal> is used to add a new disc to the source list. It will "
1569"unmount the CDROM device, prompt for a disk to be inserted and then procceed "1569"unmount the CDROM device, prompt for a disk to be inserted and then proceed "
1570"to scan it and copy the index files. If the disc does not have a proper "1570"to scan it and copy the index files. If the disc does not have a proper "
1571"<filename>disk</filename> directory you will be prompted for a descriptive "1571"<filename>disk</filename> directory you will be prompted for a descriptive "
1572"title."1572"title."
@@ -1606,7 +1606,7 @@
1606msgstr ""1606msgstr ""
16071607
1608#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>1608#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1609#: apt-cdrom.8.xml:95 apt-ftparchive.1.xml:503 apt-get.8.xml:3281609#: apt-cdrom.8.xml:95 apt-ftparchive.1.xml:504 apt-get.8.xml:328
1610msgid "<option>-d</option>"1610msgid "<option>-d</option>"
1611msgstr ""1611msgstr ""
16121612
@@ -1750,7 +1750,7 @@
1750msgstr ""1750msgstr ""
17511751
1752#. type: Content of: <refentry><refsect1><para>1752#. type: Content of: <refentry><refsect1><para>
1753#: apt-config.8.xml:53 apt-ftparchive.1.xml:711753#: apt-config.8.xml:53 apt-ftparchive.1.xml:72
1754msgid ""1754msgid ""
1755"Unless the <option>-h</option>, or <option>--help</option> option is given "1755"Unless the <option>-h</option>, or <option>--help</option> option is given "
1756"one of the commands below must be present."1756"one of the commands below must be present."
@@ -1801,7 +1801,7 @@
1801msgstr ""1801msgstr ""
18021802
1803#. type: Content of: <refentry><refsect1><para>1803#. type: Content of: <refentry><refsect1><para>
1804#: apt-config.8.xml:104 apt-extracttemplates.1.xml:75 apt-ftparchive.1.xml:585 apt-sortpkgs.1.xml:701804#: apt-config.8.xml:104 apt-extracttemplates.1.xml:75 apt-ftparchive.1.xml:593 apt-sortpkgs.1.xml:70
1805msgid "&apt-conf;"1805msgid "&apt-conf;"
1806msgstr ""1806msgstr ""
18071807
@@ -1910,7 +1910,8 @@
1910"<command>apt-ftparchive</command> <arg><option>-hvdsq</option></arg> "1910"<command>apt-ftparchive</command> <arg><option>-hvdsq</option></arg> "
1911"<arg><option>--md5</option></arg> <arg><option>--delink</option></arg> "1911"<arg><option>--md5</option></arg> <arg><option>--delink</option></arg> "
1912"<arg><option>--readonly</option></arg> "1912"<arg><option>--readonly</option></arg> "
1913"<arg><option>--contents</option></arg> <arg><option>-o "1913"<arg><option>--contents</option></arg> <arg><option>--arch "
1914"<replaceable>architecture</replaceable></option></arg> <arg><option>-o "
1914"<replaceable>config</replaceable>=<replaceable>string</replaceable></option></arg> "1915"<replaceable>config</replaceable>=<replaceable>string</replaceable></option></arg> "
1915"<arg><option>-c=<replaceable>file</replaceable></option></arg> <group "1916"<arg><option>-c=<replaceable>file</replaceable></option></arg> <group "
1916"choice=\"req\"> <arg>packages<arg choice=\"plain\" "1917"choice=\"req\"> <arg>packages<arg choice=\"plain\" "
@@ -1929,7 +1930,7 @@
1929msgstr ""1930msgstr ""
19301931
1931#. type: Content of: <refentry><refsect1><para>1932#. type: Content of: <refentry><refsect1><para>
1932#: apt-ftparchive.1.xml:561933#: apt-ftparchive.1.xml:57
1933msgid ""1934msgid ""
1934"<command>apt-ftparchive</command> is the command line tool that generates "1935"<command>apt-ftparchive</command> is the command line tool that generates "
1935"the index files that APT uses to access a distribution source. The index "1936"the index files that APT uses to access a distribution source. The index "
@@ -1938,7 +1939,7 @@
1938msgstr ""1939msgstr ""
19391940
1940#. type: Content of: <refentry><refsect1><para>1941#. type: Content of: <refentry><refsect1><para>
1941#: apt-ftparchive.1.xml:601942#: apt-ftparchive.1.xml:61
1942msgid ""1943msgid ""
1943"<command>apt-ftparchive</command> is a superset of the &dpkg-scanpackages; "1944"<command>apt-ftparchive</command> is a superset of the &dpkg-scanpackages; "
1944"program, incorporating its entire functionality via the "1945"program, incorporating its entire functionality via the "
@@ -1948,7 +1949,7 @@
1948msgstr ""1949msgstr ""
19491950
1950#. type: Content of: <refentry><refsect1><para>1951#. type: Content of: <refentry><refsect1><para>
1951#: apt-ftparchive.1.xml:661952#: apt-ftparchive.1.xml:67
1952msgid ""1953msgid ""
1953"Internally <command>apt-ftparchive</command> can make use of binary "1954"Internally <command>apt-ftparchive</command> can make use of binary "
1954"databases to cache the contents of a .deb file and it does not rely on any "1955"databases to cache the contents of a .deb file and it does not rely on any "
@@ -1958,12 +1959,12 @@
1958msgstr ""1959msgstr ""
19591960
1960#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>1961#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1961#: apt-ftparchive.1.xml:751962#: apt-ftparchive.1.xml:76
1962msgid "packages"1963msgid "packages"
1963msgstr ""1964msgstr ""
19641965
1965#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>1966#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1966#: apt-ftparchive.1.xml:771967#: apt-ftparchive.1.xml:78
1967msgid ""1968msgid ""
1968"The packages command generates a package file from a directory tree. It "1969"The packages command generates a package file from a directory tree. It "
1969"takes the given directory and recursively searches it for .deb files, "1970"takes the given directory and recursively searches it for .deb files, "
@@ -1972,17 +1973,17 @@
1972msgstr ""1973msgstr ""
19731974
1974#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>1975#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1975#: apt-ftparchive.1.xml:82 apt-ftparchive.1.xml:1061976#: apt-ftparchive.1.xml:83 apt-ftparchive.1.xml:107
1976msgid "The option <option>--db</option> can be used to specify a binary caching DB."1977msgid "The option <option>--db</option> can be used to specify a binary caching DB."
1977msgstr ""1978msgstr ""
19781979
1979#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>1980#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1980#: apt-ftparchive.1.xml:851981#: apt-ftparchive.1.xml:86
1981msgid "sources"1982msgid "sources"
1982msgstr ""1983msgstr ""
19831984
1984#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>1985#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1985#: apt-ftparchive.1.xml:871986#: apt-ftparchive.1.xml:88
1986msgid ""1987msgid ""
1987"The <literal>sources</literal> command generates a source index file from a "1988"The <literal>sources</literal> command generates a source index file from a "
1988"directory tree. It takes the given directory and recursively searches it "1989"directory tree. It takes the given directory and recursively searches it "
@@ -1991,7 +1992,7 @@
1991msgstr ""1992msgstr ""
19921993
1993#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>1994#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1994#: apt-ftparchive.1.xml:921995#: apt-ftparchive.1.xml:93
1995msgid ""1996msgid ""
1996"If an override file is specified then a source override file will be looked "1997"If an override file is specified then a source override file will be looked "
1997"for with an extension of .src. The --source-override option can be used to "1998"for with an extension of .src. The --source-override option can be used to "
@@ -1999,12 +2000,12 @@
1999msgstr ""2000msgstr ""
20002001
2001#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2002#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2002#: apt-ftparchive.1.xml:972003#: apt-ftparchive.1.xml:98
2003msgid "contents"2004msgid "contents"
2004msgstr ""2005msgstr ""
20052006
2006#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2007#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2007#: apt-ftparchive.1.xml:992008#: apt-ftparchive.1.xml:100
2008msgid ""2009msgid ""
2009"The <literal>contents</literal> command generates a contents file from a "2010"The <literal>contents</literal> command generates a contents file from a "
2010"directory tree. It takes the given directory and recursively searches it for "2011"directory tree. It takes the given directory and recursively searches it for "
@@ -2015,12 +2016,12 @@
2015msgstr ""2016msgstr ""
20162017
2017#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2018#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2018#: apt-ftparchive.1.xml:1092019#: apt-ftparchive.1.xml:110
2019msgid "release"2020msgid "release"
2020msgstr ""2021msgstr ""
20212022
2022#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2023#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2023#: apt-ftparchive.1.xml:1112024#: apt-ftparchive.1.xml:112
2024msgid ""2025msgid ""
2025"The <literal>release</literal> command generates a Release file from a "2026"The <literal>release</literal> command generates a Release file from a "
2026"directory tree. It recursively searches the given directory for Packages, "2027"directory tree. It recursively searches the given directory for Packages, "
@@ -2030,7 +2031,7 @@
2030msgstr ""2031msgstr ""
20312032
2032#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2033#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2033#: apt-ftparchive.1.xml:1182034#: apt-ftparchive.1.xml:119
2034msgid ""2035msgid ""
2035"Values for the additional metadata fields in the Release file are taken from "2036"Values for the additional metadata fields in the Release file are taken from "
2036"the corresponding variables under "2037"the corresponding variables under "
@@ -2044,12 +2045,12 @@
2044msgstr ""2045msgstr ""
20452046
2046#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2047#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2047#: apt-ftparchive.1.xml:1282048#: apt-ftparchive.1.xml:129
2048msgid "generate"2049msgid "generate"
2049msgstr ""2050msgstr ""
20502051
2051#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2052#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2052#: apt-ftparchive.1.xml:1302053#: apt-ftparchive.1.xml:131
2053msgid ""2054msgid ""
2054"The <literal>generate</literal> command is designed to be runnable from a "2055"The <literal>generate</literal> command is designed to be runnable from a "
2055"cron script and builds indexes according to the given config file. The "2056"cron script and builds indexes according to the given config file. The "
@@ -2059,24 +2060,24 @@
2059msgstr ""2060msgstr ""
20602061
2061#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2062#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2062#: apt-ftparchive.1.xml:137 apt-get.8.xml:2922063#: apt-ftparchive.1.xml:138 apt-get.8.xml:292
2063msgid "clean"2064msgid "clean"
2064msgstr ""2065msgstr ""
20652066
2066#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2067#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2067#: apt-ftparchive.1.xml:1392068#: apt-ftparchive.1.xml:140
2068msgid ""2069msgid ""
2069"The <literal>clean</literal> command tidies the databases used by the given "2070"The <literal>clean</literal> command tidies the databases used by the given "
2070"configuration file by removing any records that are no longer necessary."2071"configuration file by removing any records that are no longer necessary."
2071msgstr ""2072msgstr ""
20722073
2073#. type: Content of: <refentry><refsect1><title>2074#. type: Content of: <refentry><refsect1><title>
2074#: apt-ftparchive.1.xml:1452075#: apt-ftparchive.1.xml:146
2075msgid "The Generate Configuration"2076msgid "The Generate Configuration"
2076msgstr ""2077msgstr ""
20772078
2078#. type: Content of: <refentry><refsect1><para>2079#. type: Content of: <refentry><refsect1><para>
2079#: apt-ftparchive.1.xml:1472080#: apt-ftparchive.1.xml:148
2080msgid ""2081msgid ""
2081"The <literal>generate</literal> command uses a configuration file to "2082"The <literal>generate</literal> command uses a configuration file to "
2082"describe the archives that are going to be generated. It follows the typical "2083"describe the archives that are going to be generated. It follows the typical "
@@ -2087,17 +2088,17 @@
2087msgstr ""2088msgstr ""
20882089
2089#. type: Content of: <refentry><refsect1><para>2090#. type: Content of: <refentry><refsect1><para>
2090#: apt-ftparchive.1.xml:1552091#: apt-ftparchive.1.xml:156
2091msgid "The generate configuration has 4 separate sections, each described below."2092msgid "The generate configuration has 4 separate sections, each described below."
2092msgstr ""2093msgstr ""
20932094
2094#. type: Content of: <refentry><refsect1><refsect2><title>2095#. type: Content of: <refentry><refsect1><refsect2><title>
2095#: apt-ftparchive.1.xml:1572096#: apt-ftparchive.1.xml:158
2096msgid "Dir Section"2097msgid "Dir Section"
2097msgstr ""2098msgstr ""
20982099
2099#. type: Content of: <refentry><refsect1><refsect2><para>2100#. type: Content of: <refentry><refsect1><refsect2><para>
2100#: apt-ftparchive.1.xml:1592101#: apt-ftparchive.1.xml:160
2101msgid ""2102msgid ""
2102"The <literal>Dir</literal> section defines the standard directories needed "2103"The <literal>Dir</literal> section defines the standard directories needed "
2103"to locate the files required during the generation process. These "2104"to locate the files required during the generation process. These "
@@ -2106,12 +2107,12 @@
2106msgstr ""2107msgstr ""
21072108
2108#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2109#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2109#: apt-ftparchive.1.xml:1642110#: apt-ftparchive.1.xml:165
2110msgid "ArchiveDir"2111msgid "ArchiveDir"
2111msgstr ""2112msgstr ""
21122113
2113#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2114#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2114#: apt-ftparchive.1.xml:1662115#: apt-ftparchive.1.xml:167
2115msgid ""2116msgid ""
2116"Specifies the root of the FTP archive, in a standard Debian configuration "2117"Specifies the root of the FTP archive, in a standard Debian configuration "
2117"this is the directory that contains the <filename>ls-LR</filename> and dist "2118"this is the directory that contains the <filename>ls-LR</filename> and dist "
@@ -2119,44 +2120,44 @@
2119msgstr ""2120msgstr ""
21202121
2121#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2122#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2122#: apt-ftparchive.1.xml:1712123#: apt-ftparchive.1.xml:172
2123msgid "OverrideDir"2124msgid "OverrideDir"
2124msgstr ""2125msgstr ""
21252126
2126#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2127#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2127#: apt-ftparchive.1.xml:1732128#: apt-ftparchive.1.xml:174
2128msgid "Specifies the location of the override files."2129msgid "Specifies the location of the override files."
2129msgstr ""2130msgstr ""
21302131
2131#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2132#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2132#: apt-ftparchive.1.xml:1762133#: apt-ftparchive.1.xml:177
2133msgid "CacheDir"2134msgid "CacheDir"
2134msgstr ""2135msgstr ""
21352136
2136#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2137#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2137#: apt-ftparchive.1.xml:1782138#: apt-ftparchive.1.xml:179
2138msgid "Specifies the location of the cache files"2139msgid "Specifies the location of the cache files"
2139msgstr ""2140msgstr ""
21402141
2141#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2142#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2142#: apt-ftparchive.1.xml:1812143#: apt-ftparchive.1.xml:182
2143msgid "FileListDir"2144msgid "FileListDir"
2144msgstr ""2145msgstr ""
21452146
2146#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2147#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2147#: apt-ftparchive.1.xml:1832148#: apt-ftparchive.1.xml:184
2148msgid ""2149msgid ""
2149"Specifies the location of the file list files, if the "2150"Specifies the location of the file list files, if the "
2150"<literal>FileList</literal> setting is used below."2151"<literal>FileList</literal> setting is used below."
2151msgstr ""2152msgstr ""
21522153
2153#. type: Content of: <refentry><refsect1><refsect2><title>2154#. type: Content of: <refentry><refsect1><refsect2><title>
2154#: apt-ftparchive.1.xml:1892155#: apt-ftparchive.1.xml:190
2155msgid "Default Section"2156msgid "Default Section"
2156msgstr ""2157msgstr ""
21572158
2158#. type: Content of: <refentry><refsect1><refsect2><para>2159#. type: Content of: <refentry><refsect1><refsect2><para>
2159#: apt-ftparchive.1.xml:1912160#: apt-ftparchive.1.xml:192
2160msgid ""2161msgid ""
2161"The <literal>Default</literal> section specifies default values, and "2162"The <literal>Default</literal> section specifies default values, and "
2162"settings that control the operation of the generator. Other sections may "2163"settings that control the operation of the generator. Other sections may "
@@ -2164,12 +2165,12 @@
2164msgstr ""2165msgstr ""
21652166
2166#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2167#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2167#: apt-ftparchive.1.xml:1952168#: apt-ftparchive.1.xml:196
2168msgid "Packages::Compress"2169msgid "Packages::Compress"
2169msgstr ""2170msgstr ""
21702171
2171#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2172#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2172#: apt-ftparchive.1.xml:1972173#: apt-ftparchive.1.xml:198
2173msgid ""2174msgid ""
2174"Sets the default compression schemes to use for the Package index files. It "2175"Sets the default compression schemes to use for the Package index files. It "
2175"is a string that contains a space separated list of at least one of: '.' (no "2176"is a string that contains a space separated list of at least one of: '.' (no "
@@ -2178,60 +2179,60 @@
2178msgstr ""2179msgstr ""
21792180
2180#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2181#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2181#: apt-ftparchive.1.xml:2032182#: apt-ftparchive.1.xml:204
2182msgid "Packages::Extensions"2183msgid "Packages::Extensions"
2183msgstr ""2184msgstr ""
21842185
2185#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2186#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2186#: apt-ftparchive.1.xml:2052187#: apt-ftparchive.1.xml:206
2187msgid ""2188msgid ""
2188"Sets the default list of file extensions that are package files. This "2189"Sets the default list of file extensions that are package files. This "
2189"defaults to '.deb'."2190"defaults to '.deb'."
2190msgstr ""2191msgstr ""
21912192
2192#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2193#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2193#: apt-ftparchive.1.xml:2092194#: apt-ftparchive.1.xml:210
2194msgid "Sources::Compress"2195msgid "Sources::Compress"
2195msgstr ""2196msgstr ""
21962197
2197#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2198#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2198#: apt-ftparchive.1.xml:2112199#: apt-ftparchive.1.xml:212
2199msgid ""2200msgid ""
2200"This is similar to <literal>Packages::Compress</literal> except that it "2201"This is similar to <literal>Packages::Compress</literal> except that it "
2201"controls the compression for the Sources files."2202"controls the compression for the Sources files."
2202msgstr ""2203msgstr ""
22032204
2204#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2205#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2205#: apt-ftparchive.1.xml:2152206#: apt-ftparchive.1.xml:216
2206msgid "Sources::Extensions"2207msgid "Sources::Extensions"
2207msgstr ""2208msgstr ""
22082209
2209#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2210#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2210#: apt-ftparchive.1.xml:2172211#: apt-ftparchive.1.xml:218
2211msgid ""2212msgid ""
2212"Sets the default list of file extensions that are source files. This "2213"Sets the default list of file extensions that are source files. This "
2213"defaults to '.dsc'."2214"defaults to '.dsc'."
2214msgstr ""2215msgstr ""
22152216
2216#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2217#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2217#: apt-ftparchive.1.xml:2212218#: apt-ftparchive.1.xml:222
2218msgid "Contents::Compress"2219msgid "Contents::Compress"
2219msgstr ""2220msgstr ""
22202221
2221#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2222#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2222#: apt-ftparchive.1.xml:2232223#: apt-ftparchive.1.xml:224
2223msgid ""2224msgid ""
2224"This is similar to <literal>Packages::Compress</literal> except that it "2225"This is similar to <literal>Packages::Compress</literal> except that it "
2225"controls the compression for the Contents files."2226"controls the compression for the Contents files."
2226msgstr ""2227msgstr ""
22272228
2228#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2229#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2229#: apt-ftparchive.1.xml:2272230#: apt-ftparchive.1.xml:228
2230msgid "DeLinkLimit"2231msgid "DeLinkLimit"
2231msgstr ""2232msgstr ""
22322233
2233#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2234#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2234#: apt-ftparchive.1.xml:2292235#: apt-ftparchive.1.xml:230
2235msgid ""2236msgid ""
2236"Specifies the number of kilobytes to delink (and replace with hard links) "2237"Specifies the number of kilobytes to delink (and replace with hard links) "
2237"per run. This is used in conjunction with the per-section "2238"per run. This is used in conjunction with the per-section "
@@ -2239,24 +2240,24 @@
2239msgstr ""2240msgstr ""
22402241
2241#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2242#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2242#: apt-ftparchive.1.xml:2342243#: apt-ftparchive.1.xml:235
2243msgid "FileMode"2244msgid "FileMode"
2244msgstr ""2245msgstr ""
22452246
2246#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2247#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2247#: apt-ftparchive.1.xml:2362248#: apt-ftparchive.1.xml:237
2248msgid ""2249msgid ""
2249"Specifies the mode of all created index files. It defaults to 0644. All "2250"Specifies the mode of all created index files. It defaults to 0644. All "
2250"index files are set to this mode with no regard to the umask."2251"index files are set to this mode with no regard to the umask."
2251msgstr ""2252msgstr ""
22522253
2253#. type: Content of: <refentry><refsect1><refsect2><title>2254#. type: Content of: <refentry><refsect1><refsect2><title>
2254#: apt-ftparchive.1.xml:2432255#: apt-ftparchive.1.xml:244
2255msgid "TreeDefault Section"2256msgid "TreeDefault Section"
2256msgstr ""2257msgstr ""
22572258
2258#. type: Content of: <refentry><refsect1><refsect2><para>2259#. type: Content of: <refentry><refsect1><refsect2><para>
2259#: apt-ftparchive.1.xml:2452260#: apt-ftparchive.1.xml:246
2260msgid ""2261msgid ""
2261"Sets defaults specific to <literal>Tree</literal> sections. All of these "2262"Sets defaults specific to <literal>Tree</literal> sections. All of these "
2262"variables are substitution variables and have the strings $(DIST), "2263"variables are substitution variables and have the strings $(DIST), "
@@ -2264,12 +2265,12 @@
2264msgstr ""2265msgstr ""
22652266
2266#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2267#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2267#: apt-ftparchive.1.xml:2502268#: apt-ftparchive.1.xml:251
2268msgid "MaxContentsChange"2269msgid "MaxContentsChange"
2269msgstr ""2270msgstr ""
22702271
2271#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2272#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2272#: apt-ftparchive.1.xml:2522273#: apt-ftparchive.1.xml:253
2273msgid ""2274msgid ""
2274"Sets the number of kilobytes of contents files that are generated each "2275"Sets the number of kilobytes of contents files that are generated each "
2275"day. The contents files are round-robined so that over several days they "2276"day. The contents files are round-robined so that over several days they "
@@ -2277,12 +2278,12 @@
2277msgstr ""2278msgstr ""
22782279
2279#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2280#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2280#: apt-ftparchive.1.xml:2572281#: apt-ftparchive.1.xml:258
2281msgid "ContentsAge"2282msgid "ContentsAge"
2282msgstr ""2283msgstr ""
22832284
2284#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2285#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2285#: apt-ftparchive.1.xml:2592286#: apt-ftparchive.1.xml:260
2286msgid ""2287msgid ""
2287"Controls the number of days a contents file is allowed to be checked without "2288"Controls the number of days a contents file is allowed to be checked without "
2288"changing. If this limit is passed the mtime of the contents file is "2289"changing. If this limit is passed the mtime of the contents file is "
@@ -2293,60 +2294,60 @@
2293msgstr ""2294msgstr ""
22942295
2295#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2296#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2296#: apt-ftparchive.1.xml:2682297#: apt-ftparchive.1.xml:269
2297msgid "Directory"2298msgid "Directory"
2298msgstr ""2299msgstr ""
22992300
2300#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2301#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2301#: apt-ftparchive.1.xml:2702302#: apt-ftparchive.1.xml:271
2302msgid ""2303msgid ""
2303"Sets the top of the .deb directory tree. Defaults to "2304"Sets the top of the .deb directory tree. Defaults to "
2304"<filename>$(DIST)/$(SECTION)/binary-$(ARCH)/</filename>"2305"<filename>$(DIST)/$(SECTION)/binary-$(ARCH)/</filename>"
2305msgstr ""2306msgstr ""
23062307
2307#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2308#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2308#: apt-ftparchive.1.xml:2742309#: apt-ftparchive.1.xml:275
2309msgid "SrcDirectory"2310msgid "SrcDirectory"
2310msgstr ""2311msgstr ""
23112312
2312#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2313#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2313#: apt-ftparchive.1.xml:2762314#: apt-ftparchive.1.xml:277
2314msgid ""2315msgid ""
2315"Sets the top of the source package directory tree. Defaults to "2316"Sets the top of the source package directory tree. Defaults to "
2316"<filename>$(DIST)/$(SECTION)/source/</filename>"2317"<filename>$(DIST)/$(SECTION)/source/</filename>"
2317msgstr ""2318msgstr ""
23182319
2319#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2320#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2320#: apt-ftparchive.1.xml:280 apt-ftparchive.1.xml:4062321#: apt-ftparchive.1.xml:281 apt-ftparchive.1.xml:407
2321msgid "Packages"2322msgid "Packages"
2322msgstr ""2323msgstr ""
23232324
2324#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2325#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2325#: apt-ftparchive.1.xml:2822326#: apt-ftparchive.1.xml:283
2326msgid ""2327msgid ""
2327"Sets the output Packages file. Defaults to "2328"Sets the output Packages file. Defaults to "
2328"<filename>$(DIST)/$(SECTION)/binary-$(ARCH)/Packages</filename>"2329"<filename>$(DIST)/$(SECTION)/binary-$(ARCH)/Packages</filename>"
2329msgstr ""2330msgstr ""
23302331
2331#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2332#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2332#: apt-ftparchive.1.xml:286 apt-ftparchive.1.xml:4112333#: apt-ftparchive.1.xml:287 apt-ftparchive.1.xml:412
2333msgid "Sources"2334msgid "Sources"
2334msgstr ""2335msgstr ""
23352336
2336#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2337#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2337#: apt-ftparchive.1.xml:2882338#: apt-ftparchive.1.xml:289
2338msgid ""2339msgid ""
2339"Sets the output Sources file. Defaults to "2340"Sets the output Sources file. Defaults to "
2340"<filename>$(DIST)/$(SECTION)/source/Sources</filename>"2341"<filename>$(DIST)/$(SECTION)/source/Sources</filename>"
2341msgstr ""2342msgstr ""
23422343
2343#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2344#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2344#: apt-ftparchive.1.xml:2922345#: apt-ftparchive.1.xml:293
2345msgid "InternalPrefix"2346msgid "InternalPrefix"
2346msgstr ""2347msgstr ""
23472348
2348#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2349#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2349#: apt-ftparchive.1.xml:2942350#: apt-ftparchive.1.xml:295
2350msgid ""2351msgid ""
2351"Sets the path prefix that causes a symlink to be considered an internal link "2352"Sets the path prefix that causes a symlink to be considered an internal link "
2352"instead of an external link. Defaults to "2353"instead of an external link. Defaults to "
@@ -2354,12 +2355,12 @@
2354msgstr ""2355msgstr ""
23552356
2356#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2357#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2357#: apt-ftparchive.1.xml:299 apt-ftparchive.1.xml:4172358#: apt-ftparchive.1.xml:300 apt-ftparchive.1.xml:418
2358msgid "Contents"2359msgid "Contents"
2359msgstr ""2360msgstr ""
23602361
2361#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2362#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2362#: apt-ftparchive.1.xml:3012363#: apt-ftparchive.1.xml:302
2363msgid ""2364msgid ""
2364"Sets the output Contents file. Defaults to "2365"Sets the output Contents file. Defaults to "
2365"<filename>$(DIST)/Contents-$(ARCH)</filename>. If this setting causes "2366"<filename>$(DIST)/Contents-$(ARCH)</filename>. If this setting causes "
@@ -2369,34 +2370,34 @@
2369msgstr ""2370msgstr ""
23702371
2371#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2372#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2372#: apt-ftparchive.1.xml:3082373#: apt-ftparchive.1.xml:309
2373msgid "Contents::Header"2374msgid "Contents::Header"
2374msgstr ""2375msgstr ""
23752376
2376#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2377#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2377#: apt-ftparchive.1.xml:3102378#: apt-ftparchive.1.xml:311
2378msgid "Sets header file to prepend to the contents output."2379msgid "Sets header file to prepend to the contents output."
2379msgstr ""2380msgstr ""
23802381
2381#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2382#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2382#: apt-ftparchive.1.xml:313 apt-ftparchive.1.xml:4422383#: apt-ftparchive.1.xml:314 apt-ftparchive.1.xml:443
2383msgid "BinCacheDB"2384msgid "BinCacheDB"
2384msgstr ""2385msgstr ""
23852386
2386#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2387#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2387#: apt-ftparchive.1.xml:3152388#: apt-ftparchive.1.xml:316
2388msgid ""2389msgid ""
2389"Sets the binary cache database to use for this section. Multiple sections "2390"Sets the binary cache database to use for this section. Multiple sections "
2390"can share the same database."2391"can share the same database."
2391msgstr ""2392msgstr ""
23922393
2393#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2394#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2394#: apt-ftparchive.1.xml:3192395#: apt-ftparchive.1.xml:320
2395msgid "FileList"2396msgid "FileList"
2396msgstr ""2397msgstr ""
23972398
2398#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2399#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2399#: apt-ftparchive.1.xml:3212400#: apt-ftparchive.1.xml:322
2400msgid ""2401msgid ""
2401"Specifies that instead of walking the directory tree, "2402"Specifies that instead of walking the directory tree, "
2402"<command>apt-ftparchive</command> should read the list of files from the "2403"<command>apt-ftparchive</command> should read the list of files from the "
@@ -2404,12 +2405,12 @@
2404msgstr ""2405msgstr ""
24052406
2406#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2407#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2407#: apt-ftparchive.1.xml:3262408#: apt-ftparchive.1.xml:327
2408msgid "SourceFileList"2409msgid "SourceFileList"
2409msgstr ""2410msgstr ""
24102411
2411#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2412#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2412#: apt-ftparchive.1.xml:3282413#: apt-ftparchive.1.xml:329
2413msgid ""2414msgid ""
2414"Specifies that instead of walking the directory tree, "2415"Specifies that instead of walking the directory tree, "
2415"<command>apt-ftparchive</command> should read the list of files from the "2416"<command>apt-ftparchive</command> should read the list of files from the "
@@ -2418,12 +2419,12 @@
2418msgstr ""2419msgstr ""
24192420
2420#. type: Content of: <refentry><refsect1><refsect2><title>2421#. type: Content of: <refentry><refsect1><refsect2><title>
2421#: apt-ftparchive.1.xml:3362422#: apt-ftparchive.1.xml:337
2422msgid "Tree Section"2423msgid "Tree Section"
2423msgstr ""2424msgstr ""
24242425
2425#. type: Content of: <refentry><refsect1><refsect2><para>2426#. type: Content of: <refentry><refsect1><refsect2><para>
2426#: apt-ftparchive.1.xml:3382427#: apt-ftparchive.1.xml:339
2427msgid ""2428msgid ""
2428"The <literal>Tree</literal> section defines a standard Debian file tree "2429"The <literal>Tree</literal> section defines a standard Debian file tree "
2429"which consists of a base directory, then multiple sections in that base "2430"which consists of a base directory, then multiple sections in that base "
@@ -2433,7 +2434,7 @@
2433msgstr ""2434msgstr ""
24342435
2435#. type: Content of: <refentry><refsect1><refsect2><para>2436#. type: Content of: <refentry><refsect1><refsect2><para>
2436#: apt-ftparchive.1.xml:3432437#: apt-ftparchive.1.xml:344
2437msgid ""2438msgid ""
2438"The <literal>Tree</literal> section takes a scope tag which sets the "2439"The <literal>Tree</literal> section takes a scope tag which sets the "
2439"<literal>$(DIST)</literal> variable and defines the root of the tree (the "2440"<literal>$(DIST)</literal> variable and defines the root of the tree (the "
@@ -2442,7 +2443,7 @@
2442msgstr ""2443msgstr ""
24432444
2444#. type: Content of: <refentry><refsect1><refsect2><para>2445#. type: Content of: <refentry><refsect1><refsect2><para>
2445#: apt-ftparchive.1.xml:3482446#: apt-ftparchive.1.xml:349
2446msgid ""2447msgid ""
2447"All of the settings defined in the <literal>TreeDefault</literal> section "2448"All of the settings defined in the <literal>TreeDefault</literal> section "
2448"can be use in a <literal>Tree</literal> section as well as three new "2449"can be use in a <literal>Tree</literal> section as well as three new "
@@ -2450,7 +2451,7 @@
2450msgstr ""2451msgstr ""
24512452
2452#. type: Content of: <refentry><refsect1><refsect2><para><programlisting>2453#. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
2453#: apt-ftparchive.1.xml:3542454#: apt-ftparchive.1.xml:355
2454#, no-wrap2455#, no-wrap
2455msgid ""2456msgid ""
2456"for i in Sections do \n"2457"for i in Sections do \n"
@@ -2460,7 +2461,7 @@
2460msgstr ""2461msgstr ""
24612462
2462#. type: Content of: <refentry><refsect1><refsect2><para>2463#. type: Content of: <refentry><refsect1><refsect2><para>
2463#: apt-ftparchive.1.xml:3512464#: apt-ftparchive.1.xml:352
2464msgid ""2465msgid ""
2465"When processing a <literal>Tree</literal> section "2466"When processing a <literal>Tree</literal> section "
2466"<command>apt-ftparchive</command> performs an operation similar to: "2467"<command>apt-ftparchive</command> performs an operation similar to: "
@@ -2468,12 +2469,12 @@
2468msgstr ""2469msgstr ""
24692470
2470#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2471#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2471#: apt-ftparchive.1.xml:3602472#: apt-ftparchive.1.xml:361
2472msgid "Sections"2473msgid "Sections"
2473msgstr ""2474msgstr ""
24742475
2475#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2476#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2476#: apt-ftparchive.1.xml:3622477#: apt-ftparchive.1.xml:363
2477msgid ""2478msgid ""
2478"This is a space separated list of sections which appear under the "2479"This is a space separated list of sections which appear under the "
2479"distribution, typically this is something like <literal>main contrib "2480"distribution, typically this is something like <literal>main contrib "
@@ -2481,12 +2482,12 @@
2481msgstr ""2482msgstr ""
24822483
2483#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2484#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2484#: apt-ftparchive.1.xml:3672485#: apt-ftparchive.1.xml:368
2485msgid "Architectures"2486msgid "Architectures"
2486msgstr ""2487msgstr ""
24872488
2488#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2489#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2489#: apt-ftparchive.1.xml:3692490#: apt-ftparchive.1.xml:370
2490msgid ""2491msgid ""
2491"This is a space separated list of all the architectures that appear under "2492"This is a space separated list of all the architectures that appear under "
2492"search section. The special architecture 'source' is used to indicate that "2493"search section. The special architecture 'source' is used to indicate that "
@@ -2494,56 +2495,56 @@
2494msgstr ""2495msgstr ""
24952496
2496#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2497#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2497#: apt-ftparchive.1.xml:374 apt-ftparchive.1.xml:4222498#: apt-ftparchive.1.xml:375 apt-ftparchive.1.xml:423
2498msgid "BinOverride"2499msgid "BinOverride"
2499msgstr ""2500msgstr ""
25002501
2501#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2502#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2502#: apt-ftparchive.1.xml:3762503#: apt-ftparchive.1.xml:377
2503msgid ""2504msgid ""
2504"Sets the binary override file. The override file contains section, priority "2505"Sets the binary override file. The override file contains section, priority "
2505"and maintainer address information."2506"and maintainer address information."
2506msgstr ""2507msgstr ""
25072508
2508#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2509#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2509#: apt-ftparchive.1.xml:380 apt-ftparchive.1.xml:4272510#: apt-ftparchive.1.xml:381 apt-ftparchive.1.xml:428
2510msgid "SrcOverride"2511msgid "SrcOverride"
2511msgstr ""2512msgstr ""
25122513
2513#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2514#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2514#: apt-ftparchive.1.xml:3822515#: apt-ftparchive.1.xml:383
2515msgid ""2516msgid ""
2516"Sets the source override file. The override file contains section "2517"Sets the source override file. The override file contains section "
2517"information."2518"information."
2518msgstr ""2519msgstr ""
25192520
2520#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2521#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2521#: apt-ftparchive.1.xml:386 apt-ftparchive.1.xml:4322522#: apt-ftparchive.1.xml:387 apt-ftparchive.1.xml:433
2522msgid "ExtraOverride"2523msgid "ExtraOverride"
2523msgstr ""2524msgstr ""
25242525
2525#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2526#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2526#: apt-ftparchive.1.xml:388 apt-ftparchive.1.xml:4342527#: apt-ftparchive.1.xml:389 apt-ftparchive.1.xml:435
2527msgid "Sets the binary extra override file."2528msgid "Sets the binary extra override file."
2528msgstr ""2529msgstr ""
25292530
2530#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2531#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2531#: apt-ftparchive.1.xml:391 apt-ftparchive.1.xml:4372532#: apt-ftparchive.1.xml:392 apt-ftparchive.1.xml:438
2532msgid "SrcExtraOverride"2533msgid "SrcExtraOverride"
2533msgstr ""2534msgstr ""
25342535
2535#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2536#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2536#: apt-ftparchive.1.xml:393 apt-ftparchive.1.xml:4392537#: apt-ftparchive.1.xml:394 apt-ftparchive.1.xml:440
2537msgid "Sets the source extra override file."2538msgid "Sets the source extra override file."
2538msgstr ""2539msgstr ""
25392540
2540#. type: Content of: <refentry><refsect1><refsect2><title>2541#. type: Content of: <refentry><refsect1><refsect2><title>
2541#: apt-ftparchive.1.xml:3982542#: apt-ftparchive.1.xml:399
2542msgid "BinDirectory Section"2543msgid "BinDirectory Section"
2543msgstr ""2544msgstr ""
25442545
2545#. type: Content of: <refentry><refsect1><refsect2><para>2546#. type: Content of: <refentry><refsect1><refsect2><para>
2546#: apt-ftparchive.1.xml:4002547#: apt-ftparchive.1.xml:401
2547msgid ""2548msgid ""
2548"The <literal>bindirectory</literal> section defines a binary directory tree "2549"The <literal>bindirectory</literal> section defines a binary directory tree "
2549"with no special structure. The scope tag specifies the location of the "2550"with no special structure. The scope tag specifies the location of the "
@@ -2553,64 +2554,64 @@
2553msgstr ""2554msgstr ""
25542555
2555#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2556#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2556#: apt-ftparchive.1.xml:4082557#: apt-ftparchive.1.xml:409
2557msgid "Sets the Packages file output."2558msgid "Sets the Packages file output."
2558msgstr ""2559msgstr ""
25592560
2560#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2561#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2561#: apt-ftparchive.1.xml:4132562#: apt-ftparchive.1.xml:414
2562msgid ""2563msgid ""
2563"Sets the Sources file output. At least one of <literal>Packages</literal> or "2564"Sets the Sources file output. At least one of <literal>Packages</literal> or "
2564"<literal>Sources</literal> is required."2565"<literal>Sources</literal> is required."
2565msgstr ""2566msgstr ""
25662567
2567#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2568#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2568#: apt-ftparchive.1.xml:4192569#: apt-ftparchive.1.xml:420
2569msgid "Sets the Contents file output. (optional)"2570msgid "Sets the Contents file output. (optional)"
2570msgstr ""2571msgstr ""
25712572
2572#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2573#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2573#: apt-ftparchive.1.xml:4242574#: apt-ftparchive.1.xml:425
2574msgid "Sets the binary override file."2575msgid "Sets the binary override file."
2575msgstr ""2576msgstr ""
25762577
2577#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2578#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2578#: apt-ftparchive.1.xml:4292579#: apt-ftparchive.1.xml:430
2579msgid "Sets the source override file."2580msgid "Sets the source override file."
2580msgstr ""2581msgstr ""
25812582
2582#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2583#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2583#: apt-ftparchive.1.xml:4442584#: apt-ftparchive.1.xml:445
2584msgid "Sets the cache DB."2585msgid "Sets the cache DB."
2585msgstr ""2586msgstr ""
25862587
2587#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2588#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2588#: apt-ftparchive.1.xml:4472589#: apt-ftparchive.1.xml:448
2589msgid "PathPrefix"2590msgid "PathPrefix"
2590msgstr ""2591msgstr ""
25912592
2592#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2593#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2593#: apt-ftparchive.1.xml:4492594#: apt-ftparchive.1.xml:450
2594msgid "Appends a path to all the output paths."2595msgid "Appends a path to all the output paths."
2595msgstr ""2596msgstr ""
25962597
2597#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>2598#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
2598#: apt-ftparchive.1.xml:4522599#: apt-ftparchive.1.xml:453
2599msgid "FileList, SourceFileList"2600msgid "FileList, SourceFileList"
2600msgstr ""2601msgstr ""
26012602
2602#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>2603#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
2603#: apt-ftparchive.1.xml:4542604#: apt-ftparchive.1.xml:455
2604msgid "Specifies the file list file."2605msgid "Specifies the file list file."
2605msgstr ""2606msgstr ""
26062607
2607#. type: Content of: <refentry><refsect1><title>2608#. type: Content of: <refentry><refsect1><title>
2608#: apt-ftparchive.1.xml:4612609#: apt-ftparchive.1.xml:462
2609msgid "The Binary Override File"2610msgid "The Binary Override File"
2610msgstr ""2611msgstr ""
26112612
2612#. type: Content of: <refentry><refsect1><para>2613#. type: Content of: <refentry><refsect1><para>
2613#: apt-ftparchive.1.xml:4622614#: apt-ftparchive.1.xml:463
2614msgid ""2615msgid ""
2615"The binary override file is fully compatible with &dpkg-scanpackages;. It "2616"The binary override file is fully compatible with &dpkg-scanpackages;. It "
2616"contains 4 fields separated by spaces. The first field is the package name, "2617"contains 4 fields separated by spaces. The first field is the package name, "
@@ -2620,19 +2621,19 @@
2620msgstr ""2621msgstr ""
26212622
2622#. type: Content of: <refentry><refsect1><para><literallayout>2623#. type: Content of: <refentry><refsect1><para><literallayout>
2623#: apt-ftparchive.1.xml:4682624#: apt-ftparchive.1.xml:469
2624#, no-wrap2625#, no-wrap
2625msgid "old [// oldn]* => new"2626msgid "old [// oldn]* => new"
2626msgstr ""2627msgstr ""
26272628
2628#. type: Content of: <refentry><refsect1><para><literallayout>2629#. type: Content of: <refentry><refsect1><para><literallayout>
2629#: apt-ftparchive.1.xml:4702630#: apt-ftparchive.1.xml:471
2630#, no-wrap2631#, no-wrap
2631msgid "new"2632msgid "new"
2632msgstr ""2633msgstr ""
26332634
2634#. type: Content of: <refentry><refsect1><para>2635#. type: Content of: <refentry><refsect1><para>
2635#: apt-ftparchive.1.xml:4672636#: apt-ftparchive.1.xml:468
2636msgid ""2637msgid ""
2637"The general form of the maintainer field is: <placeholder "2638"The general form of the maintainer field is: <placeholder "
2638"type=\"literallayout\" id=\"0\"/> or simply, <placeholder "2639"type=\"literallayout\" id=\"0\"/> or simply, <placeholder "
@@ -2643,12 +2644,12 @@
2643msgstr ""2644msgstr ""
26442645
2645#. type: Content of: <refentry><refsect1><title>2646#. type: Content of: <refentry><refsect1><title>
2646#: apt-ftparchive.1.xml:4782647#: apt-ftparchive.1.xml:479
2647msgid "The Source Override File"2648msgid "The Source Override File"
2648msgstr ""2649msgstr ""
26492650
2650#. type: Content of: <refentry><refsect1><para>2651#. type: Content of: <refentry><refsect1><para>
2651#: apt-ftparchive.1.xml:4802652#: apt-ftparchive.1.xml:481
2652msgid ""2653msgid ""
2653"The source override file is fully compatible with &dpkg-scansources;. It "2654"The source override file is fully compatible with &dpkg-scansources;. It "
2654"contains 2 fields separated by spaces. The first fields is the source "2655"contains 2 fields separated by spaces. The first fields is the source "
@@ -2656,12 +2657,12 @@
2656msgstr ""2657msgstr ""
26572658
2658#. type: Content of: <refentry><refsect1><title>2659#. type: Content of: <refentry><refsect1><title>
2659#: apt-ftparchive.1.xml:4852660#: apt-ftparchive.1.xml:486
2660msgid "The Extra Override File"2661msgid "The Extra Override File"
2661msgstr ""2662msgstr ""
26622663
2663#. type: Content of: <refentry><refsect1><para>2664#. type: Content of: <refentry><refsect1><para>
2664#: apt-ftparchive.1.xml:4872665#: apt-ftparchive.1.xml:488
2665msgid ""2666msgid ""
2666"The extra override file allows any arbitrary tag to be added or replaced in "2667"The extra override file allows any arbitrary tag to be added or replaced in "
2667"the output. It has 3 columns, the first is the package, the second is the "2668"the output. It has 3 columns, the first is the package, the second is the "
@@ -2669,12 +2670,12 @@
2669msgstr ""2670msgstr ""
26702671
2671#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2672#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2672#: apt-ftparchive.1.xml:4962673#: apt-ftparchive.1.xml:497
2673msgid "<option>--md5</option>"2674msgid "<option>--md5</option>"
2674msgstr ""2675msgstr ""
26752676
2676#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2677#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2677#: apt-ftparchive.1.xml:4982678#: apt-ftparchive.1.xml:499
2678msgid ""2679msgid ""
2679"Generate MD5 sums. This defaults to on, when turned off the generated index "2680"Generate MD5 sums. This defaults to on, when turned off the generated index "
2680"files will not have MD5Sum fields where possible. Configuration Item: "2681"files will not have MD5Sum fields where possible. Configuration Item: "
@@ -2682,19 +2683,19 @@
2682msgstr ""2683msgstr ""
26832684
2684#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2685#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2685#: apt-ftparchive.1.xml:5032686#: apt-ftparchive.1.xml:504
2686msgid "<option>--db</option>"2687msgid "<option>--db</option>"
2687msgstr ""2688msgstr ""
26882689
2689#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2690#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2690#: apt-ftparchive.1.xml:5052691#: apt-ftparchive.1.xml:506
2691msgid ""2692msgid ""
2692"Use a binary caching DB. This has no effect on the generate command. "2693"Use a binary caching DB. This has no effect on the generate command. "
2693"Configuration Item: <literal>APT::FTPArchive::DB</literal>."2694"Configuration Item: <literal>APT::FTPArchive::DB</literal>."
2694msgstr ""2695msgstr ""
26952696
2696#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2697#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2697#: apt-ftparchive.1.xml:5112698#: apt-ftparchive.1.xml:512
2698msgid ""2699msgid ""
2699"Quiet; produces output suitable for logging, omitting progress indicators. "2700"Quiet; produces output suitable for logging, omitting progress indicators. "
2700"More q's will produce more quiet up to a maximum of 2. You can also use "2701"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -2703,12 +2704,12 @@
2703msgstr ""2704msgstr ""
27042705
2705#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2706#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2706#: apt-ftparchive.1.xml:5172707#: apt-ftparchive.1.xml:518
2707msgid "<option>--delink</option>"2708msgid "<option>--delink</option>"
2708msgstr ""2709msgstr ""
27092710
2710#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2711#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2711#: apt-ftparchive.1.xml:5192712#: apt-ftparchive.1.xml:520
2712msgid ""2713msgid ""
2713"Perform Delinking. If the <literal>External-Links</literal> setting is used "2714"Perform Delinking. If the <literal>External-Links</literal> setting is used "
2714"then this option actually enables delinking of the files. It defaults to on "2715"then this option actually enables delinking of the files. It defaults to on "
@@ -2717,12 +2718,12 @@
2717msgstr ""2718msgstr ""
27182719
2719#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2720#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2720#: apt-ftparchive.1.xml:5252721#: apt-ftparchive.1.xml:526
2721msgid "<option>--contents</option>"2722msgid "<option>--contents</option>"
2722msgstr ""2723msgstr ""
27232724
2724#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2725#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2725#: apt-ftparchive.1.xml:5272726#: apt-ftparchive.1.xml:528
2726msgid ""2727msgid ""
2727"Perform contents generation. When this option is set and package indexes are "2728"Perform contents generation. When this option is set and package indexes are "
2728"being generated with a cache DB then the file listing will also be extracted "2729"being generated with a cache DB then the file listing will also be extracted "
@@ -2732,12 +2733,12 @@
2732msgstr ""2733msgstr ""
27332734
2734#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2735#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2735#: apt-ftparchive.1.xml:5352736#: apt-ftparchive.1.xml:536
2736msgid "<option>--source-override</option>"2737msgid "<option>--source-override</option>"
2737msgstr ""2738msgstr ""
27382739
2739#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2740#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2740#: apt-ftparchive.1.xml:5372741#: apt-ftparchive.1.xml:538
2741msgid ""2742msgid ""
2742"Select the source override file to use with the <literal>sources</literal> "2743"Select the source override file to use with the <literal>sources</literal> "
2743"command. Configuration Item: "2744"command. Configuration Item: "
@@ -2745,26 +2746,40 @@
2745msgstr ""2746msgstr ""
27462747
2747#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2748#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2748#: apt-ftparchive.1.xml:5412749#: apt-ftparchive.1.xml:542
2749msgid "<option>--readonly</option>"2750msgid "<option>--readonly</option>"
2750msgstr ""2751msgstr ""
27512752
2752#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2753#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2753#: apt-ftparchive.1.xml:5432754#: apt-ftparchive.1.xml:544
2754msgid ""2755msgid ""
2755"Make the caching databases read only. Configuration Item: "2756"Make the caching databases read only. Configuration Item: "
2756"<literal>APT::FTPArchive::ReadOnlyDB</literal>."2757"<literal>APT::FTPArchive::ReadOnlyDB</literal>."
2757msgstr ""2758msgstr ""
27582759
2759#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2760#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2760#: apt-ftparchive.1.xml:5472761#: apt-ftparchive.1.xml:548
2762msgid "<option>--arch</option>"
2763msgstr ""
2764
2765#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2766#: apt-ftparchive.1.xml:549
2767msgid ""
2768"Accept in the <literal>packages</literal> and <literal>contents</literal> "
2769"commands only package files matching <literal>*_arch.deb</literal> or "
2770"<literal>*_all.deb</literal> instead of all package files in the given "
2771"path. Configuration Item: <literal>APT::FTPArchive::Architecture</literal>."
2772msgstr ""
2773
2774#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2775#: apt-ftparchive.1.xml:555
2761msgid "<option>APT::FTPArchive::AlwaysStat</option>"2776msgid "<option>APT::FTPArchive::AlwaysStat</option>"
2762msgstr ""2777msgstr ""
27632778
2764#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2779#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2765#: apt-ftparchive.1.xml:5492780#: apt-ftparchive.1.xml:557
2766msgid ""2781msgid ""
2767"&apt-ftparchive; caches as much as possible of metadata in it is cachedb. If "2782"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
2768"packages are recompiled and/or republished with the same version again, this "2783"packages are recompiled and/or republished with the same version again, this "
2769"will lead to problems as the now outdated cached metadata like size and "2784"will lead to problems as the now outdated cached metadata like size and "
2770"checksums will be used. With this option enabled this will no longer happen "2785"checksums will be used. With this option enabled this will no longer happen "
@@ -2776,12 +2791,12 @@
2776msgstr ""2791msgstr ""
27772792
2778#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>2793#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
2779#: apt-ftparchive.1.xml:5592794#: apt-ftparchive.1.xml:567
2780msgid "<option>APT::FTPArchive::LongDescription</option>"2795msgid "<option>APT::FTPArchive::LongDescription</option>"
2781msgstr ""2796msgstr ""
27822797
2783#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>2798#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2784#: apt-ftparchive.1.xml:5612799#: apt-ftparchive.1.xml:569
2785msgid ""2800msgid ""
2786"This configuration option defaults to \"<literal>true</literal>\" and should "2801"This configuration option defaults to \"<literal>true</literal>\" and should "
2787"only be set to <literal>\"false\"</literal> if the Archive generated with "2802"only be set to <literal>\"false\"</literal> if the Archive generated with "
@@ -2791,12 +2806,12 @@
2791msgstr ""2806msgstr ""
27922807
2793#. type: Content of: <refentry><refsect1><title>2808#. type: Content of: <refentry><refsect1><title>
2794#: apt-ftparchive.1.xml:573 apt.conf.5.xml:1029 apt_preferences.5.xml:469 sources.list.5.xml:1932809#: apt-ftparchive.1.xml:581 apt.conf.5.xml:1038 apt_preferences.5.xml:477 sources.list.5.xml:193
2795msgid "Examples"2810msgid "Examples"
2796msgstr ""2811msgstr ""
27972812
2798#. type: Content of: <refentry><refsect1><para><programlisting>2813#. type: Content of: <refentry><refsect1><para><programlisting>
2799#: apt-ftparchive.1.xml:5792814#: apt-ftparchive.1.xml:587
2800#, no-wrap2815#, no-wrap
2801msgid ""2816msgid ""
2802"<command>apt-ftparchive</command> packages "2817"<command>apt-ftparchive</command> packages "
@@ -2805,14 +2820,14 @@
2805msgstr ""2820msgstr ""
28062821
2807#. type: Content of: <refentry><refsect1><para>2822#. type: Content of: <refentry><refsect1><para>
2808#: apt-ftparchive.1.xml:5752823#: apt-ftparchive.1.xml:583
2809msgid ""2824msgid ""
2810"To create a compressed Packages file for a directory containing binary "2825"To create a compressed Packages file for a directory containing binary "
2811"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"2826"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
2812msgstr ""2827msgstr ""
28132828
2814#. type: Content of: <refentry><refsect1><para>2829#. type: Content of: <refentry><refsect1><para>
2815#: apt-ftparchive.1.xml:5892830#: apt-ftparchive.1.xml:597
2816msgid ""2831msgid ""
2817"<command>apt-ftparchive</command> returns zero on normal operation, decimal "2832"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
2818"100 on error."2833"100 on error."
@@ -5028,11 +5043,25 @@
50285043
5029#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term>5044#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term>
5030#: apt.conf.5.xml:4145045#: apt.conf.5.xml:414
5046msgid "GzipIndexes"
5047msgstr ""
5048
5049#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
5050#: apt.conf.5.xml:416
5051msgid ""
5052"When downloading <literal>gzip</literal> compressed indexes (Packages, "
5053"Sources, or Translations), keep them gzip compressed locally instead of "
5054"unpacking them. This saves quite a lot of disk space at the expense of more "
5055"CPU requirements when building the local package caches. False by default."
5056msgstr ""
5057
5058#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term>
5059#: apt.conf.5.xml:423
5031msgid "Languages"5060msgid "Languages"
5032msgstr ""5061msgstr ""
50335062
5034#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>5063#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
5035#: apt.conf.5.xml:4155064#: apt.conf.5.xml:424
5036msgid ""5065msgid ""
5037"The Languages subsection controls which <filename>Translation</filename> "5066"The Languages subsection controls which <filename>Translation</filename> "
5038"files are downloaded and in which order APT tries to display the "5067"files are downloaded and in which order APT tries to display the "
@@ -5045,13 +5074,13 @@
5045msgstr ""5074msgstr ""
50465075
5047#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><programlisting>5076#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><programlisting>
5048#: apt.conf.5.xml:4315077#: apt.conf.5.xml:440
5049#, no-wrap5078#, no-wrap
5050msgid "Acquire::Languages { \"environment\"; \"de\"; \"en\"; \"none\"; \"fr\"; };"5079msgid "Acquire::Languages { \"environment\"; \"de\"; \"en\"; \"none\"; \"fr\"; };"
5051msgstr ""5080msgstr ""
50525081
5053#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>5082#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
5054#: apt.conf.5.xml:4215083#: apt.conf.5.xml:430
5055msgid ""5084msgid ""
5056"The default list includes \"environment\" and "5085"The default list includes \"environment\" and "
5057"\"en\". \"<literal>environment</literal>\" has a special meaning here: It "5086"\"en\". \"<literal>environment</literal>\" has a special meaning here: It "
@@ -5082,12 +5111,12 @@
5082msgstr ""5111msgstr ""
50835112
5084#. type: Content of: <refentry><refsect1><title>5113#. type: Content of: <refentry><refsect1><title>
5085#: apt.conf.5.xml:4385114#: apt.conf.5.xml:447
5086msgid "Directories"5115msgid "Directories"
5087msgstr ""5116msgstr ""
50885117
5089#. type: Content of: <refentry><refsect1><para>5118#. type: Content of: <refentry><refsect1><para>
5090#: apt.conf.5.xml:4405119#: apt.conf.5.xml:449
5091msgid ""5120msgid ""
5092"The <literal>Dir::State</literal> section has directories that pertain to "5121"The <literal>Dir::State</literal> section has directories that pertain to "
5093"local state information. <literal>lists</literal> is the directory to place "5122"local state information. <literal>lists</literal> is the directory to place "
@@ -5099,7 +5128,7 @@
5099msgstr ""5128msgstr ""
51005129
5101#. type: Content of: <refentry><refsect1><para>5130#. type: Content of: <refentry><refsect1><para>
5102#: apt.conf.5.xml:4475131#: apt.conf.5.xml:456
5103msgid ""5132msgid ""
5104"<literal>Dir::Cache</literal> contains locations pertaining to local cache "5133"<literal>Dir::Cache</literal> contains locations pertaining to local cache "
5105"information, such as the two package caches <literal>srcpkgcache</literal> "5134"information, such as the two package caches <literal>srcpkgcache</literal> "
@@ -5112,7 +5141,7 @@
5112msgstr ""5141msgstr ""
51135142
5114#. type: Content of: <refentry><refsect1><para>5143#. type: Content of: <refentry><refsect1><para>
5115#: apt.conf.5.xml:4565144#: apt.conf.5.xml:465
5116msgid ""5145msgid ""
5117"<literal>Dir::Etc</literal> contains the location of configuration files, "5146"<literal>Dir::Etc</literal> contains the location of configuration files, "
5118"<literal>sourcelist</literal> gives the location of the sourcelist and "5147"<literal>sourcelist</literal> gives the location of the sourcelist and "
@@ -5122,7 +5151,7 @@
5122msgstr ""5151msgstr ""
51235152
5124#. type: Content of: <refentry><refsect1><para>5153#. type: Content of: <refentry><refsect1><para>
5125#: apt.conf.5.xml:4625154#: apt.conf.5.xml:471
5126msgid ""5155msgid ""
5127"The <literal>Dir::Parts</literal> setting reads in all the config fragments "5156"The <literal>Dir::Parts</literal> setting reads in all the config fragments "
5128"in lexical order from the directory specified. After this is done then the "5157"in lexical order from the directory specified. After this is done then the "
@@ -5130,7 +5159,7 @@
5130msgstr ""5159msgstr ""
51315160
5132#. type: Content of: <refentry><refsect1><para>5161#. type: Content of: <refentry><refsect1><para>
5133#: apt.conf.5.xml:4665162#: apt.conf.5.xml:475
5134msgid ""5163msgid ""
5135"Binary programs are pointed to by "5164"Binary programs are pointed to by "
5136"<literal>Dir::Bin</literal>. <literal>Dir::Bin::Methods</literal> specifies "5165"<literal>Dir::Bin</literal>. <literal>Dir::Bin::Methods</literal> specifies "
@@ -5142,7 +5171,7 @@
5142msgstr ""5171msgstr ""
51435172
5144#. type: Content of: <refentry><refsect1><para>5173#. type: Content of: <refentry><refsect1><para>
5145#: apt.conf.5.xml:4745174#: apt.conf.5.xml:483
5146msgid ""5175msgid ""
5147"The configuration item <literal>RootDir</literal> has a special meaning. If "5176"The configuration item <literal>RootDir</literal> has a special meaning. If "
5148"set, all paths in <literal>Dir::</literal> will be relative to "5177"set, all paths in <literal>Dir::</literal> will be relative to "
@@ -5155,12 +5184,12 @@
5155msgstr ""5184msgstr ""
51565185
5157#. type: Content of: <refentry><refsect1><title>5186#. type: Content of: <refentry><refsect1><title>
5158#: apt.conf.5.xml:4875187#: apt.conf.5.xml:496
5159msgid "APT in DSelect"5188msgid "APT in DSelect"
5160msgstr ""5189msgstr ""
51615190
5162#. type: Content of: <refentry><refsect1><para>5191#. type: Content of: <refentry><refsect1><para>
5163#: apt.conf.5.xml:4895192#: apt.conf.5.xml:498
5164msgid ""5193msgid ""
5165"When APT is used as a &dselect; method several configuration directives "5194"When APT is used as a &dselect; method several configuration directives "
5166"control the default behaviour. These are in the <literal>DSelect</literal> "5195"control the default behaviour. These are in the <literal>DSelect</literal> "
@@ -5168,12 +5197,12 @@
5168msgstr ""5197msgstr ""
51695198
5170#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5199#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5171#: apt.conf.5.xml:4935200#: apt.conf.5.xml:502
5172msgid "Clean"5201msgid "Clean"
5173msgstr ""5202msgstr ""
51745203
5175#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5204#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5176#: apt.conf.5.xml:4945205#: apt.conf.5.xml:503
5177msgid ""5206msgid ""
5178"Cache Clean mode; this value may be one of always, prompt, auto, pre-auto "5207"Cache Clean mode; this value may be one of always, prompt, auto, pre-auto "
5179"and never. always and prompt will remove all packages from the cache after "5208"and never. always and prompt will remove all packages from the cache after "
@@ -5184,50 +5213,50 @@
5184msgstr ""5213msgstr ""
51855214
5186#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5215#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5187#: apt.conf.5.xml:5035216#: apt.conf.5.xml:512
5188msgid ""5217msgid ""
5189"The contents of this variable is passed to &apt-get; as command line options "5218"The contents of this variable is passed to &apt-get; as command line options "
5190"when it is run for the install phase."5219"when it is run for the install phase."
5191msgstr ""5220msgstr ""
51925221
5193#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5222#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5194#: apt.conf.5.xml:5075223#: apt.conf.5.xml:516
5195msgid "Updateoptions"5224msgid "Updateoptions"
5196msgstr ""5225msgstr ""
51975226
5198#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5227#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5199#: apt.conf.5.xml:5085228#: apt.conf.5.xml:517
5200msgid ""5229msgid ""
5201"The contents of this variable is passed to &apt-get; as command line options "5230"The contents of this variable is passed to &apt-get; as command line options "
5202"when it is run for the update phase."5231"when it is run for the update phase."
5203msgstr ""5232msgstr ""
52045233
5205#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5234#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5206#: apt.conf.5.xml:5125235#: apt.conf.5.xml:521
5207msgid "PromptAfterUpdate"5236msgid "PromptAfterUpdate"
5208msgstr ""5237msgstr ""
52095238
5210#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5239#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5211#: apt.conf.5.xml:5135240#: apt.conf.5.xml:522
5212msgid ""5241msgid ""
5213"If true the [U]pdate operation in &dselect; will always prompt to continue. "5242"If true the [U]pdate operation in &dselect; will always prompt to continue. "
5214"The default is to prompt only on error."5243"The default is to prompt only on error."
5215msgstr ""5244msgstr ""
52165245
5217#. type: Content of: <refentry><refsect1><title>5246#. type: Content of: <refentry><refsect1><title>
5218#: apt.conf.5.xml:5195247#: apt.conf.5.xml:528
5219msgid "How APT calls dpkg"5248msgid "How APT calls dpkg"
5220msgstr ""5249msgstr ""
52215250
5222#. type: Content of: <refentry><refsect1><para>5251#. type: Content of: <refentry><refsect1><para>
5223#: apt.conf.5.xml:5205252#: apt.conf.5.xml:529
5224msgid ""5253msgid ""
5225"Several configuration directives control how APT invokes &dpkg;. These are "5254"Several configuration directives control how APT invokes &dpkg;. These are "
5226"in the <literal>DPkg</literal> section."5255"in the <literal>DPkg</literal> section."
5227msgstr ""5256msgstr ""
52285257
5229#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5258#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5230#: apt.conf.5.xml:5255259#: apt.conf.5.xml:534
5231msgid ""5260msgid ""
5232"This is a list of options to pass to dpkg. The options must be specified "5261"This is a list of options to pass to dpkg. The options must be specified "
5233"using the list notation and each list item is passed as a single argument to "5262"using the list notation and each list item is passed as a single argument to "
@@ -5235,17 +5264,17 @@
5235msgstr ""5264msgstr ""
52365265
5237#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5266#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5238#: apt.conf.5.xml:5305267#: apt.conf.5.xml:539
5239msgid "Pre-Invoke"5268msgid "Pre-Invoke"
5240msgstr ""5269msgstr ""
52415270
5242#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5271#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5243#: apt.conf.5.xml:5305272#: apt.conf.5.xml:539
5244msgid "Post-Invoke"5273msgid "Post-Invoke"
5245msgstr ""5274msgstr ""
52465275
5247#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5276#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5248#: apt.conf.5.xml:5315277#: apt.conf.5.xml:540
5249msgid ""5278msgid ""
5250"This is a list of shell commands to run before/after invoking &dpkg;. Like "5279"This is a list of shell commands to run before/after invoking &dpkg;. Like "
5251"<literal>options</literal> this must be specified in list notation. The "5280"<literal>options</literal> this must be specified in list notation. The "
@@ -5254,12 +5283,12 @@
5254msgstr ""5283msgstr ""
52555284
5256#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5285#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5257#: apt.conf.5.xml:5375286#: apt.conf.5.xml:546
5258msgid "Pre-Install-Pkgs"5287msgid "Pre-Install-Pkgs"
5259msgstr ""5288msgstr ""
52605289
5261#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5290#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5262#: apt.conf.5.xml:5385291#: apt.conf.5.xml:547
5263msgid ""5292msgid ""
5264"This is a list of shell commands to run before invoking dpkg. Like "5293"This is a list of shell commands to run before invoking dpkg. Like "
5265"<literal>options</literal> this must be specified in list notation. The "5294"<literal>options</literal> this must be specified in list notation. The "
@@ -5269,7 +5298,7 @@
5269msgstr ""5298msgstr ""
52705299
5271#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5300#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5272#: apt.conf.5.xml:5445301#: apt.conf.5.xml:553
5273msgid ""5302msgid ""
5274"Version 2 of this protocol dumps more information, including the protocol "5303"Version 2 of this protocol dumps more information, including the protocol "
5275"version, the APT configuration space and the packages, files and versions "5304"version, the APT configuration space and the packages, files and versions "
@@ -5280,36 +5309,36 @@
5280msgstr ""5309msgstr ""
52815310
5282#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5311#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5283#: apt.conf.5.xml:5515312#: apt.conf.5.xml:560
5284msgid "Run-Directory"5313msgid "Run-Directory"
5285msgstr ""5314msgstr ""
52865315
5287#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5316#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5288#: apt.conf.5.xml:5525317#: apt.conf.5.xml:561
5289msgid ""5318msgid ""
5290"APT chdirs to this directory before invoking dpkg, the default is "5319"APT chdirs to this directory before invoking dpkg, the default is "
5291"<filename>/</filename>."5320"<filename>/</filename>."
5292msgstr ""5321msgstr ""
52935322
5294#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5323#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5295#: apt.conf.5.xml:5565324#: apt.conf.5.xml:565
5296msgid "Build-options"5325msgid "Build-options"
5297msgstr ""5326msgstr ""
52985327
5299#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5328#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5300#: apt.conf.5.xml:5575329#: apt.conf.5.xml:566
5301msgid ""5330msgid ""
5302"These options are passed to &dpkg-buildpackage; when compiling packages, the "5331"These options are passed to &dpkg-buildpackage; when compiling packages, the "
5303"default is to disable signing and produce all binaries."5332"default is to disable signing and produce all binaries."
5304msgstr ""5333msgstr ""
53055334
5306#. type: Content of: <refentry><refsect1><refsect2><title>5335#. type: Content of: <refentry><refsect1><refsect2><title>
5307#: apt.conf.5.xml:5625336#: apt.conf.5.xml:571
5308msgid "dpkg trigger usage (and related options)"5337msgid "dpkg trigger usage (and related options)"
5309msgstr ""5338msgstr ""
53105339
5311#. type: Content of: <refentry><refsect1><refsect2><para>5340#. type: Content of: <refentry><refsect1><refsect2><para>
5312#: apt.conf.5.xml:5635341#: apt.conf.5.xml:572
5313msgid ""5342msgid ""
5314"APT can call dpkg in a way so it can make aggressive use of triggers over "5343"APT can call dpkg in a way so it can make aggressive use of triggers over "
5315"multiply calls of dpkg. Without further options dpkg will use triggers only "5344"multiply calls of dpkg. Without further options dpkg will use triggers only "
@@ -5324,7 +5353,7 @@
5324msgstr ""5353msgstr ""
53255354
5326#. type: Content of: <refentry><refsect1><refsect2><para><literallayout>5355#. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
5327#: apt.conf.5.xml:5785356#: apt.conf.5.xml:587
5328#, no-wrap5357#, no-wrap
5329msgid ""5358msgid ""
5330"DPkg::NoTriggers \"true\";\n"5359"DPkg::NoTriggers \"true\";\n"
@@ -5334,7 +5363,7 @@
5334msgstr ""5363msgstr ""
53355364
5336#. type: Content of: <refentry><refsect1><refsect2><para>5365#. type: Content of: <refentry><refsect1><refsect2><para>
5337#: apt.conf.5.xml:5725366#: apt.conf.5.xml:581
5338msgid ""5367msgid ""
5339"Note that it is not guaranteed that APT will support these options or that "5368"Note that it is not guaranteed that APT will support these options or that "
5340"these options will not cause (big) trouble in the future. If you have "5369"these options will not cause (big) trouble in the future. If you have "
@@ -5348,12 +5377,12 @@
5348msgstr ""5377msgstr ""
53495378
5350#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>5379#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
5351#: apt.conf.5.xml:5845380#: apt.conf.5.xml:593
5352msgid "DPkg::NoTriggers"5381msgid "DPkg::NoTriggers"
5353msgstr ""5382msgstr ""
53545383
5355#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>5384#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5356#: apt.conf.5.xml:5855385#: apt.conf.5.xml:594
5357msgid ""5386msgid ""
5358"Add the no triggers flag to all dpkg calls (except the ConfigurePending "5387"Add the no triggers flag to all dpkg calls (except the ConfigurePending "
5359"call). See &dpkg; if you are interested in what this actually means. In "5388"call). See &dpkg; if you are interested in what this actually means. In "
@@ -5365,12 +5394,12 @@
5365msgstr ""5394msgstr ""
53665395
5367#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>5396#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
5368#: apt.conf.5.xml:5925397#: apt.conf.5.xml:601
5369msgid "PackageManager::Configure"5398msgid "PackageManager::Configure"
5370msgstr ""5399msgstr ""
53715400
5372#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>5401#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5373#: apt.conf.5.xml:5935402#: apt.conf.5.xml:602
5374msgid ""5403msgid ""
5375"Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "5404"Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
5376"and \"<literal>no</literal>\". \"<literal>all</literal>\" is the default "5405"and \"<literal>no</literal>\". \"<literal>all</literal>\" is the default "
@@ -5387,12 +5416,12 @@
5387msgstr ""5416msgstr ""
53885417
5389#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>5418#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
5390#: apt.conf.5.xml:6035419#: apt.conf.5.xml:612
5391msgid "DPkg::ConfigurePending"5420msgid "DPkg::ConfigurePending"
5392msgstr ""5421msgstr ""
53935422
5394#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>5423#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5395#: apt.conf.5.xml:6045424#: apt.conf.5.xml:613
5396msgid ""5425msgid ""
5397"If this option is set apt will call <command>dpkg --configure "5426"If this option is set apt will call <command>dpkg --configure "
5398"--pending</command> to let dpkg handle all required configurations and "5427"--pending</command> to let dpkg handle all required configurations and "
@@ -5404,12 +5433,12 @@
5404msgstr ""5433msgstr ""
54055434
5406#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>5435#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
5407#: apt.conf.5.xml:6105436#: apt.conf.5.xml:619
5408msgid "DPkg::TriggersPending"5437msgid "DPkg::TriggersPending"
5409msgstr ""5438msgstr ""
54105439
5411#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>5440#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5412#: apt.conf.5.xml:6115441#: apt.conf.5.xml:620
5413msgid ""5442msgid ""
5414"Useful for <literal>smart</literal> configuration as a package which has "5443"Useful for <literal>smart</literal> configuration as a package which has "
5415"pending triggers is not considered as <literal>installed</literal> and dpkg "5444"pending triggers is not considered as <literal>installed</literal> and dpkg "
@@ -5419,12 +5448,12 @@
5419msgstr ""5448msgstr ""
54205449
5421#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>5450#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
5422#: apt.conf.5.xml:6165451#: apt.conf.5.xml:625
5423msgid "PackageManager::UnpackAll"5452msgid "PackageManager::UnpackAll"
5424msgstr ""5453msgstr ""
54255454
5426#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>5455#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5427#: apt.conf.5.xml:6175456#: apt.conf.5.xml:626
5428msgid ""5457msgid ""
5429"As the configuration can be deferred to be done at the end by dpkg it can be "5458"As the configuration can be deferred to be done at the end by dpkg it can be "
5430"tried to order the unpack series only by critical needs, e.g. by "5459"tried to order the unpack series only by critical needs, e.g. by "
@@ -5436,12 +5465,12 @@
5436msgstr ""5465msgstr ""
54375466
5438#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>5467#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term>
5439#: apt.conf.5.xml:6245468#: apt.conf.5.xml:633
5440msgid "OrderList::Score::Immediate"5469msgid "OrderList::Score::Immediate"
5441msgstr ""5470msgstr ""
54425471
5443#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>5472#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
5444#: apt.conf.5.xml:6325473#: apt.conf.5.xml:641
5445#, no-wrap5474#, no-wrap
5446msgid ""5475msgid ""
5447"OrderList::Score {\n"5476"OrderList::Score {\n"
@@ -5453,7 +5482,7 @@
5453msgstr ""5482msgstr ""
54545483
5455#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>5484#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5456#: apt.conf.5.xml:6255485#: apt.conf.5.xml:634
5457msgid ""5486msgid ""
5458"Essential packages (and there dependencies) should be configured immediately "5487"Essential packages (and there dependencies) should be configured immediately "
5459"after unpacking. It will be a good idea to do this quite early in the "5488"after unpacking. It will be a good idea to do this quite early in the "
@@ -5467,12 +5496,12 @@
5467msgstr ""5496msgstr ""
54685497
5469#. type: Content of: <refentry><refsect1><title>5498#. type: Content of: <refentry><refsect1><title>
5470#: apt.conf.5.xml:6455499#: apt.conf.5.xml:654
5471msgid "Periodic and Archives options"5500msgid "Periodic and Archives options"
5472msgstr ""5501msgstr ""
54735502
5474#. type: Content of: <refentry><refsect1><para>5503#. type: Content of: <refentry><refsect1><para>
5475#: apt.conf.5.xml:6465504#: apt.conf.5.xml:655
5476msgid ""5505msgid ""
5477"<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "5506"<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
5478"of options configure behavior of apt periodic updates, which is done by "5507"of options configure behavior of apt periodic updates, which is done by "
@@ -5481,12 +5510,12 @@
5481msgstr ""5510msgstr ""
54825511
5483#. type: Content of: <refentry><refsect1><title>5512#. type: Content of: <refentry><refsect1><title>
5484#: apt.conf.5.xml:6545513#: apt.conf.5.xml:663
5485msgid "Debug options"5514msgid "Debug options"
5486msgstr ""5515msgstr ""
54875516
5488#. type: Content of: <refentry><refsect1><para>5517#. type: Content of: <refentry><refsect1><para>
5489#: apt.conf.5.xml:6565518#: apt.conf.5.xml:665
5490msgid ""5519msgid ""
5491"Enabling options in the <literal>Debug::</literal> section will cause "5520"Enabling options in the <literal>Debug::</literal> section will cause "
5492"debugging information to be sent to the standard error stream of the program "5521"debugging information to be sent to the standard error stream of the program "
@@ -5497,7 +5526,7 @@
5497msgstr ""5526msgstr ""
54985527
5499#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>5528#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
5500#: apt.conf.5.xml:6675529#: apt.conf.5.xml:676
5501msgid ""5530msgid ""
5502"<literal>Debug::pkgProblemResolver</literal> enables output about the "5531"<literal>Debug::pkgProblemResolver</literal> enables output about the "
5503"decisions made by <literal>dist-upgrade, upgrade, install, remove, "5532"decisions made by <literal>dist-upgrade, upgrade, install, remove, "
@@ -5505,7 +5534,7 @@
5505msgstr ""5534msgstr ""
55065535
5507#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>5536#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
5508#: apt.conf.5.xml:6755537#: apt.conf.5.xml:684
5509msgid ""5538msgid ""
5510"<literal>Debug::NoLocking</literal> disables all file locking. This can be "5539"<literal>Debug::NoLocking</literal> disables all file locking. This can be "
5511"used to run some operations (for instance, <literal>apt-get -s "5540"used to run some operations (for instance, <literal>apt-get -s "
@@ -5513,7 +5542,7 @@
5513msgstr ""5542msgstr ""
55145543
5515#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>5544#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
5516#: apt.conf.5.xml:6845545#: apt.conf.5.xml:693
5517msgid ""5546msgid ""
5518"<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "5547"<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
5519"time that <literal>apt</literal> invokes &dpkg;."5548"time that <literal>apt</literal> invokes &dpkg;."
@@ -5523,110 +5552,110 @@
5523#. motivating example, except I haven't a clue why you'd want5552#. motivating example, except I haven't a clue why you'd want
5524#. to do this. 5553#. to do this.
5525#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>5554#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
5526#: apt.conf.5.xml:6925555#: apt.conf.5.xml:701
5527msgid ""5556msgid ""
5528"<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "5557"<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
5529"in CDROM IDs."5558"in CDROM IDs."
5530msgstr ""5559msgstr ""
55315560
5532#. type: Content of: <refentry><refsect1><para>5561#. type: Content of: <refentry><refsect1><para>
5533#: apt.conf.5.xml:7025562#: apt.conf.5.xml:711
5534msgid "A full list of debugging options to apt follows."5563msgid "A full list of debugging options to apt follows."
5535msgstr ""5564msgstr ""
55365565
5537#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5566#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5538#: apt.conf.5.xml:7075567#: apt.conf.5.xml:716
5539msgid "<literal>Debug::Acquire::cdrom</literal>"5568msgid "<literal>Debug::Acquire::cdrom</literal>"
5540msgstr ""5569msgstr ""
55415570
5542#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5571#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5543#: apt.conf.5.xml:7115572#: apt.conf.5.xml:720
5544msgid "Print information related to accessing <literal>cdrom://</literal> sources."5573msgid "Print information related to accessing <literal>cdrom://</literal> sources."
5545msgstr ""5574msgstr ""
55465575
5547#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5576#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5548#: apt.conf.5.xml:7185577#: apt.conf.5.xml:727
5549msgid "<literal>Debug::Acquire::ftp</literal>"5578msgid "<literal>Debug::Acquire::ftp</literal>"
5550msgstr ""5579msgstr ""
55515580
5552#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5581#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5553#: apt.conf.5.xml:7225582#: apt.conf.5.xml:731
5554msgid "Print information related to downloading packages using FTP."5583msgid "Print information related to downloading packages using FTP."
5555msgstr ""5584msgstr ""
55565585
5557#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5586#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5558#: apt.conf.5.xml:7295587#: apt.conf.5.xml:738
5559msgid "<literal>Debug::Acquire::http</literal>"5588msgid "<literal>Debug::Acquire::http</literal>"
5560msgstr ""5589msgstr ""
55615590
5562#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5591#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5563#: apt.conf.5.xml:7335592#: apt.conf.5.xml:742
5564msgid "Print information related to downloading packages using HTTP."5593msgid "Print information related to downloading packages using HTTP."
5565msgstr ""5594msgstr ""
55665595
5567#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5596#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5568#: apt.conf.5.xml:7405597#: apt.conf.5.xml:749
5569msgid "<literal>Debug::Acquire::https</literal>"5598msgid "<literal>Debug::Acquire::https</literal>"
5570msgstr ""5599msgstr ""
55715600
5572#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5601#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5573#: apt.conf.5.xml:7445602#: apt.conf.5.xml:753
5574msgid "Print information related to downloading packages using HTTPS."5603msgid "Print information related to downloading packages using HTTPS."
5575msgstr ""5604msgstr ""
55765605
5577#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5606#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5578#: apt.conf.5.xml:7515607#: apt.conf.5.xml:760
5579msgid "<literal>Debug::Acquire::gpgv</literal>"5608msgid "<literal>Debug::Acquire::gpgv</literal>"
5580msgstr ""5609msgstr ""
55815610
5582#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5611#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5583#: apt.conf.5.xml:7555612#: apt.conf.5.xml:764
5584msgid ""5613msgid ""
5585"Print information related to verifying cryptographic signatures using "5614"Print information related to verifying cryptographic signatures using "
5586"<literal>gpg</literal>."5615"<literal>gpg</literal>."
5587msgstr ""5616msgstr ""
55885617
5589#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5618#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5590#: apt.conf.5.xml:7625619#: apt.conf.5.xml:771
5591msgid "<literal>Debug::aptcdrom</literal>"5620msgid "<literal>Debug::aptcdrom</literal>"
5592msgstr ""5621msgstr ""
55935622
5594#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5623#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5595#: apt.conf.5.xml:7665624#: apt.conf.5.xml:775
5596msgid ""5625msgid ""
5597"Output information about the process of accessing collections of packages "5626"Output information about the process of accessing collections of packages "
5598"stored on CD-ROMs."5627"stored on CD-ROMs."
5599msgstr ""5628msgstr ""
56005629
5601#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5630#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5602#: apt.conf.5.xml:7735631#: apt.conf.5.xml:782
5603msgid "<literal>Debug::BuildDeps</literal>"5632msgid "<literal>Debug::BuildDeps</literal>"
5604msgstr ""5633msgstr ""
56055634
5606#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5635#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5607#: apt.conf.5.xml:7765636#: apt.conf.5.xml:785
5608msgid "Describes the process of resolving build-dependencies in &apt-get;."5637msgid "Describes the process of resolving build-dependencies in &apt-get;."
5609msgstr ""5638msgstr ""
56105639
5611#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5640#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5612#: apt.conf.5.xml:7835641#: apt.conf.5.xml:792
5613msgid "<literal>Debug::Hashes</literal>"5642msgid "<literal>Debug::Hashes</literal>"
5614msgstr ""5643msgstr ""
56155644
5616#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5645#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5617#: apt.conf.5.xml:7865646#: apt.conf.5.xml:795
5618msgid ""5647msgid ""
5619"Output each cryptographic hash that is generated by the "5648"Output each cryptographic hash that is generated by the "
5620"<literal>apt</literal> libraries."5649"<literal>apt</literal> libraries."
5621msgstr ""5650msgstr ""
56225651
5623#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5652#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5624#: apt.conf.5.xml:7935653#: apt.conf.5.xml:802
5625msgid "<literal>Debug::IdentCDROM</literal>"5654msgid "<literal>Debug::IdentCDROM</literal>"
5626msgstr ""5655msgstr ""
56275656
5628#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5657#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5629#: apt.conf.5.xml:7965658#: apt.conf.5.xml:805
5630msgid ""5659msgid ""
5631"Do not include information from <literal>statfs</literal>, namely the number "5660"Do not include information from <literal>statfs</literal>, namely the number "
5632"of used and free blocks on the CD-ROM filesystem, when generating an ID for "5661"of used and free blocks on the CD-ROM filesystem, when generating an ID for "
@@ -5634,92 +5663,92 @@
5634msgstr ""5663msgstr ""
56355664
5636#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5665#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5637#: apt.conf.5.xml:8045666#: apt.conf.5.xml:813
5638msgid "<literal>Debug::NoLocking</literal>"5667msgid "<literal>Debug::NoLocking</literal>"
5639msgstr ""5668msgstr ""
56405669
5641#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5670#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5642#: apt.conf.5.xml:8075671#: apt.conf.5.xml:816
5643msgid ""5672msgid ""
5644"Disable all file locking. For instance, this will allow two instances of "5673"Disable all file locking. For instance, this will allow two instances of "
5645"<quote><literal>apt-get update</literal></quote> to run at the same time."5674"<quote><literal>apt-get update</literal></quote> to run at the same time."
5646msgstr ""5675msgstr ""
56475676
5648#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5677#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5649#: apt.conf.5.xml:8155678#: apt.conf.5.xml:824
5650msgid "<literal>Debug::pkgAcquire</literal>"5679msgid "<literal>Debug::pkgAcquire</literal>"
5651msgstr ""5680msgstr ""
56525681
5653#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5682#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5654#: apt.conf.5.xml:8195683#: apt.conf.5.xml:828
5655msgid "Log when items are added to or removed from the global download queue."5684msgid "Log when items are added to or removed from the global download queue."
5656msgstr ""5685msgstr ""
56575686
5658#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5687#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5659#: apt.conf.5.xml:8265688#: apt.conf.5.xml:835
5660msgid "<literal>Debug::pkgAcquire::Auth</literal>"5689msgid "<literal>Debug::pkgAcquire::Auth</literal>"
5661msgstr ""5690msgstr ""
56625691
5663#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5692#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5664#: apt.conf.5.xml:8295693#: apt.conf.5.xml:838
5665msgid ""5694msgid ""
5666"Output status messages and errors related to verifying checksums and "5695"Output status messages and errors related to verifying checksums and "
5667"cryptographic signatures of downloaded files."5696"cryptographic signatures of downloaded files."
5668msgstr ""5697msgstr ""
56695698
5670#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5699#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5671#: apt.conf.5.xml:8365700#: apt.conf.5.xml:845
5672msgid "<literal>Debug::pkgAcquire::Diffs</literal>"5701msgid "<literal>Debug::pkgAcquire::Diffs</literal>"
5673msgstr ""5702msgstr ""
56745703
5675#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5704#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5676#: apt.conf.5.xml:8395705#: apt.conf.5.xml:848
5677msgid ""5706msgid ""
5678"Output information about downloading and applying package index list diffs, "5707"Output information about downloading and applying package index list diffs, "
5679"and errors relating to package index list diffs."5708"and errors relating to package index list diffs."
5680msgstr ""5709msgstr ""
56815710
5682#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5711#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5683#: apt.conf.5.xml:8475712#: apt.conf.5.xml:856
5684msgid "<literal>Debug::pkgAcquire::RRed</literal>"5713msgid "<literal>Debug::pkgAcquire::RRed</literal>"
5685msgstr ""5714msgstr ""
56865715
5687#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5716#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5688#: apt.conf.5.xml:8515717#: apt.conf.5.xml:860
5689msgid ""5718msgid ""
5690"Output information related to patching apt package lists when downloading "5719"Output information related to patching apt package lists when downloading "
5691"index diffs instead of full indices."5720"index diffs instead of full indices."
5692msgstr ""5721msgstr ""
56935722
5694#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5723#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5695#: apt.conf.5.xml:8585724#: apt.conf.5.xml:867
5696msgid "<literal>Debug::pkgAcquire::Worker</literal>"5725msgid "<literal>Debug::pkgAcquire::Worker</literal>"
5697msgstr ""5726msgstr ""
56985727
5699#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5728#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5700#: apt.conf.5.xml:8625729#: apt.conf.5.xml:871
5701msgid "Log all interactions with the sub-processes that actually perform downloads."5730msgid "Log all interactions with the sub-processes that actually perform downloads."
5702msgstr ""5731msgstr ""
57035732
5704#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5733#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5705#: apt.conf.5.xml:8695734#: apt.conf.5.xml:878
5706msgid "<literal>Debug::pkgAutoRemove</literal>"5735msgid "<literal>Debug::pkgAutoRemove</literal>"
5707msgstr ""5736msgstr ""
57085737
5709#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5738#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5710#: apt.conf.5.xml:8735739#: apt.conf.5.xml:882
5711msgid ""5740msgid ""
5712"Log events related to the automatically-installed status of packages and to "5741"Log events related to the automatically-installed status of packages and to "
5713"the removal of unused packages."5742"the removal of unused packages."
5714msgstr ""5743msgstr ""
57155744
5716#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5745#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5717#: apt.conf.5.xml:8805746#: apt.conf.5.xml:889
5718msgid "<literal>Debug::pkgDepCache::AutoInstall</literal>"5747msgid "<literal>Debug::pkgDepCache::AutoInstall</literal>"
5719msgstr ""5748msgstr ""
57205749
5721#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5750#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5722#: apt.conf.5.xml:8835751#: apt.conf.5.xml:892
5723msgid ""5752msgid ""
5724"Generate debug messages describing which packages are being automatically "5753"Generate debug messages describing which packages are being automatically "
5725"installed to resolve dependencies. This corresponds to the initial "5754"installed to resolve dependencies. This corresponds to the initial "
@@ -5729,12 +5758,12 @@
5729msgstr ""5758msgstr ""
57305759
5731#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5760#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5732#: apt.conf.5.xml:8945761#: apt.conf.5.xml:903
5733msgid "<literal>Debug::pkgDepCache::Marker</literal>"5762msgid "<literal>Debug::pkgDepCache::Marker</literal>"
5734msgstr ""5763msgstr ""
57355764
5736#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5765#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5737#: apt.conf.5.xml:8975766#: apt.conf.5.xml:906
5738msgid ""5767msgid ""
5739"Generate debug messages describing which package is marked as "5768"Generate debug messages describing which package is marked as "
5740"keep/install/remove while the ProblemResolver does his work. Each addition "5769"keep/install/remove while the ProblemResolver does his work. Each addition "
@@ -5752,90 +5781,90 @@
5752msgstr ""5781msgstr ""
57535782
5754#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5783#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5755#: apt.conf.5.xml:9165784#: apt.conf.5.xml:925
5756msgid "<literal>Debug::pkgInitConfig</literal>"5785msgid "<literal>Debug::pkgInitConfig</literal>"
5757msgstr ""5786msgstr ""
57585787
5759#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5788#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5760#: apt.conf.5.xml:9195789#: apt.conf.5.xml:928
5761msgid "Dump the default configuration to standard error on startup."5790msgid "Dump the default configuration to standard error on startup."
5762msgstr ""5791msgstr ""
57635792
5764#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5793#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5765#: apt.conf.5.xml:9265794#: apt.conf.5.xml:935
5766msgid "<literal>Debug::pkgDPkgPM</literal>"5795msgid "<literal>Debug::pkgDPkgPM</literal>"
5767msgstr ""5796msgstr ""
57685797
5769#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5798#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5770#: apt.conf.5.xml:9295799#: apt.conf.5.xml:938
5771msgid ""5800msgid ""
5772"When invoking &dpkg;, output the precise command line with which it is being "5801"When invoking &dpkg;, output the precise command line with which it is being "
5773"invoked, with arguments separated by a single space character."5802"invoked, with arguments separated by a single space character."
5774msgstr ""5803msgstr ""
57755804
5776#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5805#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5777#: apt.conf.5.xml:9375806#: apt.conf.5.xml:946
5778msgid "<literal>Debug::pkgDPkgProgressReporting</literal>"5807msgid "<literal>Debug::pkgDPkgProgressReporting</literal>"
5779msgstr ""5808msgstr ""
57805809
5781#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5810#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5782#: apt.conf.5.xml:9405811#: apt.conf.5.xml:949
5783msgid ""5812msgid ""
5784"Output all the data received from &dpkg; on the status file descriptor and "5813"Output all the data received from &dpkg; on the status file descriptor and "
5785"any errors encountered while parsing it."5814"any errors encountered while parsing it."
5786msgstr ""5815msgstr ""
57875816
5788#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5817#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5789#: apt.conf.5.xml:9475818#: apt.conf.5.xml:956
5790msgid "<literal>Debug::pkgOrderList</literal>"5819msgid "<literal>Debug::pkgOrderList</literal>"
5791msgstr ""5820msgstr ""
57925821
5793#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5822#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5794#: apt.conf.5.xml:9515823#: apt.conf.5.xml:960
5795msgid ""5824msgid ""
5796"Generate a trace of the algorithm that decides the order in which "5825"Generate a trace of the algorithm that decides the order in which "
5797"<literal>apt</literal> should pass packages to &dpkg;."5826"<literal>apt</literal> should pass packages to &dpkg;."
5798msgstr ""5827msgstr ""
57995828
5800#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5829#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5801#: apt.conf.5.xml:9595830#: apt.conf.5.xml:968
5802msgid "<literal>Debug::pkgPackageManager</literal>"5831msgid "<literal>Debug::pkgPackageManager</literal>"
5803msgstr ""5832msgstr ""
58045833
5805#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5834#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5806#: apt.conf.5.xml:9635835#: apt.conf.5.xml:972
5807msgid "Output status messages tracing the steps performed when invoking &dpkg;."5836msgid "Output status messages tracing the steps performed when invoking &dpkg;."
5808msgstr ""5837msgstr ""
58095838
5810#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5839#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5811#: apt.conf.5.xml:9705840#: apt.conf.5.xml:979
5812msgid "<literal>Debug::pkgPolicy</literal>"5841msgid "<literal>Debug::pkgPolicy</literal>"
5813msgstr ""5842msgstr ""
58145843
5815#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5844#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5816#: apt.conf.5.xml:9745845#: apt.conf.5.xml:983
5817msgid "Output the priority of each package list on startup."5846msgid "Output the priority of each package list on startup."
5818msgstr ""5847msgstr ""
58195848
5820#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5849#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5821#: apt.conf.5.xml:9805850#: apt.conf.5.xml:989
5822msgid "<literal>Debug::pkgProblemResolver</literal>"5851msgid "<literal>Debug::pkgProblemResolver</literal>"
5823msgstr ""5852msgstr ""
58245853
5825#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5854#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5826#: apt.conf.5.xml:9845855#: apt.conf.5.xml:993
5827msgid ""5856msgid ""
5828"Trace the execution of the dependency resolver (this applies only to what "5857"Trace the execution of the dependency resolver (this applies only to what "
5829"happens when a complex dependency problem is encountered)."5858"happens when a complex dependency problem is encountered)."
5830msgstr ""5859msgstr ""
58315860
5832#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5861#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5833#: apt.conf.5.xml:9925862#: apt.conf.5.xml:1001
5834msgid "<literal>Debug::pkgProblemResolver::ShowScores</literal>"5863msgid "<literal>Debug::pkgProblemResolver::ShowScores</literal>"
5835msgstr ""5864msgstr ""
58365865
5837#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5866#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5838#: apt.conf.5.xml:9955867#: apt.conf.5.xml:1004
5839msgid ""5868msgid ""
5840"Display a list of all installed packages with their calculated score used by "5869"Display a list of all installed packages with their calculated score used by "
5841"the pkgProblemResolver. The description of the package is the same as "5870"the pkgProblemResolver. The description of the package is the same as "
@@ -5843,39 +5872,39 @@
5843msgstr ""5872msgstr ""
58445873
5845#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>5874#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
5846#: apt.conf.5.xml:10035875#: apt.conf.5.xml:1012
5847msgid "<literal>Debug::sourceList</literal>"5876msgid "<literal>Debug::sourceList</literal>"
5848msgstr ""5877msgstr ""
58495878
5850#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>5879#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5851#: apt.conf.5.xml:10075880#: apt.conf.5.xml:1016
5852msgid ""5881msgid ""
5853"Print information about the vendors read from "5882"Print information about the vendors read from "
5854"<filename>/etc/apt/vendors.list</filename>."5883"<filename>/etc/apt/vendors.list</filename>."
5855msgstr ""5884msgstr ""
58565885
5857#. type: Content of: <refentry><refsect1><para>5886#. type: Content of: <refentry><refsect1><para>
5858#: apt.conf.5.xml:10305887#: apt.conf.5.xml:1039
5859msgid ""5888msgid ""
5860"&configureindex; is a configuration file showing example values for all "5889"&configureindex; is a configuration file showing example values for all "
5861"possible options."5890"possible options."
5862msgstr ""5891msgstr ""
58635892
5864#. type: Content of: <refentry><refsect1><variablelist>5893#. type: Content of: <refentry><refsect1><variablelist>
5865#: apt.conf.5.xml:10375894#: apt.conf.5.xml:1046
5866msgid "&file-aptconf;"5895msgid "&file-aptconf;"
5867msgstr ""5896msgstr ""
58685897
5869#. ? reading apt.conf 5898#. ? reading apt.conf
5870#. type: Content of: <refentry><refsect1><para>5899#. type: Content of: <refentry><refsect1><para>
5871#: apt.conf.5.xml:10425900#: apt.conf.5.xml:1051
5872msgid "&apt-cache;, &apt-config;, &apt-preferences;."5901msgid "&apt-cache;, &apt-config;, &apt-preferences;."
5873msgstr ""5902msgstr ""
58745903
5875#. The last update date 5904#. The last update date
5876#. type: Content of: <refentry><refentryinfo>5905#. type: Content of: <refentry><refentryinfo>
5877#: apt_preferences.5.xml:135906#: apt_preferences.5.xml:13
5878msgid "&apt-author.team; &apt-email; &apt-product; <date>04 May 2009</date>"5907msgid "&apt-author.team; &apt-email; &apt-product; <date>16 February 2010</date>"
5879msgstr ""5908msgstr ""
58805909
5881#. type: Content of: <refentry><refnamediv><refname>5910#. type: Content of: <refentry><refnamediv><refname>
@@ -5923,6 +5952,17 @@
5923#. type: Content of: <refentry><refsect1><para>5952#. type: Content of: <refentry><refsect1><para>
5924#: apt_preferences.5.xml:565953#: apt_preferences.5.xml:56
5925msgid ""5954msgid ""
5955"Preferences are a strong power in the hands of a system administrator but "
5956"they can become also their biggest nightmare if used without care! APT will "
5957"not questioning the preferences so wrong settings will therefore lead to "
5958"uninstallable packages or wrong decisions while upgrading packages. Even "
5959"more problems will arise if multiply distribution releases are mixed without "
5960"a good understanding of the following paragraphs. You have been warned."
5961msgstr ""
5962
5963#. type: Content of: <refentry><refsect1><para>
5964#: apt_preferences.5.xml:64
5965msgid ""
5926"Note that the files in the <filename>/etc/apt/preferences.d</filename> "5966"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
5927"directory are parsed in alphanumeric ascending order and need to obey the "5967"directory are parsed in alphanumeric ascending order and need to obey the "
5928"following naming convention: The files have no or "5968"following naming convention: The files have no or "
@@ -5932,12 +5972,12 @@
5932msgstr ""5972msgstr ""
59335973
5934#. type: Content of: <refentry><refsect1><refsect2><title>5974#. type: Content of: <refentry><refsect1><refsect2><title>
5935#: apt_preferences.5.xml:635975#: apt_preferences.5.xml:71
5936msgid "APT's Default Priority Assignments"5976msgid "APT's Default Priority Assignments"
5937msgstr ""5977msgstr ""
59385978
5939#. type: Content of: <refentry><refsect1><refsect2><para><programlisting>5979#. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
5940#: apt_preferences.5.xml:785980#: apt_preferences.5.xml:86
5941#, no-wrap5981#, no-wrap
5942msgid ""5982msgid ""
5943"<command>apt-get install -t testing "5983"<command>apt-get install -t testing "
@@ -5945,13 +5985,13 @@
5945msgstr ""5985msgstr ""
59465986
5947#. type: Content of: <refentry><refsect1><refsect2><para><programlisting>5987#. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
5948#: apt_preferences.5.xml:815988#: apt_preferences.5.xml:89
5949#, no-wrap5989#, no-wrap
5950msgid "APT::Default-Release \"stable\";\n"5990msgid "APT::Default-Release \"stable\";\n"
5951msgstr ""5991msgstr ""
59525992
5953#. type: Content of: <refentry><refsect1><refsect2><para>5993#. type: Content of: <refentry><refsect1><refsect2><para>
5954#: apt_preferences.5.xml:655994#: apt_preferences.5.xml:73
5955msgid ""5995msgid ""
5956"If there is no preferences file or if there is no entry in the file that "5996"If there is no preferences file or if there is no entry in the file that "
5957"applies to a particular version then the priority assigned to that version "5997"applies to a particular version then the priority assigned to that version "
@@ -5968,39 +6008,39 @@
5968msgstr ""6008msgstr ""
59696009
5970#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6010#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
5971#: apt_preferences.5.xml:906011#: apt_preferences.5.xml:98
5972msgid "priority 100"6012msgid "priority 100"
5973msgstr ""6013msgstr ""
59746014
5975#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6015#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
5976#: apt_preferences.5.xml:916016#: apt_preferences.5.xml:99
5977msgid "to the version that is already installed (if any)."6017msgid "to the version that is already installed (if any)."
5978msgstr ""6018msgstr ""
59796019
5980#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6020#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
5981#: apt_preferences.5.xml:956021#: apt_preferences.5.xml:103
5982msgid "priority 500"6022msgid "priority 500"
5983msgstr ""6023msgstr ""
59846024
5985#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6025#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
5986#: apt_preferences.5.xml:966026#: apt_preferences.5.xml:104
5987msgid ""6027msgid ""
5988"to the versions that are not installed and do not belong to the target "6028"to the versions that are not installed and do not belong to the target "
5989"release."6029"release."
5990msgstr ""6030msgstr ""
59916031
5992#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6032#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
5993#: apt_preferences.5.xml:1006033#: apt_preferences.5.xml:108
5994msgid "priority 990"6034msgid "priority 990"
5995msgstr ""6035msgstr ""
59966036
5997#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6037#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
5998#: apt_preferences.5.xml:1016038#: apt_preferences.5.xml:109
5999msgid "to the versions that are not installed and belong to the target release."6039msgid "to the versions that are not installed and belong to the target release."
6000msgstr ""6040msgstr ""
60016041
6002#. type: Content of: <refentry><refsect1><refsect2><para>6042#. type: Content of: <refentry><refsect1><refsect2><para>
6003#: apt_preferences.5.xml:856043#: apt_preferences.5.xml:93
6004msgid ""6044msgid ""
6005"If the target release has been specified then APT uses the following "6045"If the target release has been specified then APT uses the following "
6006"algorithm to set the priorities of the versions of a package. Assign: "6046"algorithm to set the priorities of the versions of a package. Assign: "
@@ -6008,7 +6048,7 @@
6008msgstr ""6048msgstr ""
60096049
6010#. type: Content of: <refentry><refsect1><refsect2><para>6050#. type: Content of: <refentry><refsect1><refsect2><para>
6011#: apt_preferences.5.xml:1066051#: apt_preferences.5.xml:114
6012msgid ""6052msgid ""
6013"If the target release has not been specified then APT simply assigns "6053"If the target release has not been specified then APT simply assigns "
6014"priority 100 to all installed package versions and priority 500 to all "6054"priority 100 to all installed package versions and priority 500 to all "
@@ -6016,14 +6056,14 @@
6016msgstr ""6056msgstr ""
60176057
6018#. type: Content of: <refentry><refsect1><refsect2><para>6058#. type: Content of: <refentry><refsect1><refsect2><para>
6019#: apt_preferences.5.xml:1106059#: apt_preferences.5.xml:118
6020msgid ""6060msgid ""
6021"APT then applies the following rules, listed in order of precedence, to "6061"APT then applies the following rules, listed in order of precedence, to "
6022"determine which version of a package to install."6062"determine which version of a package to install."
6023msgstr ""6063msgstr ""
60246064
6025#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6065#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6026#: apt_preferences.5.xml:1136066#: apt_preferences.5.xml:121
6027msgid ""6067msgid ""
6028"Never downgrade unless the priority of an available version exceeds 1000. "6068"Never downgrade unless the priority of an available version exceeds 1000. "
6029"(\"Downgrading\" is installing a less recent version of a package in place "6069"(\"Downgrading\" is installing a less recent version of a package in place "
@@ -6033,19 +6073,19 @@
6033msgstr ""6073msgstr ""
60346074
6035#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6075#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6036#: apt_preferences.5.xml:1196076#: apt_preferences.5.xml:127
6037msgid "Install the highest priority version."6077msgid "Install the highest priority version."
6038msgstr ""6078msgstr ""
60396079
6040#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6080#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6041#: apt_preferences.5.xml:1206081#: apt_preferences.5.xml:128
6042msgid ""6082msgid ""
6043"If two or more versions have the same priority, install the most recent one "6083"If two or more versions have the same priority, install the most recent one "
6044"(that is, the one with the higher version number)."6084"(that is, the one with the higher version number)."
6045msgstr ""6085msgstr ""
60466086
6047#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6087#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6048#: apt_preferences.5.xml:1236088#: apt_preferences.5.xml:131
6049msgid ""6089msgid ""
6050"If two or more versions have the same priority and version number but either "6090"If two or more versions have the same priority and version number but either "
6051"the packages differ in some of their metadata or the "6091"the packages differ in some of their metadata or the "
@@ -6053,7 +6093,7 @@
6053msgstr ""6093msgstr ""
60546094
6055#. type: Content of: <refentry><refsect1><refsect2><para>6095#. type: Content of: <refentry><refsect1><refsect2><para>
6056#: apt_preferences.5.xml:1296096#: apt_preferences.5.xml:137
6057msgid ""6097msgid ""
6058"In a typical situation, the installed version of a package (priority 100) "6098"In a typical situation, the installed version of a package (priority 100) "
6059"is not as recent as one of the versions available from the sources listed in "6099"is not as recent as one of the versions available from the sources listed in "
@@ -6064,7 +6104,7 @@
6064msgstr ""6104msgstr ""
60656105
6066#. type: Content of: <refentry><refsect1><refsect2><para>6106#. type: Content of: <refentry><refsect1><refsect2><para>
6067#: apt_preferences.5.xml:1366107#: apt_preferences.5.xml:144
6068msgid ""6108msgid ""
6069"More rarely, the installed version of a package is <emphasis>more</emphasis> "6109"More rarely, the installed version of a package is <emphasis>more</emphasis> "
6070"recent than any of the other available versions. The package will not be "6110"recent than any of the other available versions. The package will not be "
@@ -6074,7 +6114,7 @@
6074msgstr ""6114msgstr ""
60756115
6076#. type: Content of: <refentry><refsect1><refsect2><para>6116#. type: Content of: <refentry><refsect1><refsect2><para>
6077#: apt_preferences.5.xml:1416117#: apt_preferences.5.xml:149
6078msgid ""6118msgid ""
6079"Sometimes the installed version of a package is more recent than the version "6119"Sometimes the installed version of a package is more recent than the version "
6080"belonging to the target release, but not as recent as a version belonging to "6120"belonging to the target release, but not as recent as a version belonging to "
@@ -6086,12 +6126,12 @@
6086msgstr ""6126msgstr ""
60876127
6088#. type: Content of: <refentry><refsect1><refsect2><title>6128#. type: Content of: <refentry><refsect1><refsect2><title>
6089#: apt_preferences.5.xml:1506129#: apt_preferences.5.xml:158
6090msgid "The Effect of APT Preferences"6130msgid "The Effect of APT Preferences"
6091msgstr ""6131msgstr ""
60926132
6093#. type: Content of: <refentry><refsect1><refsect2><para>6133#. type: Content of: <refentry><refsect1><refsect2><para>
6094#: apt_preferences.5.xml:1526134#: apt_preferences.5.xml:160
6095msgid ""6135msgid ""
6096"The APT preferences file allows the system administrator to control the "6136"The APT preferences file allows the system administrator to control the "
6097"assignment of priorities. The file consists of one or more multi-line "6137"assignment of priorities. The file consists of one or more multi-line "
@@ -6100,7 +6140,7 @@
6100msgstr ""6140msgstr ""
61016141
6102#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6142#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6103#: apt_preferences.5.xml:1586143#: apt_preferences.5.xml:166
6104msgid ""6144msgid ""
6105"The specific form assigns a priority (a \"Pin-Priority\") to one or more "6145"The specific form assigns a priority (a \"Pin-Priority\") to one or more "
6106"specified packages and specified version or version range. For example, the "6146"specified packages and specified version or version range. For example, the "
@@ -6110,7 +6150,7 @@
6110msgstr ""6150msgstr ""
61116151
6112#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>6152#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
6113#: apt_preferences.5.xml:1656153#: apt_preferences.5.xml:173
6114#, no-wrap6154#, no-wrap
6115msgid ""6155msgid ""
6116"Package: perl\n"6156"Package: perl\n"
@@ -6119,7 +6159,7 @@
6119msgstr ""6159msgstr ""
61206160
6121#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6161#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6122#: apt_preferences.5.xml:1716162#: apt_preferences.5.xml:179
6123msgid ""6163msgid ""
6124"The general form assigns a priority to all of the package versions in a "6164"The general form assigns a priority to all of the package versions in a "
6125"given distribution (that is, to all the versions of packages that are listed "6165"given distribution (that is, to all the versions of packages that are listed "
@@ -6129,7 +6169,7 @@
6129msgstr ""6169msgstr ""
61306170
6131#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6171#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6132#: apt_preferences.5.xml:1776172#: apt_preferences.5.xml:185
6133msgid ""6173msgid ""
6134"This general-form entry in the APT preferences file applies only to groups "6174"This general-form entry in the APT preferences file applies only to groups "
6135"of packages. For example, the following record assigns a high priority to "6175"of packages. For example, the following record assigns a high priority to "
@@ -6137,7 +6177,7 @@
6137msgstr ""6177msgstr ""
61386178
6139#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>6179#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
6140#: apt_preferences.5.xml:1826180#: apt_preferences.5.xml:190
6141#, no-wrap6181#, no-wrap
6142msgid ""6182msgid ""
6143"Package: *\n"6183"Package: *\n"
@@ -6146,7 +6186,7 @@
6146msgstr ""6186msgstr ""
61476187
6148#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6188#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6149#: apt_preferences.5.xml:1876189#: apt_preferences.5.xml:195
6150msgid ""6190msgid ""
6151"A note of caution: the keyword used here is \"<literal>origin</literal>\". "6191"A note of caution: the keyword used here is \"<literal>origin</literal>\". "
6152"This should not be confused with the Origin of a distribution as specified "6192"This should not be confused with the Origin of a distribution as specified "
@@ -6156,7 +6196,7 @@
6156msgstr ""6196msgstr ""
61576197
6158#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6198#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6159#: apt_preferences.5.xml:1936199#: apt_preferences.5.xml:201
6160msgid ""6200msgid ""
6161"The following record assigns a low priority to all package versions "6201"The following record assigns a low priority to all package versions "
6162"belonging to any distribution whose Archive name is "6202"belonging to any distribution whose Archive name is "
@@ -6164,7 +6204,7 @@
6164msgstr ""6204msgstr ""
61656205
6166#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>6206#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
6167#: apt_preferences.5.xml:1976207#: apt_preferences.5.xml:205
6168#, no-wrap6208#, no-wrap
6169msgid ""6209msgid ""
6170"Package: *\n"6210"Package: *\n"
@@ -6173,7 +6213,7 @@
6173msgstr ""6213msgstr ""
61746214
6175#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6215#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6176#: apt_preferences.5.xml:2026216#: apt_preferences.5.xml:210
6177msgid ""6217msgid ""
6178"The following record assigns a high priority to all package versions "6218"The following record assigns a high priority to all package versions "
6179"belonging to any distribution whose Codename is "6219"belonging to any distribution whose Codename is "
@@ -6181,7 +6221,7 @@
6181msgstr ""6221msgstr ""
61826222
6183#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>6223#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
6184#: apt_preferences.5.xml:2066224#: apt_preferences.5.xml:214
6185#, no-wrap6225#, no-wrap
6186msgid ""6226msgid ""
6187"Package: *\n"6227"Package: *\n"
@@ -6190,7 +6230,7 @@
6190msgstr ""6230msgstr ""
61916231
6192#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6232#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6193#: apt_preferences.5.xml:2116233#: apt_preferences.5.xml:219
6194msgid ""6234msgid ""
6195"The following record assigns a high priority to all package versions "6235"The following record assigns a high priority to all package versions "
6196"belonging to any release whose Archive name is \"<literal>stable</literal>\" "6236"belonging to any release whose Archive name is \"<literal>stable</literal>\" "
@@ -6198,7 +6238,7 @@
6198msgstr ""6238msgstr ""
61996239
6200#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>6240#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
6201#: apt_preferences.5.xml:2166241#: apt_preferences.5.xml:224
6202#, no-wrap6242#, no-wrap
6203msgid ""6243msgid ""
6204"Package: *\n"6244"Package: *\n"
@@ -6207,82 +6247,82 @@
6207msgstr ""6247msgstr ""
62086248
6209#. type: Content of: <refentry><refsect1><refsect2><title>6249#. type: Content of: <refentry><refsect1><refsect2><title>
6210#: apt_preferences.5.xml:2276250#: apt_preferences.5.xml:235
6211msgid "How APT Interprets Priorities"6251msgid "How APT Interprets Priorities"
6212msgstr ""6252msgstr ""
62136253
6214#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6254#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
6215#: apt_preferences.5.xml:2356255#: apt_preferences.5.xml:243
6216msgid "P &gt; 1000"6256msgid "P &gt; 1000"
6217msgstr ""6257msgstr ""
62186258
6219#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6259#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
6220#: apt_preferences.5.xml:2366260#: apt_preferences.5.xml:244
6221msgid ""6261msgid ""
6222"causes a version to be installed even if this constitutes a downgrade of the "6262"causes a version to be installed even if this constitutes a downgrade of the "
6223"package"6263"package"
6224msgstr ""6264msgstr ""
62256265
6226#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6266#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
6227#: apt_preferences.5.xml:2406267#: apt_preferences.5.xml:248
6228msgid "990 &lt; P &lt;=1000"6268msgid "990 &lt; P &lt;=1000"
6229msgstr ""6269msgstr ""
62306270
6231#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6271#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
6232#: apt_preferences.5.xml:2416272#: apt_preferences.5.xml:249
6233msgid ""6273msgid ""
6234"causes a version to be installed even if it does not come from the target "6274"causes a version to be installed even if it does not come from the target "
6235"release, unless the installed version is more recent"6275"release, unless the installed version is more recent"
6236msgstr ""6276msgstr ""
62376277
6238#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6278#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
6239#: apt_preferences.5.xml:2466279#: apt_preferences.5.xml:254
6240msgid "500 &lt; P &lt;=990"6280msgid "500 &lt; P &lt;=990"
6241msgstr ""6281msgstr ""
62426282
6243#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6283#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
6244#: apt_preferences.5.xml:2476284#: apt_preferences.5.xml:255
6245msgid ""6285msgid ""
6246"causes a version to be installed unless there is a version available "6286"causes a version to be installed unless there is a version available "
6247"belonging to the target release or the installed version is more recent"6287"belonging to the target release or the installed version is more recent"
6248msgstr ""6288msgstr ""
62496289
6250#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6290#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
6251#: apt_preferences.5.xml:2526291#: apt_preferences.5.xml:260
6252msgid "100 &lt; P &lt;=500"6292msgid "100 &lt; P &lt;=500"
6253msgstr ""6293msgstr ""
62546294
6255#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6295#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
6256#: apt_preferences.5.xml:2536296#: apt_preferences.5.xml:261
6257msgid ""6297msgid ""
6258"causes a version to be installed unless there is a version available "6298"causes a version to be installed unless there is a version available "
6259"belonging to some other distribution or the installed version is more recent"6299"belonging to some other distribution or the installed version is more recent"
6260msgstr ""6300msgstr ""
62616301
6262#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6302#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
6263#: apt_preferences.5.xml:2586303#: apt_preferences.5.xml:266
6264msgid "0 &lt; P &lt;=100"6304msgid "0 &lt; P &lt;=100"
6265msgstr ""6305msgstr ""
62666306
6267#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6307#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
6268#: apt_preferences.5.xml:2596308#: apt_preferences.5.xml:267
6269msgid ""6309msgid ""
6270"causes a version to be installed only if there is no installed version of "6310"causes a version to be installed only if there is no installed version of "
6271"the package"6311"the package"
6272msgstr ""6312msgstr ""
62736313
6274#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6314#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
6275#: apt_preferences.5.xml:2636315#: apt_preferences.5.xml:271
6276msgid "P &lt; 0"6316msgid "P &lt; 0"
6277msgstr ""6317msgstr ""
62786318
6279#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6319#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
6280#: apt_preferences.5.xml:2646320#: apt_preferences.5.xml:272
6281msgid "prevents the version from being installed"6321msgid "prevents the version from being installed"
6282msgstr ""6322msgstr ""
62836323
6284#. type: Content of: <refentry><refsect1><refsect2><para>6324#. type: Content of: <refentry><refsect1><refsect2><para>
6285#: apt_preferences.5.xml:2306325#: apt_preferences.5.xml:238
6286msgid ""6326msgid ""
6287"Priorities (P) assigned in the APT preferences file must be positive or "6327"Priorities (P) assigned in the APT preferences file must be positive or "
6288"negative integers. They are interpreted as follows (roughly speaking): "6328"negative integers. They are interpreted as follows (roughly speaking): "
@@ -6290,7 +6330,7 @@
6290msgstr ""6330msgstr ""
62916331
6292#. type: Content of: <refentry><refsect1><refsect2><para>6332#. type: Content of: <refentry><refsect1><refsect2><para>
6293#: apt_preferences.5.xml:2696333#: apt_preferences.5.xml:277
6294msgid ""6334msgid ""
6295"If any specific-form records match an available package version then the "6335"If any specific-form records match an available package version then the "
6296"first such record determines the priority of the package version. Failing "6336"first such record determines the priority of the package version. Failing "
@@ -6299,14 +6339,14 @@
6299msgstr ""6339msgstr ""
63006340
6301#. type: Content of: <refentry><refsect1><refsect2><para>6341#. type: Content of: <refentry><refsect1><refsect2><para>
6302#: apt_preferences.5.xml:2756342#: apt_preferences.5.xml:283
6303msgid ""6343msgid ""
6304"For example, suppose the APT preferences file contains the three records "6344"For example, suppose the APT preferences file contains the three records "
6305"presented earlier:"6345"presented earlier:"
6306msgstr ""6346msgstr ""
63076347
6308#. type: Content of: <refentry><refsect1><refsect2><programlisting>6348#. type: Content of: <refentry><refsect1><refsect2><programlisting>
6309#: apt_preferences.5.xml:2796349#: apt_preferences.5.xml:287
6310#, no-wrap6350#, no-wrap
6311msgid ""6351msgid ""
6312"Package: perl\n"6352"Package: perl\n"
@@ -6323,12 +6363,12 @@
6323msgstr ""6363msgstr ""
63246364
6325#. type: Content of: <refentry><refsect1><refsect2><para>6365#. type: Content of: <refentry><refsect1><refsect2><para>
6326#: apt_preferences.5.xml:2926366#: apt_preferences.5.xml:300
6327msgid "Then:"6367msgid "Then:"
6328msgstr ""6368msgstr ""
63296369
6330#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6370#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6331#: apt_preferences.5.xml:2946371#: apt_preferences.5.xml:302
6332msgid ""6372msgid ""
6333"The most recent available version of the <literal>perl</literal> package "6373"The most recent available version of the <literal>perl</literal> package "
6334"will be installed, so long as that version's version number begins with "6374"will be installed, so long as that version's version number begins with "
@@ -6338,7 +6378,7 @@
6338msgstr ""6378msgstr ""
63396379
6340#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6380#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6341#: apt_preferences.5.xml:2996381#: apt_preferences.5.xml:307
6342msgid ""6382msgid ""
6343"A version of any package other than <literal>perl</literal> that is "6383"A version of any package other than <literal>perl</literal> that is "
6344"available from the local system has priority over other versions, even "6384"available from the local system has priority over other versions, even "
@@ -6346,7 +6386,7 @@
6346msgstr ""6386msgstr ""
63476387
6348#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>6388#. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
6349#: apt_preferences.5.xml:3036389#: apt_preferences.5.xml:311
6350msgid ""6390msgid ""
6351"A version of a package whose origin is not the local system but some other "6391"A version of a package whose origin is not the local system but some other "
6352"site listed in &sources-list; and which belongs to an "6392"site listed in &sources-list; and which belongs to an "
@@ -6355,12 +6395,12 @@
6355msgstr ""6395msgstr ""
63566396
6357#. type: Content of: <refentry><refsect1><refsect2><title>6397#. type: Content of: <refentry><refsect1><refsect2><title>
6358#: apt_preferences.5.xml:3136398#: apt_preferences.5.xml:321
6359msgid "Determination of Package Version and Distribution Properties"6399msgid "Determination of Package Version and Distribution Properties"
6360msgstr ""6400msgstr ""
63616401
6362#. type: Content of: <refentry><refsect1><refsect2><para>6402#. type: Content of: <refentry><refsect1><refsect2><para>
6363#: apt_preferences.5.xml:3156403#: apt_preferences.5.xml:323
6364msgid ""6404msgid ""
6365"The locations listed in the &sources-list; file should provide "6405"The locations listed in the &sources-list; file should provide "
6366"<filename>Packages</filename> and <filename>Release</filename> files to "6406"<filename>Packages</filename> and <filename>Release</filename> files to "
@@ -6368,27 +6408,27 @@
6368msgstr ""6408msgstr ""
63696409
6370#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>6410#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
6371#: apt_preferences.5.xml:3276411#: apt_preferences.5.xml:335
6372msgid "the <literal>Package:</literal> line"6412msgid "the <literal>Package:</literal> line"
6373msgstr ""6413msgstr ""
63746414
6375#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>6415#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
6376#: apt_preferences.5.xml:328
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: