diff options
-rw-r--r-- | apt-pkg/acquire-item.cc | 14 | ||||
-rw-r--r-- | apt-pkg/acquire-item.h | 9 | ||||
-rw-r--r-- | apt-pkg/depcache.cc | 4 | ||||
-rw-r--r-- | apt-pkg/policy.cc | 2 | ||||
-rw-r--r-- | cmdline/apt-get.cc | 4 | ||||
-rw-r--r-- | debian/changelog | 14 | ||||
-rw-r--r-- | methods/connect.cc | 3 | ||||
-rw-r--r-- | test/libapt/getlanguages_test.cc | 7 |
8 files changed, 50 insertions, 7 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index 916fca71e..1f253bb81 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -1561,8 +1561,9 @@ void pkgAcqArchive::Finished() /* The file is added to the queue */ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash, unsigned long Size,string Dsc,string ShortDesc, - const string &DestDir, const string &DestFilename) : - Item(Owner), ExpectedHash(Hash) + const string &DestDir, const string &DestFilename, + bool IsIndexFile) : + Item(Owner), ExpectedHash(Hash), IsIndexFile(IsIndexFile) { Retries = _config->FindI("Acquire::Retries",0); @@ -1677,3 +1678,12 @@ void pkgAcqFile::Failed(string Message,pkgAcquire::MethodConfig *Cnf) Item::Failed(Message,Cnf); } /*}}}*/ +// AcqIndex::Custom600Headers - Insert custom request headers /*{{{*/ +// --------------------------------------------------------------------- +/* The only header we use is the last-modified header. */ +string pkgAcqFile::Custom600Headers() +{ + if (IsIndexFile) + return "\nIndex-File: true"; +} + /*}}}*/ diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h index d862d0fdd..bafa8263a 100644 --- a/apt-pkg/acquire-item.h +++ b/apt-pkg/acquire-item.h @@ -861,6 +861,9 @@ class pkgAcqFile : public pkgAcquire::Item */ unsigned int Retries; + /** \brief Should this file be considered a index file */ + bool IsIndexFile; + public: // Specialized action members @@ -869,6 +872,7 @@ class pkgAcqFile : public pkgAcquire::Item pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return Desc.URI;}; virtual string HashSum() {return ExpectedHash.toStr(); }; + virtual string Custom600Headers(); /** \brief Create a new pkgAcqFile object. * @@ -892,6 +896,8 @@ class pkgAcqFile : public pkgAcquire::Item * * \param DestFilename The filename+path the file is downloaded to. * + * \param IsIndexFile The file is considered a IndexFile and cache-control + * headers like "cache-control: max-age=0" are send * * If DestFilename is empty, download to DestDir/<basename> if * DestDir is non-empty, $CWD/<basename> otherwise. If @@ -901,7 +907,8 @@ class pkgAcqFile : public pkgAcquire::Item pkgAcqFile(pkgAcquire *Owner, string URI, string Hash, unsigned long Size, string Desc, string ShortDesc, - const string &DestDir="", const string &DestFilename=""); + const string &DestDir="", const string &DestFilename="", + bool IsIndexFile=false); }; /*}}}*/ /** @} */ diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index a63deee3a..423161b13 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -192,7 +192,7 @@ bool pkgDepCache::readStateFile(OpProgress *Prog) /*{{{*/ { PkgState[pkg->ID].Flags |= Flag::Auto; if (unlikely(debug_autoremove)) - std::cout << "Auto-Installed : " << pkg.FullName() << std::endl; + std::clog << "Auto-Installed : " << pkg.FullName() << std::endl; if (pkgarch == "any") { pkgCache::GrpIterator G = pkg.Group(); @@ -1819,7 +1819,7 @@ bool pkgDepCache::Sweep() /*{{{*/ { state.Garbage=true; if(debug_autoremove) - std::cout << "Garbage: " << p.FullName() << std::endl; + std::clog << "Garbage: " << p.FullName() << std::endl; } } diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index 9b24c2ef1..479cf3935 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -106,7 +106,7 @@ bool pkgPolicy::InitDefaults() if (_config->FindB("Debug::pkgPolicy",false) == true) for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); F++) - cout << "Prio of " << F.FileName() << ' ' << PFPriority[F->ID] << endl; + std::clog << "Prio of " << F.FileName() << ' ' << PFPriority[F->ID] << std::endl; return true; } diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index b43164c2f..26c731978 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1315,6 +1315,10 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, break; fuzzy = true; Ver = Pkg.VersionList(); + // exit right away from the Pkg.VersionList() loop if we + // don't have any versions + if (Ver.end() == true) + break; } // We match against a concrete version (or a part of this version) if (VerTag.empty() == false && diff --git a/debian/changelog b/debian/changelog index dd003938a..97e15326c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -apt (0.7.26~exp4) experimental; urgency=low +apt (0.7.26~exp4) UNRELEASEDexperimental; urgency=low [ David Kalnischkies ] * apt-pkg/depcache.cc: @@ -47,6 +47,18 @@ apt (0.7.26~exp4) experimental; urgency=low - modernize if-statements not to use 'x' (Closes: #577117) - replace backticks with POSIX $() (Closes: #577116) + [ Michael Vogt ] + * [ Abi break ] apt-pkg/acquire-item.{cc,h}: + - add "IsIndexFile" to constructor of pkgAcqFile so that it sends + the right cache control headers + * cmdline/apt-get.cc: + - fix crash when pkg.VersionList() is empty + * apt-pkg/depcache.cc: + - fix incorrect std::cout usage for debug output + * test/libapt/getlanguages_test.cc: + - Add test for Esperanto that has nocounty associated with them + (LP: #560956) + -- David Kalnischkies <kalnischkies@gmail.com> Sat, 03 Apr 2010 14:58:39 +0200 apt (0.7.26~exp3) experimental; urgency=low diff --git a/methods/connect.cc b/methods/connect.cc index adb16a199..2f6b4833e 100644 --- a/methods/connect.cc +++ b/methods/connect.cc @@ -116,6 +116,9 @@ static bool DoConnect(struct addrinfo *Addr,string Host, errno = Err; if(errno == ECONNREFUSED) Owner->SetFailExtraMsg("\nFailReason: ConnectionRefused"); + else if (errno == ETIMEDOUT) + Owner->SetFailExtraMsg("\nFailReason: ConnectionTimedOut"); + bad_addr.insert(bad_addr.begin(), string(Name)); return _error->Errno("connect",_("Could not connect to %s:%s (%s)."),Host.c_str(), Service,Name); } diff --git a/test/libapt/getlanguages_test.cc b/test/libapt/getlanguages_test.cc index 0db190b50..9a8910b58 100644 --- a/test/libapt/getlanguages_test.cc +++ b/test/libapt/getlanguages_test.cc @@ -43,6 +43,13 @@ int main(int argc,char *argv[]) equals(vec[0], "en_GB"); equals(vec[1], "en"); + // esperanto + env[0] = "eo.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); + equals(vec.size(), 2); + equals(vec[0], "eo"); + equals(vec[1], "en"); + env[0] = "tr_DE@euro"; vec = APT::Configuration::getLanguages(false, false, env); equals(vec.size(), 2); |