From: Michael Vogt Date: Wed, 17 Feb 2010 21:40:05 +0000 (+0100) Subject: merged from the mvo branch X-Git-Tag: 0.7.25.3ubuntu1~1 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/9fcbe2047293f8ef703439264ed3d35701f51638?hp=-c merged from the mvo branch --- 9fcbe2047293f8ef703439264ed3d35701f51638 diff --combined apt-pkg/acquire-item.cc index 171dafa24,d2aca597e..a959253bc --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@@ -64,7 -64,6 +64,7 @@@ void pkgAcquire::Item::Failed(string Me { Status = StatIdle; ErrorText = LookupTag(Message,"Message"); + UsedMirror = LookupTag(Message,"UsedMirror"); if (QueueCounter <= 1) { /* This indicates that the file is not available right now but might @@@ -77,17 -76,10 +77,17 @@@ Dequeue(); return; } - + Status = StatError; Dequeue(); } + + // report mirror failure back to LP if we actually use a mirror + string FailReason = LookupTag(Message, "FailReason"); + if(FailReason.size() != 0) + ReportMirrorFailure(FailReason); + else + ReportMirrorFailure(ErrorText); } /*}}}*/ // Acquire::Item::Start - Item has begun to download /*{{{*/ @@@ -109,7 -101,7 +109,7 @@@ void pkgAcquire::Item::Done(string Mess { // We just downloaded something.. string FileName = LookupTag(Message,"Filename"); - // we only inform the Log class if it was actually not a local thing + UsedMirror = LookupTag(Message,"UsedMirror"); if (Complete == false && !Local && FileName == DestFile) { if (Owner->Log != 0) @@@ -118,6 -110,7 +118,6 @@@ if (FileSize == 0) FileSize= Size; - Status = StatDone; ErrorText = string(); Owner->Dequeue(this); @@@ -139,49 -132,6 +139,49 @@@ void pkgAcquire::Item::Rename(string Fr } } /*}}}*/ + +void pkgAcquire::Item::ReportMirrorFailure(string FailCode) +{ + // we only act if a mirror was used at all + if(UsedMirror.empty()) + return; +#if 0 + std::cerr << "\nReportMirrorFailure: " + << UsedMirror + << " Uri: " << DescURI() + << " FailCode: " + << FailCode << std::endl; +#endif + const char *Args[40]; + unsigned int i = 0; + string report = _config->Find("Methods::Mirror::ProblemReporting", + "/usr/lib/apt/apt-report-mirror-failure"); + if(!FileExists(report)) + return; + Args[i++] = report.c_str(); + Args[i++] = UsedMirror.c_str(); + Args[i++] = DescURI().c_str(); + Args[i++] = FailCode.c_str(); + Args[i++] = NULL; + pid_t pid = ExecFork(); + if(pid < 0) + { + _error->Error("ReportMirrorFailure Fork failed"); + return; + } + else if(pid == 0) + { + execvp(Args[0], (char**)Args); + std::cerr << "Could not exec " << Args[0] << std::endl; + _exit(100); + } + if(!ExecWait(pid, "report-mirror-failure")) + { + _error->Warning("Couldn't report problem to '%s'", + _config->Find("Methods::Mirror::ProblemReporting").c_str()); + } +} + // AcqDiffIndex::AcqDiffIndex - Constructor /*{{{*/ // --------------------------------------------------------------------- /* Get the DiffIndex file first and see if there are patches availabe @@@ -269,19 -219,19 +269,19 @@@ bool pkgAcqDiffIndex::ParseDiffIndex(st if(TF.Step(Tags) == true) { - string local_sha1; bool found = false; DiffInfo d; string size; - string tmp = Tags.FindS("SHA1-Current"); + string const tmp = Tags.FindS("SHA1-Current"); std::stringstream ss(tmp); - ss >> ServerSha1; + ss >> ServerSha1 >> size; + unsigned long const ServerSize = atol(size.c_str()); FileFd fd(CurrentPackagesFile, FileFd::ReadOnly); SHA1Summation SHA1; SHA1.AddFD(fd.Fd(), fd.Size()); - local_sha1 = string(SHA1.Result()); + string const local_sha1 = SHA1.Result(); if(local_sha1 == ServerSha1) { @@@ -298,20 -248,56 +298,56 @@@ std::clog << "SHA1-Current: " << ServerSha1 << std::endl; // check the historie and see what patches we need - string history = Tags.FindS("SHA1-History"); + string const history = Tags.FindS("SHA1-History"); std::stringstream hist(history); - while(hist >> d.sha1 >> size >> d.file) + while(hist >> d.sha1 >> size >> d.file) { - d.size = atoi(size.c_str()); // read until the first match is found + // from that point on, we probably need all diffs if(d.sha1 == local_sha1) found=true; - // from that point on, we probably need all diffs - if(found) + else if (found == false) + continue; + + if(Debug) + std::clog << "Need to get diff: " << d.file << std::endl; + available_patches.push_back(d); + } + + if (available_patches.empty() == false) + { + // patching with too many files is rather slow compared to a fast download + unsigned long const fileLimit = _config->FindI("Acquire::PDiffs::FileLimit", 0); + if (fileLimit != 0 && fileLimit < available_patches.size()) + { + if (Debug) + std::clog << "Need " << available_patches.size() << " diffs (Limit is " << fileLimit + << ") so fallback to complete download" << std::endl; + return false; + } + + // see if the patches are too big + found = false; // it was true and it will be true again at the end + d = *available_patches.begin(); + string const firstPatch = d.file; + unsigned long patchesSize = 0; + std::stringstream patches(Tags.FindS("SHA1-Patches")); + while(patches >> d.sha1 >> size >> d.file) + { + if (firstPatch == d.file) + found = true; + else if (found == false) + continue; + + patchesSize += atol(size.c_str()); + } + unsigned long const sizeLimit = ServerSize * _config->FindI("Acquire::PDiffs::SizeLimit", 100); + if (sizeLimit > 0 && (sizeLimit/100) < patchesSize) { - if(Debug) - std::clog << "Need to get diff: " << d.file << std::endl; - available_patches.push_back(d); + if (Debug) + std::clog << "Need " << patchesSize << " bytes (Limit is " << sizeLimit/100 + << ") so fallback to complete download" << std::endl; + return false; } } } @@@ -320,7 -306,7 +356,7 @@@ if(found) { // queue the diffs - string::size_type last_space = Description.rfind(" "); + string::size_type const last_space = Description.rfind(" "); if(last_space != string::npos) Description.erase(last_space, Description.size()-last_space); new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc, @@@ -630,6 -616,7 +666,6 @@@ string pkgAcqIndex::Custom600Headers( struct stat Buf; if (stat(Final.c_str(),&Buf) != 0) return "\nIndex-File: true"; - return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime); } /*}}}*/ @@@ -697,7 -684,6 +733,7 @@@ void pkgAcqIndex::Done(string Message,u Status = StatAuthError; ErrorText = _("Hash Sum mismatch"); Rename(DestFile,DestFile + ".FAILED"); + ReportMirrorFailure("HashChecksumFailure"); return; } // Done, move it into position @@@ -888,9 -874,8 +924,9 @@@ void pkgAcqMetaSig::Done(string Message Rename(LastGoodSig, DestFile); // queue a pkgAcqMetaIndex to be verified against the sig we just retrieved - new pkgAcqMetaIndex(Owner, MetaIndexURI, MetaIndexURIDesc, MetaIndexShortDesc, - DestFile, IndexTargets, MetaIndexParser); + new pkgAcqMetaIndex(Owner, MetaIndexURI, MetaIndexURIDesc, + MetaIndexShortDesc, DestFile, IndexTargets, + MetaIndexParser); } /*}}}*/ @@@ -903,7 -888,7 +939,7 @@@ void pkgAcqMetaSig::Failed(string Messa { Item::Failed(Message,Cnf); // move the sigfile back on transient network failures - if(FileExists(DestFile)) + if(FileExists(LastGoodSig)) Rename(LastGoodSig,Final); // set the status back to , Item::Failed likes to reset it @@@ -978,15 -963,6 +1014,15 @@@ void pkgAcqMetaIndex::Done(string Messa if (AuthPass == true) { AuthDone(Message); + + // all cool, move Release file into place + Complete = true; + + string FinalFile = _config->FindDir("Dir::State::lists"); + FinalFile += URItoFileName(RealURI); + Rename(DestFile,FinalFile); + chmod(FinalFile.c_str(),0644); + DestFile = FinalFile; } else { @@@ -1038,15 -1014,22 +1074,15 @@@ void pkgAcqMetaIndex::RetrievalDone(str return; } - // see if the download was a IMSHit + // make sure to verify against the right file on I-M-S hit IMSHit = StringToBool(LookupTag(Message,"IMS-Hit"),false); + if(IMSHit) + { + string FinalFile = _config->FindDir("Dir::State::lists"); + FinalFile += URItoFileName(RealURI); + DestFile = FinalFile; + } Complete = true; - - string FinalFile = _config->FindDir("Dir::State::lists"); - FinalFile += URItoFileName(RealURI); - - // If we get a IMS hit we can remove the empty file in partial - // othersie we move the file in place - if (IMSHit) - unlink(DestFile.c_str()); - else - Rename(DestFile,FinalFile); - - chmod(FinalFile.c_str(),0644); - DestFile = FinalFile; } /*}}}*/ void pkgAcqMetaIndex::AuthDone(string Message) /*{{{*/ @@@ -1076,6 -1059,7 +1112,6 @@@ QueueIndexes(true); // Done, move signature file into position - string VerifiedSigFile = _config->FindDir("Dir::State::lists") + URItoFileName(RealURI) + ".gpg"; Rename(SigFile,VerifiedSigFile); @@@ -1116,7 -1100,7 +1152,7 @@@ void pkgAcqMetaIndex::QueueIndexes(boo // Queue Packages file (either diff or full packages files, depending // on the users option) - if(_config->FindB("Acquire::PDiffs",true) == true) + if(_config->FindB("Acquire::PDiffs",false) == true) new pkgAcqDiffIndex(Owner, (*Target)->URI, (*Target)->Description, (*Target)->ShortDesc, ExpectedIndexHash); else @@@ -1219,30 -1203,30 +1255,30 @@@ void pkgAcqMetaIndex::Failed(string Mes { if (AuthPass == true) { - // if we fail the authentication but got the file via a IMS-Hit - // this means that the file wasn't downloaded and that it might be - // just stale (server problem, proxy etc). we delete what we have - // queue it again without i-m-s - // alternatively we could just unlink the file and let the user try again - if (IMSHit) + // gpgv method failed, if we have a good signature + string LastGoodSigFile = _config->FindDir("Dir::State::lists") + + "partial/" + URItoFileName(RealURI) + ".gpg.reverify"; + if(FileExists(LastGoodSigFile)) { - Complete = false; - Local = false; - AuthPass = false; - unlink(DestFile.c_str()); - - DestFile = _config->FindDir("Dir::State::lists") + "partial/"; - DestFile += URItoFileName(RealURI); - Desc.URI = RealURI; - QueueURI(Desc); + string VerifiedSigFile = _config->FindDir("Dir::State::lists") + + URItoFileName(RealURI) + ".gpg"; + Rename(LastGoodSigFile,VerifiedSigFile); + Status = StatTransientNetworkError; + _error->Warning(_("A error occurred during the signature " + "verification. The repository is not updated " + "and the previous index files will be used." + "GPG error: %s: %s\n"), + Desc.Description.c_str(), + LookupTag(Message,"Message").c_str()); + RunScripts("APT::Update::Auth-Failure"); return; + } else { + _error->Warning(_("GPG error: %s: %s"), + Desc.Description.c_str(), + LookupTag(Message,"Message").c_str()); } - // gpgv method failed - _error->Warning("GPG error: %s: %s", - Desc.Description.c_str(), - LookupTag(Message,"Message").c_str()); - + ReportMirrorFailure("GPGFailure"); } // No Release file was present, or verification failed, so fall diff --combined apt-pkg/deb/dpkgpm.cc index e928776af,9d144a227..f220e2bce --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@@ -12,7 -12,6 +12,7 @@@ #include #include #include +#include #include #include #include @@@ -25,7 -24,6 +25,7 @@@ #include #include #include +#include #include #include #include @@@ -107,7 -105,7 +107,7 @@@ ionice(int PID /* */ pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) : pkgPackageManager(Cache), dpkgbuf_pos(0), - term_out(NULL), PackagesDone(0), PackagesTotal(0) + term_out(NULL), PackagesDone(0), PackagesTotal(0), pkgFailures(0) { } /*}}}*/ @@@ -343,6 -341,7 +343,6 @@@ bool pkgDPkgPM::RunScriptsWithPkgs(cons return true; } - /*}}}*/ // DPkgPM::DoStdin - Read stdin and pass to slave pty /*{{{*/ // --------------------------------------------------------------------- @@@ -412,7 -411,7 +412,7 @@@ void pkgDPkgPM::ProcessDpkgStatusLine(i 'processing: trigproc: trigger' */ - char* list[5]; + char* list[6]; // dpkg sends multiline error messages sometimes (see // #374195 for a example. we should support this by // either patching dpkg to not send multiline over the @@@ -460,14 -459,6 +460,14 @@@ if(strncmp(action,"error",strlen("error")) == 0) { + // urgs, sometime has ":" in its error string so that we + // end up with the error message split between list[3] + // and list[4], e.g. the message: + // "failed in buffer_write(fd) (10, ret=-1): backend dpkg-deb ..." + // concat them again + if( list[4] != NULL ) + list[3][strlen(list[3])] = ':'; + status << "pmerror:" << list[1] << ":" << (PackagesDone/float(PackagesTotal)*100.0) << ":" << list[3] @@@ -476,8 -467,6 +476,8 @@@ write(OutStatusFd, status.str().c_str(), status.str().size()); if (Debug == true) std::clog << "send: '" << status.str() << "'" << endl; + pkgFailures++; + WriteApportReport(list[1], list[3]); return; } else if(strncmp(action,"conffile",strlen("conffile")) == 0) @@@ -562,7 -551,7 +562,7 @@@ void pkgDPkgPM::DoDpkgStatusFd(int stat } /*}}}*/ // DPkgPM::WriteHistoryTag /*{{{*/ -void pkgDPkgPM::WriteHistoryTag(string tag, string value) +void pkgDPkgPM::WriteHistoryTag(FILE *history_out, string tag, string value) { if (value.size() > 0) { @@@ -591,10 -580,11 +591,11 @@@ bool pkgDPkgPM::OpenLog( if (!logfile_name.empty()) { term_out = fopen(logfile_name.c_str(),"a"); + if (term_out == NULL) + return _error->WarningE(_("Could not open file '%s'"), logfile_name.c_str()); + chmod(logfile_name.c_str(), 0600); - fprintf(term_out, "\n\nLog started: "); - fprintf(term_out, "%s", timestr); - fprintf(term_out, "\n"); + fprintf(term_out, "\nLog started: %s\n", timestr); } // write @@@ -602,7 -592,7 +603,7 @@@ _config->Find("Dir::Log::History")); if (!history_name.empty()) { - history_out = fopen(history_name.c_str(),"a"); + FILE *history_out = fopen(history_name.c_str(),"a"); chmod(history_name.c_str(), 0644); fprintf(history_out, "\nStart-Date: %s\n", timestr); string remove, purge, install, upgrade, downgrade; @@@ -622,12 -612,12 +623,12 @@@ remove += I.Name() + string(" (") + Cache[I].CurVersion + string("), "); } } - WriteHistoryTag("Install", install); - WriteHistoryTag("Upgrade", upgrade); - WriteHistoryTag("Downgrade",downgrade); - WriteHistoryTag("Remove",remove); - WriteHistoryTag("Purge",purge); - fflush(history_out); + WriteHistoryTag(history_out, "Install", install); + WriteHistoryTag(history_out, "Upgrade", upgrade); + WriteHistoryTag(history_out, "Downgrade",downgrade); + WriteHistoryTag(history_out, "Remove",remove); + WriteHistoryTag(history_out, "Purge",purge); + fclose(history_out); } return true; @@@ -650,11 -640,10 +651,11 @@@ bool pkgDPkgPM::CloseLog( } term_out = NULL; - if(history_out) + string history_name = flCombine(_config->FindDir("Dir::Log"), + _config->Find("Dir::Log::History")); + if (!history_name.empty()) { - if (dpkg_error.size() > 0) - fprintf(history_out, "Error: %s\n", dpkg_error.c_str()); + FILE *history_out = fopen(history_name.c_str(),"a"); fprintf(history_out, "End-Date: %s\n", timestr); fclose(history_out); } @@@ -1071,6 -1060,7 +1072,6 @@@ bool pkgDPkgPM::Go(int OutStatusFd signal(SIGHUP,old_SIGHUP); return _error->Errno("waitpid","Couldn't wait for subprocess"); } - // wait for input or output here FD_ZERO(&rfds); if (!stdin_is_dev_null) @@@ -1126,7 -1116,6 +1127,7 @@@ if(stopOnError) RunScripts("DPkg::Post-Invoke"); + string dpkg_error; if (WIFSIGNALED(Status) != 0 && WTERMSIG(Status) == SIGSEGV) strprintf(dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]); else if (WIFEXITED(Status) != 0) @@@ -1135,17 -1124,7 +1136,17 @@@ strprintf(dpkg_error, "Sub-process %s exited unexpectedly",Args[0]); if(dpkg_error.size() > 0) + { _error->Error(dpkg_error.c_str()); + string history_name = flCombine(_config->FindDir("Dir::Log"), + _config->Find("Dir::Log::History")); + if (!history_name.empty()) + { + FILE *history_out = fopen(history_name.c_str(),"a"); + fprintf(history_out, "Error: %s\n", dpkg_error.c_str()); + fclose(history_out); + } + } if(stopOnError) { @@@ -1171,186 -1150,3 +1172,186 @@@ void pkgDPkgPM::Reset( List.erase(List.begin(),List.end()); } /*}}}*/ +// pkgDpkgPM::WriteApportReport - write out error report pkg failure /*{{{*/ +// --------------------------------------------------------------------- +/* */ +void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) +{ + string pkgname, reportfile, srcpkgname, pkgver, arch; + string::size_type pos; + FILE *report; + + if (_config->FindB("Dpkg::ApportFailureReport",true) == false) + { + std::clog << "configured to not write apport reports" << std::endl; + return; + } + + // only report the first errors + if(pkgFailures > _config->FindI("APT::Apport::MaxReports", 3)) + { + std::clog << _("No apport report written because MaxReports is reached already") << std::endl; + return; + } + + // check if its not a follow up error + const char *needle = dgettext("dpkg", "dependency problems - leaving unconfigured"); + if(strstr(errormsg, needle) != NULL) { + std::clog << _("No apport report written because the error message indicates its a followup error from a previous failure.") << std::endl; + return; + } + + // do not report disk-full failures + if(strstr(errormsg, strerror(ENOSPC)) != NULL) { + std::clog << _("No apport report written because the error message indicates a disk full error") << std::endl; + return; + } + + // do not report out-of-memory failures + if(strstr(errormsg, strerror(ENOMEM)) != NULL) { + std::clog << _("No apport report written because the error message indicates a out of memory error") << std::endl; + return; + } + + // do not report dpkg I/O errors + // XXX - this message is localized, but this only matches the English version. This is better than nothing. + if(strstr(errormsg, "short read in buffer_copy (")) { + std::clog << _("No apport report written because the error message indicates a dpkg I/O error") << std::endl; + return; + } + + // get the pkgname and reportfile + pkgname = flNotDir(pkgpath); + pos = pkgname.find('_'); + if(pos != string::npos) + pkgname = pkgname.substr(0, pos); + + // find the package versin and source package name + pkgCache::PkgIterator Pkg = Cache.FindPkg(pkgname); + if (Pkg.end() == true) + return; + pkgCache::VerIterator Ver = Cache.GetCandidateVer(Pkg); + if (Ver.end() == true) + return; + pkgver = Ver.VerStr() == NULL ? "unknown" : Ver.VerStr(); + pkgRecords Recs(Cache); + pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList()); + srcpkgname = Parse.SourcePkg(); + if(srcpkgname.empty()) + srcpkgname = pkgname; + + // if the file exists already, we check: + // - if it was reported already (touched by apport). + // If not, we do nothing, otherwise + // we overwrite it. This is the same behaviour as apport + // - if we have a report with the same pkgversion already + // then we skip it + reportfile = flCombine("/var/crash",pkgname+".0.crash"); + if(FileExists(reportfile)) + { + struct stat buf; + char strbuf[255]; + + // check atime/mtime + stat(reportfile.c_str(), &buf); + if(buf.st_mtime > buf.st_atime) + return; + + // check if the existing report is the same version + report = fopen(reportfile.c_str(),"r"); + while(fgets(strbuf, sizeof(strbuf), report) != NULL) + { + if(strstr(strbuf,"Package:") == strbuf) + { + char pkgname[255], version[255]; + if(sscanf(strbuf, "Package: %s %s", pkgname, version) == 2) + if(strcmp(pkgver.c_str(), version) == 0) + { + fclose(report); + return; + } + } + } + fclose(report); + } + + // now write the report + arch = _config->Find("APT::Architecture"); + report = fopen(reportfile.c_str(),"w"); + if(report == NULL) + return; + if(_config->FindB("DPkgPM::InitialReportOnly",false) == true) + chmod(reportfile.c_str(), 0); + else + chmod(reportfile.c_str(), 0600); + fprintf(report, "ProblemType: Package\n"); + fprintf(report, "Architecture: %s\n", arch.c_str()); + time_t now = time(NULL); + fprintf(report, "Date: %s" , ctime(&now)); + fprintf(report, "Package: %s %s\n", pkgname.c_str(), pkgver.c_str()); + fprintf(report, "SourcePackage: %s\n", srcpkgname.c_str()); + fprintf(report, "ErrorMessage:\n %s\n", errormsg); + + // ensure that the log is flushed + if(term_out) + fflush(term_out); + + // attach terminal log it if we have it + string logfile_name = _config->FindFile("Dir::Log::Terminal"); + if (!logfile_name.empty()) + { + FILE *log = NULL; + char buf[1024]; + + fprintf(report, "DpkgTerminalLog:\n"); + log = fopen(logfile_name.c_str(),"r"); + if(log != NULL) + { + while( fgets(buf, sizeof(buf), log) != NULL) + fprintf(report, " %s", buf); + fclose(log); + } + } + + // log the ordering + const char *ops_str[] = {"Install", "Configure","Remove","Purge"}; + fprintf(report, "AptOrdering:\n"); + for (vector::iterator I = List.begin(); I != List.end(); I++) + fprintf(report, " %s: %s\n", (*I).Pkg.Name(), ops_str[(*I).Op]); + + // attach dmesg log (to learn about segfaults) + if (FileExists("/bin/dmesg")) + { + FILE *log = NULL; + char buf[1024]; + + fprintf(report, "Dmesg:\n"); + log = popen("/bin/dmesg","r"); + if(log != NULL) + { + while( fgets(buf, sizeof(buf), log) != NULL) + fprintf(report, " %s", buf); + fclose(log); + } + } + + // attach df -l log (to learn about filesystem status) + if (FileExists("/bin/df")) + { + FILE *log = NULL; + char buf[1024]; + + fprintf(report, "Df:\n"); + log = popen("/bin/df -l","r"); + if(log != NULL) + { + while( fgets(buf, sizeof(buf), log) != NULL) + fprintf(report, " %s", buf); + fclose(log); + } + } + + fclose(report); + +} + /*}}}*/ diff --combined cmdline/apt-cache.cc index f3bbb9cf3,286f306cd..4e68246fb --- a/cmdline/apt-cache.cc +++ b/cmdline/apt-cache.cc @@@ -1273,9 -1273,7 +1273,9 @@@ bool DisplayRecord(pkgCache::VerIterato return true; } /*}}}*/ - +// Search - Perform a search /*{{{*/ +// --------------------------------------------------------------------- +/* This searches the package names and package descriptions for a pattern */ struct ExDescFile { pkgCache::DescFile *Df; @@@ -1622,7 -1620,7 +1622,7 @@@ bool Policy(CommandLine &CmdL if (SrcList->FindIndex(VF.File(),Indx) == false && _system->FindIndex(VF.File(),Indx) == false) return _error->Error(_("Cache is out of sync, can't x-ref a package file")); - printf(_(" %4i %s\n"),Plcy.GetPriority(VF.File()), + printf(" %4i %s\n",Plcy.GetPriority(VF.File()), Indx->Describe(true).c_str()); } } diff --combined cmdline/apt-get.cc index fc15bbaa2,34ae2fed9..a39b5c55a --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@@ -1776,7 -1776,8 +1776,8 @@@ bool DoInstall(CommandLine &CmdL if(!Remove && Cache[Pkg].Install() == false && (Cache[Pkg].Flags & pkgCache::Flag::Auto) && - _config->FindB("APT::Get::ReInstall",false) == false) + _config->FindB("APT::Get::ReInstall",false) == false && + _config->FindB("APT::Get::Download-Only",false) == false) { ioprintf(c1out,_("%s set to manually installed.\n"), Pkg.Name()); @@@ -2187,33 -2188,6 +2188,33 @@@ bool DoSource(CommandLine &CmdL if (Last == 0) return _error->Error(_("Unable to find a source package for %s"),Src.c_str()); + string srec = Last->AsStr(); + string::size_type pos = srec.find("\nVcs-"); + while (pos != string::npos) + { + pos += strlen("\nVcs-"); + string vcs = srec.substr(pos,srec.find(":",pos)-pos); + if(vcs == "Browser") + { + pos = srec.find("\nVcs-", pos); + continue; + } + pos += vcs.length()+2; + string::size_type epos = srec.find("\n", pos); + string uri = srec.substr(pos,epos-pos).c_str(); + ioprintf(c1out, _("NOTICE: '%s' packaging is maintained in " + "the '%s' version control system at:\n" + "%s\n"), + Src.c_str(), vcs.c_str(), uri.c_str()); + if(vcs == "Bzr") + ioprintf(c1out,_("Please use:\n" + "bzr get %s\n" + "to retrieve the latest (possibly unreleased) " + "updates to the package.\n"), + uri.c_str()); + break; + } + // Back track vector Lst; if (Last->Files(Lst) == false) @@@ -2871,6 -2845,7 +2872,6 @@@ int main(int argc,const char *argv[] {"remove",&DoInstall}, {"purge",&DoInstall}, {"autoremove",&DoInstall}, - {"purge",&DoInstall}, {"dist-upgrade",&DoDistUpgrade}, {"dselect-upgrade",&DoDSelectUpgrade}, {"build-dep",&DoBuildDep}, diff --combined cmdline/apt-key index b579e5a53,e45468fd4..73dfe6925 --- a/cmdline/apt-key +++ b/cmdline/apt-key @@@ -5,15 -5,16 +5,13 @@@ unset GREP_OPTION # We don't use a secret keyring, of course, but gpg panics and # implodes if there isn't one available - GPG_CMD="gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg" - GPG="$GPG_CMD --keyring /etc/apt/trusted.gpg" - + GPG="$GPG_CMD" -MASTER_KEYRING="" -ARCHIVE_KEYRING_URI="" -#MASTER_KEYRING=/usr/share/keyrings/debian-master-keyring.gpg -#ARCHIVE_KEYRING_URI=http://ftp.debian.org/debian/debian-archive-keyring.gpg - -ARCHIVE_KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg -REMOVED_KEYS=/usr/share/keyrings/debian-archive-removed-keys.gpg +MASTER_KEYRING=/usr/share/keyrings/ubuntu-master-keyring.gpg +ARCHIVE_KEYRING=/usr/share/keyrings/ubuntu-archive-keyring.gpg +REMOVED_KEYS=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg +ARCHIVE_KEYRING_URI=http://archive.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg add_keys_with_verify_against_master_keyring() { ADD_KEYRING=$1 @@@ -53,7 -54,14 +51,14 @@@ # (otherwise it does not make sense from a security POV) net_update() { if [ -z "$ARCHIVE_KEYRING_URI" ]; then - echo "ERROR: no location for the archive-keyring given" + echo "ERROR: no location for the archive-keyring given" + exit 1 + fi + # in theory we would need to depend on wget for this, but this feature + # isn't useable in debian anyway as we have no keyring uri nor a master key + if ! which wget >/dev/null 2>&1; then + echo "ERROR: an installed wget is required for a network-based update" + exit 1 fi if [ ! -d /var/lib/apt/keyrings ]; then mkdir -p /var/lib/apt/keyrings @@@ -77,14 -85,14 +82,14 @@@ update() { if [ ! -f $ARCHIVE_KEYRING ]; then echo >&2 "ERROR: Can't find the archive-keyring" - echo >&2 "Is the debian-archive-keyring package installed?" + echo >&2 "Is the ubuntu-keyring package installed?" exit 1 fi # add new keys from the package; # we do not use add_keys_with_verify_against_master_keyring here, - # because "update" is run on regular package updates. A + # because we "update" is run on regular package updates. A # attacker might as well replace the master-archive-keyring file # in the package and add his own keys. so this check wouldn't # add any security. we *need* this check on net-update though @@@ -105,7 -113,7 +110,7 @@@ usage() { - echo "Usage: apt-key [command] [arguments]" + echo "Usage: apt-key [--keyring file] [command] [arguments]" echo echo "Manage apt's list of trusted keys" echo @@@ -119,8 -127,40 +124,40 @@@ echo " apt-key finger - list fingerprints" echo " apt-key adv - pass advanced options to gpg (download key)" echo + echo "If no specific keyring file is given the command applies to all keyring files." } + # Determine on which keyring we want to work + if [ "$1" = "--keyring" ]; then + #echo "keyfile given" + shift + TRUSTEDFILE="$1" + if [ -r "$TRUSTEDFILE" ]; then + GPG="$GPG --keyring $TRUSTEDFILE --primary-keyring $TRUSTEDFILE" + else + echo >&2 "Error: The specified keyring »$TRUSTEDFILE« is missing or not readable" + exit 1 + fi + shift + # otherwise use the default + else + #echo "generate list" + TRUSTEDFILE="/etc/apt/trusted.gpg" + if [ -r "$TRUSTEDFILE" ]; then + GPG="$GPG --keyring $TRUSTEDFILE" + fi + GPG="$GPG --primary-keyring $TRUSTEDFILE" + TRUSTEDPARTS="/etc/apt/trusted.gpg.d" + if [ -d "$TRUSTEDPARTS" ]; then + #echo "parts active" + for trusted in $(run-parts --list $TRUSTEDPARTS --regex '^.*\.gpg$'); do + #echo "part -> $trusted" + GPG="$GPG --keyring $trusted" + done + fi + fi + #echo "COMMAND: $GPG" + command="$1" if [ -z "$command" ]; then usage diff --combined configure.in index 07a495bac,302d88d51..0069020ff --- a/configure.in +++ b/configure.in @@@ -18,7 -18,7 +18,7 @@@ AC_CONFIG_AUX_DIR(buildlib AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) dnl -- SET THIS TO THE RELEASE VERSION -- -AC_DEFINE_UNQUOTED(VERSION,"0.7.25") +AC_DEFINE_UNQUOTED(VERSION,"0.7.25ubuntu1") PACKAGE="apt" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_SUBST(PACKAGE) @@@ -96,10 -96,10 +96,10 @@@ AC_MSG_RESULT($archset AC_DEFINE_UNQUOTED(COMMON_ARCH,"$archset") dnl We use C99 types if at all possible - AC_CACHE_CHECK([for C99 integer types],c9x_ints,[ + AC_CACHE_CHECK([for C99 integer types],apt_cv_c9x_ints,[ AC_TRY_COMPILE([#include ], [uint8_t Foo1;uint16_t Foo2;uint32_t Foo3;], - c9x_ints=yes,c9x_ints=no)]) + apt_cv_c9x_ints=yes,apt_cv_c9x_ints=no)]) dnl Single Unix Spec statvfs AC_CHECK_FUNC(statvfs,[HAVE_STATVFS=yes]) @@@ -150,7 -150,7 +150,7 @@@ AC_C_BIGENDIA dnl We do not need this if we have inttypes! HAVE_C9X=yes - if test x"$c9x_ints" = x"no"; then + if test x"$apt_cv_c9x_ints" = x"no"; then AC_CHECK_SIZEOF(char,$size_char) AC_CHECK_SIZEOF(int,$size_int) AC_CHECK_SIZEOF(short,$size_short) diff --combined debian/apt.dirs index d11ee0f2f,66556e453..f25e4600b --- a/debian/apt.dirs +++ b/debian/apt.dirs @@@ -5,10 -5,10 +5,11 @@@ etc/ap etc/apt/apt.conf.d etc/apt/preferences.d etc/apt/sources.list.d + etc/apt/trusted.gpg.d etc/logrotate.d var/cache/apt/archives/partial var/lib/apt/lists/partial +var/lib/apt/mirrors/partial var/lib/apt/periodic var/log/apt usr/share/bug/apt diff --combined debian/apt.postinst index df0433057,cc0d8b1fe..773077aa5 --- a/debian/apt.postinst +++ b/debian/apt.postinst @@@ -15,11 -15,7 +15,9 @@@ set - case "$1" in configure) - - apt-key update + if ! test -f /etc/apt/trusted.gpg; then + cp /usr/share/apt/ubuntu-archive.gpg /etc/apt/trusted.gpg + fi - ;; abort-upgrade|abort-remove|abort-deconfigure) diff --combined debian/changelog index 803f0ab0d,c2c3524a6..da4885345 --- a/debian/changelog +++ b/debian/changelog @@@ -1,48 -1,142 +1,185 @@@ -apt (0.7.25.4) UNRELEASED; urgency=low ++apt (0.7.25.4ubuntu1) UNRELEASED; urgency=low + ++ [ Michael Vogt ] ++ * merged from the debian-sid branch ++ + [ Ivan Masár ] + * Slovak translation update. Closes: #568294 - - [ Michael Vogt ] - * merged lp:~mvo/apt/history - - this writes a /var/log/apt/history tagfile that contains details - from the transaction (complements term.log) - * methods/http.cc: - - add cache-control headers even if no cache is given to allow - adding options for intercepting proxies - - add Acquire::http::ProxyAutoDetect configuration that - can be used to call a external helper to figure out the - proxy configuration and return it to apt via stdout - (this is a step towards WPAD and zeroconf/avahi support) + - -- Michael Vogt Fri, 18 Dec 2009 16:54:18 +0100 ++ -- Christian Perrier Wed, 03 Feb 2010 20:08:19 +0100 + + apt (0.7.25.3) unstable; urgency=low + + [ Christian Perrier ] + * Italian translation update. Closes: #567532 + + [ David Kalnischkies ] + * apt-pkg/contrib/macros.h: - - install the header system.h with a new name to be able to use ++ - install the header system.h with a new name to be able to use + it in other headers (Closes: #567662) + * cmdline/acqprogress.cc: + - Set Mode to Medium so that the correct prefix is used. + Thanks Stefan Haller for the patch! (Closes: #567304 LP: #275243) + * ftparchive/writer.cc: + - generate sha1 and sha256 checksums for dsc (Closes: #567343) + * cmdline/apt-get.cc: + - don't mark as manually if in download only (Closes: #468180) - ++ + -- Michael Vogt Mon, 01 Feb 2010 18:41:15 +0100 + + apt (0.7.25.2) unstable; urgency=low + + [ Michael Vogt ] + * apt-pkg/contrib/cdromutl.cc: + - fix UnmountCdrom() fails, give it a bit more time and try + the umount again + * apt-pkg/cdrom.cc: + - fix crash in pkgUdevCdromDevices + * methods/cdrom.cc: + - fixes in multi cdrom setup code (closes: #549312) + - add new "Acquire::cdrom::AutoDetect" config that enables/disables + the dlopen of libudev for automatic cdrom detection. Off by default + currently, feedback/testing welcome + * cmdline/apt-cdrom.cc: + - add new --auto-detect option that uses libudev to figure out + the cdrom/mount-point + * cmdline/apt-mark: + - merge fix from Gene Cash that supports markauto for + packages that are not in the extended_states file yet + (closes: #534920) + * ftparchive/writer.{cc,h}: - - merge crash fix for apt-ftparchive on hurd, thanks to ++ - merge crash fix for apt-ftparchive on hurd, thanks to + Samuel Thibault for the patch (closes: #566664) + + [ David Kalnischkies ] + * apt-pkg/contrib/fileutl.cc: + - Fix the newly introduced method GetListOfFilesInDir to not + accept every file if no extension is enforced + (= restore old behaviour). (Closes: #565213) + * apt-pkg/policy.cc: + - accept also partfiles with "pref" file extension as valid + * apt-pkg/contrib/configuration.cc: + - accept also partfiles with "conf" file extension as valid + * doc/apt.conf.5.xml: + - reorder description and split out syntax + - add partfile name convention (Closes: #558348) + * doc/apt_preferences.conf.5.xml: + - describe partfile name convention also here + * apt-pkg/deb/dpkgpm.cc: + - don't segfault if term.log file can't be opened. + Thanks Sam Brightman for the patch! (Closes: #475770) + * doc/*: + - replace the per language addendum with a global addendum + - add a explanation why translations include (maybe) english + parts to the new global addendum (Closes: #561636) + * apt-pkg/contrib/strutl.cc: + - fix malloc asseration fail with ja_JP.eucJP locale in + apt-cache search. Thanks Kusanagi Kouichi! (Closes: #548884) + + [ Christian Perrier ] + * French translation update + + -- Michael Vogt Wed, 27 Jan 2010 16:16:10 +0100 + + apt (0.7.25.1) unstable; urgency=low + + [ Christian Perrier ] + * French manpage translation update + * Russian translation update by Yuri Kozlov + Closes: #564171 - ++ + [Chris Leick] + * spot & fix various typos in all manpages + * German manpage translation update + + [ David Kalnischkies ] + * cmdline/apt-cache.cc: + - remove translatable marker from the "%4i %s\n" string + * buildlib/po4a_manpage.mak: + - instruct debiandoc to build files with utf-8 encoding + * buildlib/tools.m4: + - fix some warning from the buildtools + * apt-pkg/acquire-item.cc: + - add configuration PDiffs::Limit-options to not download + too many or too big patches (Closes: #554349) + * debian/control: + - let all packages depend on ${misc:Depends} + * share/*-archive.gpg: + - remove the horrible outdated files. We already depend on + the keyring so we don't need to ship our own version + * cmdline/apt-key: + - errors out if wget is not installed (Closes: #545754) + - add --keyring option as we have now possibly many + * methods/gpgv.cc: + - pass all keyrings (TrustedParts) to gpgv instead of + using only one trusted.gpg keyring (Closes: #304846) + * methods/https.cc: + - finally merge the rest of the patchset from Arnaud Ebalard + with the CRL and Issuers options, thanks! (Closes: #485963) + * apt-pkg/deb/debindexfile.cc, apt-pkg/pkgcachegen.cc: + - add debug option Debug::pkgCacheGen + + [ Michael Vogt ] + * cmdline/apt-get.cc: + - merge fix for apt-get source pkg=version regression + (closes: #561971) + * po/ru.po: + - merged updated ru.po, thanks to Yuri Kozlov (closes: #564171) + + -- Michael Vogt Sat, 09 Jan 2010 21:52:36 +0100 + +apt (0.7.25ubuntu4) lucid; urgency=low + + * cmdline/apt-cdrom.cc: + - make Acquire::cdrom::AutoDetect default, this can be + turned off with "--no-auto-detect" + * methods/http.cc: + - add cache-control headers even if no cache is given to allow + adding options for intercepting proxies + + -- Michael Vogt Tue, 02 Feb 2010 16:58:59 -0800 + +apt (0.7.25ubuntu3) lucid; urgency=low + + * cmdline/apt-get.cc: - - fix apt-get source pkg=version regression (closes: #561971) ++ - don't mark as manually if in download only (Closes: #468180) ++ ++ -- Michael Vogt Mon, 01 Feb 2010 18:41:15 +0100 ++ ++apt (0.7.25.2) unstable; urgency=low ++ ++ [ Michael Vogt ] + * apt-pkg/contrib/cdromutl.cc: + - fix UnmountCdrom() fails, give it a bit more time and try + the umount again + * apt-pkg/cdrom.cc: + - fix crash in pkgUdevCdromDevices + * methods/cdrom.cc: - - fixes in multi cdrom setup code - - add new "Acquire::cdrom::AutoDetect" variable that enables/disables - the dlopen of libudev for automatic cdrom detection ++ - fixes in multi cdrom setup code (closes: #549312) ++ - add new "Acquire::cdrom::AutoDetect" config that enables/disables ++ the dlopen of libudev for automatic cdrom detection. Off by default ++ currently, feedback/testing welcome + * cmdline/apt-cdrom.cc: + - add new --auto-detect option that uses libudev to figure out + the cdrom/mount-point + + -- Michael Vogt Wed, 27 Jan 2010 16:11:32 +0100 + +apt (0.7.25ubuntu2) lucid; urgency=low + + * Change history branch so that it does not break the + apt ABI for the pkgPackageManager interface + (can be reverted on the next ABI break) + + -- Michael Vogt Wed, 23 Dec 2009 10:14:16 +0100 + +apt (0.7.25ubuntu1) lucid; urgency=low + + * Merged from the mvo branch + * merged from the lp:~mvo/apt/history branch + + -- Michael Vogt Tue, 22 Dec 2009 09:44:08 +0100 + apt (0.7.25) unstable; urgency=low [ Christian Perrier ] @@@ -186,29 -280,6 +323,29 @@@ -- Michael Vogt Tue, 15 Dec 2009 09:21:55 +0100 +apt (0.7.24ubuntu1) lucid; urgency=low + + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.cc: + - include df -l output in the apport log as well (thanks to + tjaalton) + * apt-pkg/packagemanager.cc: + - add output about pre-depends configuring when debug::pkgPackageManager + is used + * methods/https.cc: + - fix incorrect use of CURLOPT_TIMEOUT, closes: #497983, LP: #354972 + thanks to Brian Thomason for the patch + * merge lp:~mvo/apt/netrc branch, this adds support for a + /etc/apt/auth.conf that can be used to store username/passwords + in a "netrc" style file (with the extension that it supports "/" + in a machine definition). Based on the maemo git branch. + + [ Brian Murray ] + * apt-pkg/depcache.cc, apt-pkg/indexcopy.cc: + - typo fix (LP: #462328) + + -- Michael Vogt Mon, 14 Dec 2009 09:27:26 +0100 + apt (0.7.24) unstable; urgency=low [ Nicolas François ] @@@ -278,59 -349,6 +415,59 @@@ -- Michael Vogt Fri, 25 Sep 2009 19:57:25 +0200 +apt (0.7.23.1ubuntu2) karmic; urgency=low + + [ Michael Vogt ] + * debian/control: + - fix Vcr-Bzr header + + [ Kees Cook ] + * debian/apt.cron.daily: + - fix quotes for use with "eval", thanks to Lars Ljung (LP: #449535). + + -- Michael Vogt Thu, 15 Oct 2009 19:05:19 +0200 + +apt (0.7.23.1ubuntu1) karmic; urgency=low + + [ Matt Zimmerman ] + * apt-pkg/deb/dpkgpm.cc: + - Suppress apport reports on dpkg short reads (these I/O errors are not + generally indicative of a bug in the packaging) + + [ Loïc Minier ] + * cmdline/apt-key: + - Emit a warning if removed keys keyring is missing and skip associated + checks (LP: #218971) + + [ Brian Murray ] + * cmdline/apt-get.cc: + - typo fix (LP: #370094) + + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.cc: + - when tcgetattr() returns non-zero skip all pty magic + (thanks to Simon Richter, closes: #509866) + * apt-inst/contrib/arfile.cc: + - show propper error message for Invalid archive members + * apt-pkg/acquire-worker.cc: + - show error details of failed methods + * apt-pkg/contrib/fileutl.cc: + - if a process aborts with signal, show signal number + * methods/http.cc: + - ignore SIGPIPE, we deal with EPIPE from write in + HttpMethod::ServerDie() (LP: #385144) + * debian/apt.cron.daily: + - if the timestamp is too far in the future, delete it + (LP: #135262) + + [ Merge ] + * merged from debian, reverted the libdlopen-udev branch + because its too late in the release process for this now + * not merged the proxy behaviour change from 0.7.23 (that will + be part of lucid) + + -- Michael Vogt Wed, 23 Sep 2009 18:15:10 +0200 + apt (0.7.23.1) unstable; urgency=low [ Michael Vogt ] @@@ -430,7 -448,6 +567,7 @@@ apt (0.7.22.1) unstable; urgency=lo apt (0.7.22) unstable; urgency=low + [ Christian Perrier ] * Documentation translations: - Fix a typo in apt-get(8) French translation. Closes: #525043 @@@ -439,7 -456,7 +576,7 @@@ Thanks to Aurélien Couderc. * Translations: - fr.po - - sk.po. Closes: #525857 + - sk.po. Closes: #525857 - ru.po. Closes: #526816 - eu.po. Closes: #528985 - zh_CN.po. Closes: #531390 @@@ -474,7 -491,6 +611,7 @@@ which can arise if cache doesn't fit into the mmap (Closes: #535218) * display warnings instead of errors if the parts dirs doesn't exist + [ Michael Vogt ] * honor the dpkg hold state in new Marker hooks (closes: #64141) * debian/apt.cron.daily: @@@ -562,34 -578,6 +699,34 @@@ -- Michael Vogt Wed, 29 Jul 2009 19:16:22 +0200 +apt (0.7.21ubuntu1) karmic; urgency=low + + * merged from the debian-sid bzr branch + + [ Christian Perrier ] + * Documentation translations: + - Fix a typo in apt-get(8) French translation. Closes: #525043 + Thanks to Guillaume Delacour for spotting it. + * Translations: + - fr.po + - sk.po. Closes: #525857 + - ru.po. Closes: #526816 + - eu.po. Closes: #528985 + - zh_CN.po. Closes: #531390 + - fr.po + - it.po. Closes: #531758 + - ca.po. Closes: #531921 + * Added translations + - ast.po (Asturian by Marcos Alvareez Costales). + Closes: #529007, #529730 + + [ Michael Vogt ] + * apt-pkg/acquire.cc: + - make the (internal) max pipeline depth of the acquire queue + configurable via Acquire::Max-Pipeline-Depth + + -- Michael Vogt Tue, 09 Jun 2009 15:49:07 +0200 + apt (0.7.21) unstable; urgency=low [ Christian Perrier ] @@@ -602,7 -590,7 +739,7 @@@ - sk.po. Closes: #520403 - it.po. Closes: #522222 - sk.po. Closes: #520403 - + [ Jamie Strandboge ] * apt.cron.daily: catch invalid dates due to DST time changes in the stamp files @@@ -623,7 -611,7 +760,7 @@@ * Clarify the --help for 'purge' (LP: #243948) * cmdline/apt-get.cc - fix "apt-get source pkg" if there is a binary package and - a source package of the same name but from different + a source package of the same name but from different packages (LP: #330103) [ Colin Watson ] @@@ -633,125 -621,6 +770,125 @@@ -- Michael Vogt Tue, 14 Apr 2009 14:12:51 +0200 +apt (0.7.20.2ubuntu7) karmic; urgency=low + + * fix problematic use of tolower() when calculating the version + hash by using locale independant tolower_ascii() function. + Thanks to M. Vefa Bicakci (LP: #80248) + * build fixes for g++-4.4 + * include dmesg output in apport package failures + * include apt ordering into apport package failures + + -- Michael Vogt Fri, 24 Apr 2009 10:14:01 +0200 + +apt (0.7.20.2ubuntu6) jaunty; urgency=low + + [ Jamie Strandboge ] + * apt.cron.daily: catch invalid dates due to DST time changes + in the stamp files (LP: #354793) + + [ Michael Vogt ] + * methods/gpgv.cc: + - properly check for expired and revoked keys (closes: #433091) + LP: #356012 + + -- Michael Vogt Wed, 08 Apr 2009 22:39:50 +0200 + +apt (0.7.20.2ubuntu5) jaunty; urgency=low + + [ Colin Watson ] + * cmdline/acqprogress.cc: + - Call pkgAcquireStatus::Pulse even if quiet, so that we still get + dlstatus messages on the status-fd (LP: #290234). + + [ Michael Vogt ] + * debian/apt.cron.daily: + - do not clutter cron mail with bogus gconftool messages + (LP: #223502) + - merge fix for cache locking from debian (closes: #459344) + - run update-apt-xapian-index (with ionice) to ensure that + the index is up-to-date when synaptic is run (LP: #288797) + + -- Michael Vogt Mon, 30 Mar 2009 13:22:28 +0200 + +apt (0.7.20.2ubuntu4) jaunty; urgency=low + + * ftparchive/cachedb.cc: + - when apt-ftparchive clean is used, compact the database + at the end (thanks to cprov) + + -- Michael Vogt Thu, 26 Mar 2009 13:43:59 +0100 + +apt (0.7.20.2ubuntu3) jaunty; urgency=low + + * methods/mirror.cc: + - when download the mirror file and the server is down, + return a propper error message (LP: #278635) + + -- Michael Vogt Thu, 19 Mar 2009 15:42:15 +0100 + +apt (0.7.20.2ubuntu2) jaunty; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - revert termios patch (LP: #338514) + * cmdline/apt-get.cc + - fix "apt-get source pkg" if there is a binary package and + a source package of the same name but from different + packages (LP: #330103) + + -- Michael Vogt Mon, 09 Mar 2009 16:33:28 +0100 + +apt (0.7.20.2ubuntu1) jaunty; urgency=low + + [ Christian Perrier ] + * Translations: + - bg.po. Closes: #513211 + - zh_TW.po. Closes: #513311 + - nb.po. Closes: #513843 + + [ Michael Vogt ] + * merged from the debian-sid branch + * [ABI break] merge support for http redirects, thanks to + Jeff Licquia and Anthony Towns + * [ABI break] use int for the package IDs (thanks to Steve Cotton) + * apt-pkg/contrib/strutl.cc: + - fix TimeToStr i18n (LP: #289807) + * debian/apt.conf.autoremove: + - readd "linux-image" (and friends) to the auto-remove + blacklist + * fix some i18n issues (thanks to Gabor Kelemen) + LP: #263089 + * apt-pkg/deb/dpkgpm.cc: + - filter "ENOMEM" errors when creating apport reports + * cmdline/apt-get.cc: + - fix "apt-get source pkg=ver" if binary name != source name + (LP: #202219) + * apt-pkg/indexrecords.cc: + - fix some i18n issues + * apt-pkg/contrib/strutl.h: + - add new strprintf() function to make i18n strings easier + * apt-pkg/dev/debsystem.cc: + - add missing apti18n.h header + * cmdline/apt-get.cc: + - default to "false" for the "APT::Get::Build-Dep-Automatic" + option (follow debian here) + * apt-pkg/pkgcache.cc: + - do not run "dpkg --configure pkg" if pkg is in trigger-awaited + state (LP: #322955) + * methods/https.cc: + - add Acquire::https::AllowRedirect support + - do not unlink files in partial/ (thanks to robbiew) + + [ Dereck Wonnacott ] + * Clarify the --help for 'purge' (LP: #243948) + + [ Ian Weisser ] + * /apt-pkg/deb/debsystem.cc: + - add 'sudo' to the error message to "run 'dpkg --configure -a'" + (LP: #52697) + + -- Michael Vogt Mon, 09 Feb 2009 14:21:05 +0100 + apt (0.7.20.2) unstable; urgency=medium [ Eugene V. Lyubimkin ] @@@ -800,10 -669,10 +937,10 @@@ apt (0.7.20) unstable; urgency=lo (Closes: #440049, #509337) [ Michael Vogt ] - * add option to "apt-get build-dep" to mark the needed - build-dep packages as automatic installed. + * add option to "apt-get build-dep" to mark the needed + build-dep packages as automatic installed. This is controlled via the value of - APT::Get::Build-Dep-Automatic and is set "false" by default. + APT::Get::Build-Dep-Automatic and is set "false" by default. Thanks to Aaron Haviland, closes: #448743 * apt-inst/contrib/arfile.cc: - support members ending with '/' as well (thanks to Michal Cihr, @@@ -811,21 -680,15 +948,21 @@@ [ Christian Perrier ] * Translations: - - Finnish updated. Closes: #508449 + - Finnish updated. Closes: #508449 - Galician updated. Closes: #509151 - Catalan updated. Closes: #509375 - Vietnamese updated. Closes: #509422 - Traditional Chinese added. Closes: #510664 - - French corrected (remove awful use of first person) + - French corrected (remove awful use of first person) -- Michael Vogt Mon, 05 Jan 2009 08:59:20 +0100 +apt (0.7.19ubuntu1) jaunty; urgency=low + + * merge from debian + + -- Michael Vogt Mon, 24 Nov 2008 10:52:20 +0100 + apt (0.7.19) unstable; urgency=low [ Eugene V. Lyubimkin ] @@@ -843,8 -706,6 +980,8 @@@ (Closes: #419521) [ Michael Vogt ] + * doc/makefile: + - add examples/apt-https-method-example.conf - fix SIGHUP handling (closes: #463030) [ Christian Perrier ] @@@ -1126,151 -987,54 +1263,151 @@@ apt (0.7.15~exp1) experimental; urgency -- Michael Vogt Tue, 16 Sep 2008 21:27:03 +0200 -apt (0.7.14) unstable; urgency=low +apt (0.7.14ubuntu7) jaunty; urgency=low - [ Christian Perrier ] - * Mark a message from dselect backend as translatable - Thanks to Frédéric Bothamy for the patch - Closes: #322470 + * cmdline/apt-cache.cc: + - remove the gettext from a string that consists entirely + of variables (LP: #56792) + * apt-pkg/deb/dpkgpm.cc: + - fix potential hang when in a backgroud process group - [ Program translations ] - * Simplified Chinese updated. Closes: #473360 - * Catalan fixes. Closes: #387141 - * Typo fix in Greek translation. Closes: #479122 - * French updated. - * Thai updated. Closes: #479313 - * Italian updated. Closes: #479326 - * Polish updated. Closes: #479342 - * Bulgarian updated. Closes: #479379 - * Finnish updated. Closes: #479403 - * Korean updated. Closes: #479426 - * Basque updated. Closes: #479452 - * Vietnamese updated. Closes: #479748 - * Russian updated. Closes: #479777, #499029 - * Galician updated. Closes: #479792 - * Portuguese updated. Closes: #479847 - * Swedish updated. Closes: #479871 - * Dutch updated. Closes: #480125 - * Kurdish added. Closes: #480150 - * Brazilian Portuguese updated. Closes: #480561 - * Hungarian updated. Closes: #480662 + -- Michael Vogt Tue, 28 Oct 2008 21:09:12 +0100 - [ Otavio Salvador ] - * Apply patch to avoid truncating of arbitrary files. Thanks to Bryan - Donlan for the patch. Closes: #482476 - * Avoid using dbus if dbus-daemon isn't running. Closes: #438803 - - [ Michael Vogt ] - * debian/apt.cron.daily: - - apply patch based on the ideas of Francesco Poli for better - behavior when the cache can not be locked (closes: #459344) +apt (0.7.14ubuntu6) intrepid; urgency=low - -- Michael Vogt Wed, 28 May 2008 15:19:12 +0200 + * debian/apt.conf.autoremove: + - remove "linux-image" (and friends) from the auto-remove + blacklist. we have the kernel fallback infrastructure now + in intrepid (thanks to BenC) + * apt-pkg/indexcopy.cc: + - support having CDs with no Packages file (just a Packages.gz) + by not forcing a verification on non-existing files + (LP: #255545) + * apt-pkg/deb/dpkgpm.cc: + - improve the filtering for duplicated apport reports (thanks + to seb128 for pointing that problem out) + - do not report disk full errors from dpkg via apport -apt (0.7.13) unstable; urgency=low + -- Michael Vogt Thu, 07 Aug 2008 16:28:05 +0200 - [ Otavio Salvador ] - * Add missing build-depends back from build-depends-indep field. - Closes: #478231 - * Make cron script quiet if cache is locked. Thanks to Ted Percival - for the patch. Closes: #459344 +apt (0.7.14ubuntu5) intrepid; urgency=low + + * fix various -Wall warnings + * make "apt-get build-dep" installed packages marked automatic + by default. This can be changed by setting the value of + APT::Get::Build-Dep-Automatic to false (thanks to Aaron + Haviland, closes: #44874, LP: #248268) + + -- Michael Vogt Wed, 06 Aug 2008 14:00:51 +0200 + +apt (0.7.14ubuntu4) intrepid; urgency=low + + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.cc: + - fix uninitialized variable that caused no apport reports + to be written sometimes (thanks to Matt Zimmerman) + * merge patch that enforces stricter https server certificate + checking (thanks to Arnaud Ebalard, closes: #485960) + * allow per-mirror specific https settings + (thanks to Arnaud Ebalard, closes: #485965) + * add doc/examples/apt-https-method-example.cof + (thanks to Arnaud Ebalard, closes: #485964) + * add DPkg::NoTriggers option so that applications that call + apt/aptitude (like the installer) defer trigger processing + (thanks to Joey Hess) + * document --install-recommends and --no-install-recommends + (thanks to Dereck Wonnacott, LP: #126180) + + [ Dereck Wonnacott ] + * apt-ftparchive might write corrupt Release files (LP: #46439) + * Apply --important option to apt-cache depends (LP: #16947) + + -- Michael Vogt Tue, 05 Aug 2008 10:10:49 +0200 + +apt (0.7.14ubuntu3) intrepid; urgency=low + + [ Otavio Salvador ] + * Apply patch to avoid truncating of arbitrary files. Thanks to Bryan + Donlan for the patch. Closes: #482476 + * Avoid using dbus if dbus-daemon isn't running. Closes: #438803 + + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.cc: + - improve apt progress reporting, display trigger actions + * apt-pkg/depcache.cc: + - when checking for new important deps, skip critical ones + (LP: #236360) + + -- Michael Vogt Tue, 03 Jun 2008 17:27:07 +0200 + +apt (0.7.14ubuntu2) intrepid; urgency=low + + * debian/control: + - fix FTBFS by adding missing intltool dependency + + -- Michael Vogt Fri, 09 May 2008 13:50:22 +0200 + +apt (0.7.14ubuntu1) intrepid; urgency=low + + [ Michael Vogt ] + * enable installation of recommends by default + * debian/apt.conf.ubuntu: + - remove APT::Install-Recommends-Sections (no longer needed) + * merged from debian/sid, remaining changes: + - authentication-reliable branch (to be merged into debian soon) + - mirror:// uri branch (breaks ABI in debian, not merged yet) + - apport failure reporting + - show warning on apt-get source with 'Vcs-' header + - proxy detection from gconf in apt.cron + +apt (0.7.14) unstable; urgency=low + + [ Christian Perrier ] + * Mark a message from dselect backend as translatable + Thanks to Frédéric Bothamy for the patch + Closes: #322470 + + [ Program translations ] + * Simplified Chinese updated. Closes: #473360 + * Catalan fixes. Closes: #387141 + * Typo fix in Greek translation. Closes: #479122 + * French updated. + * Thai updated. Closes: #479313 + * Italian updated. Closes: #479326 + * Polish updated. Closes: #479342 + * Bulgarian updated. Closes: #479379 + * Finnish updated. Closes: #479403 + * Korean updated. Closes: #479426 + * Basque updated. Closes: #479452 + * Vietnamese updated. Closes: #479748 + * Russian updated. Closes: #479777, #499029 + * Galician updated. Closes: #479792 + * Portuguese updated. Closes: #479847 + * Swedish updated. Closes: #479871 + * Dutch updated. Closes: #480125 + * Kurdish added. Closes: #480150 + * Brazilian Portuguese updated. Closes: #480561 + * Hungarian updated. Closes: #480662 + + [ Otavio Salvador ] + * Apply patch to avoid truncating of arbitrary files. Thanks to Bryan + Donlan for the patch. Closes: #482476 + * Avoid using dbus if dbus-daemon isn't running. Closes: #438803 + + [ Michael Vogt ] + * debian/apt.cron.daily: + - apply patch based on the ideas of Francesco Poli for better + behavior when the cache can not be locked (closes: #459344) + + -- Michael Vogt Wed, 28 May 2008 15:19:12 +0200 + +apt (0.7.13) unstable; urgency=low + + [ Otavio Salvador ] + * Add missing build-depends back from build-depends-indep field. + Closes: #478231 + * Make cron script quiet if cache is locked. Thanks to Ted Percival + for the patch. Closes: #459344 * Add timeout support for https. Thanks to Andrew Martens for the patch. @@@ -1292,7 -1056,7 +1429,7 @@@ apt (0.7.12) unstable; urgency=lo * apt-pkg/deb/dpkgpm.cc: - merged patch from Kees Cook to fix anoying upper-case display on amd64 in sbuild - * apt-pkg/algorithms.cc: + * apt-pkg/algorithms.cc: - add APT::Update::Post-Invoke-Success script slot - Make the breaks handling use the kill list. This means, that a Breaks: Pkg (<< version) may put Pkg onto the remove list. @@@ -1331,7 -1095,7 +1468,7 @@@ - French updated. - Bulgarian updated. Closes: #448492 - Galician updated. Closes: #476839 - + [ Daniel Burrows ] * apt-pkg/depcache.cc: - Patch MarkInstall to follow currently satisfied Recommends even @@@ -1349,7 -1113,7 +1486,7 @@@ - Add missing Build-Depends-Indep on xsltproc, docbook-xsl, and xmlto. -- Daniel Burrows Sat, 26 Apr 2008 12:24:35 -0700 - + apt (0.7.11) unstable; urgency=critical [ Raise urgency to critical since it fixes a critical but for Debian @@@ -1408,6 -1172,7 +1545,6 @@@ apt (0.7.10) unstable; urgency=lo - Simplified Chinese updated. Closes: #458039 - French updated. - Norwegian Bokmål updated. Closes: #457917 - [ Michael Vogt ] * debian/rules - fix https install location @@@ -1422,7 -1187,7 +1559,7 @@@ - make the authentication download code more robust against servers/proxies with broken If-Range implementations * apt-pkg/packagemanager.{cc,h}: - - propergate the Immediate flag to make hitting the + - propergate the Immediate flag to make hitting the "E: Internal Error, Could not perform immediate configuration (2)" harder * debian/control: @@@ -1436,7 -1201,7 +1573,7 @@@ - support lzma data members * ftparchive/multicompress.cc: - support lzma output - + [ Daniel Burrows ] * apt-pkg/contrib/configuration.cc: - if RootDir is set, then FindFile and FindDir will return paths @@@ -1445,270 -1210,8 +1582,270 @@@ [ Christian Perrier ] * Fix wording for "After unpacking...". Thanks to Michael Gilbert for the patch. Closes: #260825 + + -- Michael Vogt Thu, 03 Jan 2008 11:31:45 +0100 + +apt (0.7.9ubuntu17) hardy-proposed; urgency=low + + * apt-pkg/acquire-item.cc: + - fix signaure removal on transient network failures LP: #220627 + (thanks to Scott James Remnant) + + -- Michael Vogt Tue, 22 Apr 2008 16:32:49 +0200 + +apt (0.7.9ubuntu16) hardy; urgency=low + + * cmdline/apt-key: + - only check against master-keys in net-update to not break + custom CDs (thanks to Colin Watson) + + -- Michael Vogt Tue, 08 Apr 2008 14:17:14 +0200 + +apt (0.7.9ubuntu15) hardy; urgency=low + + * cmdline/apt-get.cc: + - do two passes when installing tasks, first ignoring dependencies, + then resolving them and run the problemResolver at the end + so that it can correct any missing dependencies. This should + fix livecd building for kubuntu (thanks to Jonathan Riddell + for reporting the problem) + + -- Michael Vogt Thu, 13 Mar 2008 23:25:45 +0100 + +apt (0.7.9ubuntu14) hardy; urgency=low + + * cmdline/apt-get.cc: + - fix incorrect help output for -f (LP: #57487) + - run the problemResolver after a task was installed + so that it can correct any missing dependencies + * typo fixes (LP: #107960) + + -- Michael Vogt Tue, 11 Mar 2008 21:46:07 +0100 + +apt (0.7.9ubuntu13) hardy; urgency=low + + [ Lionel Porcheron ] + * debian/apt.cron.daily: + - only call gconftool if gcontool is installed (LP: #194281) + + [ Michael Vogt ] + * doc/apt_preferences.5.xml: + - fix typo (LP: #150900) + * doc/example/sources.list: + - updated for hardy (LP: #195879) + * debian/apt.cron.daily: + - sleep random amount of time (default within 0-30min) before + starting the upate to hit the mirrors less hard + + -- Michael Vogt Tue, 04 Mar 2008 15:35:09 +0100 + +apt (0.7.9ubuntu12) hardy; urgency=low + + * debian/apt.cron.daily: + - use admin user proxy settings + * cmdline/apt-get.cc: + - fix task installation (thanks to Colin Watson) + + -- Michael Vogt Thu, 21 Feb 2008 15:07:44 +0100 + +apt (0.7.9ubuntu11) hardy; urgency=low + + * apt-pkg/algorithms.cc: + - add APT::Update::Post-Invoke-Success script slot + (LP: #188127) + + -- Michael Vogt Thu, 10 Jan 2008 12:06:12 +0100 + +apt (0.7.9ubuntu10) hardy; urgency=low + + * cmdline/apt-key: + - add "net-update" command that fetches the + ubuntu-archive-keyring.gpg and add keys from it that are + signed by the ubuntu-master-keyring.gpg + (apt-archive-key-signatures spec) + * debian/apt.cron.daily: + - add apt-key net-update to the nightly cron job + + -- Michael Vogt Wed, 13 Feb 2008 15:50:28 +0100 + +apt (0.7.9ubuntu9) hardy; urgency=low + + * fix FTBFS due to incorrect intltool build-depends + + -- Michael Vogt Mon, 11 Feb 2008 16:04:37 +0100 + +apt (0.7.9ubuntu8) hardy; urgency=low + + * share/apt-auth-failure.note: + - show update-notifier note if the nightly update fails with a + authentication failure (apt-authentication-reliability spec) + + -- Michael Vogt Mon, 11 Feb 2008 14:04:56 +0100 + +apt (0.7.9ubuntu7) hardy; urgency=low + + * methods/connect.cc: + - remember hosts with Resolve failures or connect Timeouts + see https://wiki.ubuntu.com/NetworklessInstallationFixes + * cmdlines/apt-key: + - fix bug in the new apt-key update code that imports only + keys signed with the master key (thanks to cjwatson) + + -- Michael Vogt Fri, 08 Feb 2008 11:38:35 +0100 + +apt (0.7.9ubuntu6) hardy; urgency=low + + * cmdline/apt-key: + - add support for a master-keyring that contains signing keys + that can be used to sign the archive signing keys. This should + make key-rollover easier. + * apt-pkg/deb/dpkgpm.cc: + - merged patch from Kees Cook to fix anoying upper-case display + on amd64 in sbuild + * apt-pkg/algorithms.cc: + - add APT::Update::Post-Invoke-Success script slot + - Make the breaks handling use the kill list. This means, that a + Breaks: Pkg (<< version) may put Pkg onto the remove list. + * apt-pkg/deb/dpkgpm.cc: + - add APT::Apport::MaxReports to limit the maximum number + of reports generated in a single run (default to 3) + * apt-pkg/deb/debmetaindex.cc: + - add missing "Release" file uri when apt-get update --print-uris + is run + + -- Michael Vogt Mon, 04 Feb 2008 14:28:02 +0100 + +apt (0.7.9ubuntu5) hardy; urgency=low + + * Merged apt-authentication-reliabilty branch. This means + that apt will refuse to update and use the old lists if + the authentication of a repository that used to be + authenticated fails. See + https://wiki.ubuntu.com/AptAuthenticationReliability + for more details. + + -- Michael Vogt Wed, 16 Jan 2008 10:36:10 +0100 + +apt (0.7.9ubuntu4) hardy; urgency=low + + * apt-pkg/algorithms.cc: + - Since APT::Get::List-Cleanup and APT::List-Cleanup both default to + true, the effect of the compatibility code was to require both of them + to be set to false in order to disable list cleanup; this broke the + installer. Instead, disable list cleanup if either of them is set to + false. + + -- Colin Watson Wed, 09 Jan 2008 22:34:37 +0000 + +apt (0.7.9ubuntu3) hardy; urgency=low + + * merged the apt--DoListUpdate branch, this provides a common interface + for "apt-get update" like operations for the frontends and also provides + hooks to run stuff in APT::Update::{Pre,Post}-Invoke + + -- Michael Vogt Mon, 07 Jan 2008 19:02:11 +0100 + +apt (0.7.9ubuntu2) hardy; urgency=low + + [ Otavio Salvador ] + * Applied patch from Aurelien Jarno to fix building + with newest dpkg-shlibdeps changing the packaging building order and a + patch from Robert Millan to fix parallel building, + closes: #452862. + * Applied patch from Alexander Winston + to use 'min' as symbol for minute, closes: #219034. + * Applied patch from Amos Waterland to allow apt to + work properly in initramfs, closes: #448316. + * Applied patch from Robert Millan to make apt-key and + apt-get to ignore time conflicts, closes: #451328. + * Applied patch from Peter Eisentraut to fix a + grammatical error ("manual installed" -> "manually installed"), + closes: #438136. + * Fix cron.daily job to not call fail if apt isn't installed, closes: + #443286. + + [ Daniel Burrows ] + * apt-pkg/contrib/configuration.cc: + - if RootDir is set, then FindFile and FindDir will return paths + relative to the directory stored in RootDir, closes: #456457. + + [ Christian Perrier ] + * Fix wording for "After unpacking...". Thans to Michael Gilbert + for the patch. Closes: #260825 - -- Michael Vogt Mon, 07 Jan 2008 21:40:47 +0100 + [ Program translations ] + - Vietnamese updated. Closes: #453774 + - Japanese updated. Closes: #456909 + - French updated. + + [ Michael Vogt ] + * apt-pkg/packagemanager.{cc,h}: + - propergate the Immediate flag to make hitting the + "E: Internal Error, Could not perform immediate configuration (2)" + harder. (LP: #179247) + * debian/apt.conf.daily: + - print warning if the cache can not be locked (closes: #454561), + thanks to Bastian Kleineidam + * debian/control: + - build against libdb-dev (instead of libdb4.4-dev) + + -- Michael Vogt Thu, 03 Jan 2008 11:31:45 +0100 + +apt (0.7.9ubuntu1) hardy; urgency=low + + * merged from http://bzr.debian.org/apt/apt/debian-sid/, remaining + changes: + - mirror download method (pending merge with debian) + - no pdiff download by default (unsuitable for ubuntu) + - no recommends-by-default yet + - add "Original-Maintainer" field to tagfile + - show warning on apt-get source if the package is maintained + in a VCS (pedinging merge with debian) + - use ubuntu-archive keyring instead of debians one + - support metapackages section for autoremoval + - debian maintainer field change + - send ubuntu string in user-agent + + * Changes from the debian-sid bzr branch (but not uploaded to debian + yet): + + [ Otavio Salvador ] + * Applied patch from Mike O'Connor to add a manpage to + apt-mark, closes: #430207. + * Applied patch from Andrei Popescu to add a + note about some frontends in apt.8 manpage, closes: #438545. + * Applied patch from Aurelien Jarno to avoid CPU + getting crazy when /dev/null is redirected to stdin (which breaks + buildds), closes: #452858. + + [ Program translations ] + - Basque updated. Closes: #453088 + + [ Michael Vogt ] + * debian/rules + - fix https install location + * methods/gpgv.cc: + - remove cruft code that caused timestamp/I-M-S issues + * ftparchive/contents.cc: + - fix error output + * methods/mirror.{cc,h}: + - only update mirror list on IndexFile updates + * apt-pkg/acquire-item.{cc,h}: + - make the authentication download code more robust against + servers/proxies with broken If-Range implementations + * debian/control: + - build against libdb-dev (instead of libdb4.4-dev) + * merged the apt--DoListUpdate branch, this provides a common interface + for "apt-get update" like operations for the frontends and also provides + hooks to run stuff in APT::Update::{Pre,Post}-Invoke + + [ Chris Cheney ] + * ftparchive/contents.cc: + - support lzma data members + * ftparchive/multicompress.cc: + - support lzma output + + -- Michael Vogt Thu, 13 Dec 2007 14:46:27 +0100 apt (0.7.9) unstable; urgency=low @@@ -1835,192 -1338,12 +1972,192 @@@ apt (0.7.7) unstable; urgency=lo -- Michael Vogt Tue, 23 Oct 2007 14:58:03 +0200 -apt (0.7.6) unstable; urgency=low +apt (0.7.6ubuntu14.1) gutsy-proposed; urgency=low - * Applied patch from Aurelien Jarno to fix wrong - directory downloading on non-linux architectures (closes: #435597) + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.{cc,h}: + - give up timeslice on EIO error in read from master terminal + * debian/apt.cron.daily: + - only run the cron job if apt-get check succeeds (LP: #131719) - -- Otavio Salvador Wed, 01 Aug 2007 19:49:51 -0300 + [ Martin Emrich ] + * apt-pkg/deb/dpkgpm.{cc,h}: + - rewrite dpkgpm.cc to use pselect() instead of select() + to block signals during select() (LP: #134858) + + -- Michael Vogt Sat, 20 Oct 2007 07:51:12 +0200 + +apt (0.7.6ubuntu14) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix resource leak (LP: #148806) + + -- Michael Vogt Mon, 15 Oct 2007 20:57:44 +0200 + +apt (0.7.6ubuntu13) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix crash in WriteApportReport (LP: #144537) + * apt-pkg/acquire-item.cc + - fix disappearing local Packages.gz file (LP: #131166) + * methods/https.cc: + - fix off-by-one error I-M-S handling + - cleanup after I-M-S hit + + -- Michael Vogt Tue, 09 Oct 2007 01:48:26 +0200 + +apt (0.7.6ubuntu12) gutsy; urgency=low + + [ Michael Vogt ] + * cmdline/apt-mark: + - Fix chmoding after have renamed the extended-states file + (thanks to Laurent Bigonville, LP: #140019) + * apt-pkg/deb/debmetaindex.cc: comparison with string literal results + in unspecified behaviour; + * Reset curl options and timestamp between downloaded files. Thanks to + Ryan Murray for the patch + + [Paul Sladen] + * Have 'cron.daily/apt' send D-Bus doesn't exist error messages + to the bit bucket. Thanks to 'dasdda'. (LP: #115397) + + -- Michael Vogt Wed, 03 Oct 2007 02:17:45 +0200 + +apt (0.7.6ubuntu11) gutsy; urgency=low + + * apt-pkg/contrib/mmap.cc: + - don't fail if msync() returns > 0 (LP: #144001) + + -- Colin Watson Sat, 22 Sep 2007 21:39:29 +0100 + +apt (0.7.6ubuntu10) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix parse error when dpkg sends unexpected data + + -- Michael Vogt Tue, 18 Sep 2007 17:25:09 +0100 + +apt (0.7.6ubuntu9) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix progress reporting precent calculation (LP: #137798) + * make apt build with g++ 4.3 + * fix missing SetExecClose() call when the status-fd is used + (LP: #136767) + * debian/apt.cron.daily: + - move unattended-upgrade before apt-get autoclean + * fix "purge" commandline argument, closes LP: #125733 + (thanks to Julien Danjou for the patch) + * cmdline/apt-get.cc: + - do not change the auto-installed information if a package + is reinstalled (LP: #139448) + + -- Michael Vogt Tue, 11 Sep 2007 20:55:00 +0200 + +apt (0.7.6ubuntu8) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.{cc,h}: + - fix bug in dpkg log writing when a signal is caught during + select() (LP: #134858) + - write end marker in the log as well + + -- Michael Vogt Wed, 05 Sep 2007 15:03:46 +0200 + +apt (0.7.6ubuntu7) gutsy; urgency=low + + * reupload to fix FTBFS + + -- Michael Vogt Thu, 16 Aug 2007 19:44:20 +0200 + +apt (0.7.6ubuntu6) gutsy; urgency=low + + * dpkg-triggers: Deal properly with new package states. + + -- Ian Jackson Wed, 15 Aug 2007 20:44:37 +0100 + +apt (0.7.6ubuntu5) UNRELEASED; urgency=low + + * apt-pkg/acquire-item.cc: + - fix file removal on local repo i-m-s hit (LP: #131166) + * tests/local-repo: + - added regression test for this bug + + -- Michael Vogt Thu, 09 Aug 2007 12:34:07 +0200 + +apt (0.7.6ubuntu4) gutsy; urgency=low + + * cmdline/apt-get.cc: + - remove YnPrompt when a XS-Vcs- tag is found, improve the + notice (LP: #129575) + * methods/copy.cc: + - take hashes here too + * apt-pkg/acquire-worker.cc: + - only pass on computed hash if we recived one from the method + + -- Michael Vogt Wed, 08 Aug 2007 19:30:29 +0200 + +apt (0.7.6ubuntu3) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix packagename extraction when writting apport reports + * apt-pkg/pkgcachegen.cc: + - increase default mmap size (LP: #125640) + + -- Michael Vogt Tue, 07 Aug 2007 09:52:00 +0200 + +apt (0.7.6ubuntu2) gutsy; urgency=low + + * doc/examples/sources.list: + - change example source to gutsy + * apt-pkg/deb/dpkgpm.cc: + - do not break if no /dev/pts is available + + -- Michael Vogt Mon, 06 Aug 2007 15:17:57 +0200 + +apt (0.7.6ubuntu1) gutsy; urgency=low + + [ Michael Vogt ] + * apt-inst/contrib/extracttar.cc: + - fix fd leak for zero size files (thanks to Bill Broadley for + reporting this bug) + * apt-pkg/acquire-item.cc: + - remove zero size files on I-M-S hit + * methods/https.cc: + - only send LastModified if we actually have a file + - send range request with if-range + - delete failed downloads + (thanks to Thom May for his help here) + - delete zero size I-M-S hits + * apt-pkg/deb/dpkgpm.{cc,h}: + - merged dpkg-log branch, this lets you specify a + Dir::Log::Terminal file to log dpkg output to + (ABI break) + - when writting apport reports, attach the dpkg + terminal log too + * merged apt--sha256 branch to fully support the new + sha256 checksums in the Packages and Release files + (ABI break) + * apt-pkg/pkgcachegen.cc: + - increase default mmap size + * tests/local-repo: + - added local repository testcase + * make apt build with g++ 4.3 + * fix missing SetExecClose() call when the status-fd is used + * debian/apt.cron.daily: + - move unattended-upgrade before apt-get autoclean + * fix "purge" commandline argument, closes: #133421 + (thanks to Julien Danjou for the patch) + * cmdline/apt-get.cc: + - do not change the auto-installed information if a package + is reinstalled + * cmdline/apt-mark: + - Fix chmoding after have renamed the extended-states file (LP: #140019) + (thanks to Laurent Bigonville) + + [ Ian Jackson ] + * dpkg-triggers: Deal properly with new package states. + + -- Michael Vogt Thu, 02 Aug 2007 11:55:54 +0200 apt (0.7.6) unstable; urgency=low @@@ -2049,14 -1372,6 +2186,14 @@@ apt (0.7.5) unstable; urgency=lo -- Otavio Salvador Wed, 25 Jul 2007 20:16:46 -0300 +apt (0.7.4ubuntu1) gutsy; urgency=low + + * debian/apt.conf.ubuntu, apt.conf.autoremove: + - Change metapackages to {restricted,universe,multiverse}/metapackages + in Install-Recommends-Sections and Never-MarkAuto-Sections + + -- Michael Vogt Thu, 26 Jul 2007 10:42:29 +0200 + apt (0.7.4) unstable; urgency=low [ Michael Vogt ] @@@ -2116,90 -1431,6 +2253,90 @@@ apt (0.7.3) unstable; urgency=lo which disappeared from the BZR repositories -- Michael Vogt Sun, 01 Jul 2007 12:31:29 +0200 + +apt (0.7.2ubuntu7) gutsy; urgency=low + + * fix build-dependencies + * fixes in the auto-mark code (thanks to Daniel + Burrows) + + -- Michael Vogt Mon, 9 Jul 2007 19:02:54 +0200 + +apt (0.7.2ubuntu6) gutsy; urgency=low + + [ Michael Vogt] + * cmdline/apt-get.cc: + - make the XS-Vcs-$foo warning more copy'n'paste + friendly (thanks to Matt Zimmerman) + - ignore the Vcs-Browser tag (Fixes LP: #121770) + * debian/apt.conf.autoremove: + - added "linux-ubuntu-modules" to APT::NeverAutoRemove + + [ Sarah Hobbs ] + * Change metapackages to *metapackages in Install-Recommends-Section + and Never-MarkAuto-Section of debian/apt.conf.autoremove, so that + the Recommends of metapackages in universe and multiverse will get + installed. + * Also make this change in doc/examples/configure-index. + * Added a Build Dependancies of automake, docbook-xsl, xsltproc, xmlto, + docbook to fix FTBFS. + * Added in previous changelog entries, as those who uploaded did not + actually commit to Bzr. + + -- Sarah Hobbs Mon, 09 Jul 2007 01:15:57 +1000 + +apt (0.7.2ubuntu5) gutsy; urgency=low + + * Rerun autoconf to fix the FTBFS. + + -- Michael Bienia Fri, 06 Jul 2007 19:17:33 +0200 + +apt (0.7.2ubuntu4) gutsy; urgency=low + + * Rebuild for the libcurl4 -> libcurl3 transition mess. + + -- Steve Kowalik Fri, 6 Jul 2007 12:44:05 +1000 + +apt (0.7.2ubuntu3) gutsy; urgency=low + + * cmdline/apt-get.cc: + - fix InstallTask code when a pkgRecord ends + with a single '\n' (thanks to Soren Hansen for reporting) + + -- Michael Vogt Wed, 27 Jun 2007 13:33:38 +0200 + +apt (0.7.2ubuntu2) gutsy; urgency=low + + * fixed compile errors with g++ 4.3 (thanks to + Daniel Burrows, closes: #429378) + * fix FTFBFS by changing build-depends to + libcurl4-gnutls-dev (closes: #428363) + + -- Michael Vogt Tue, 19 Jun 2007 13:47:03 +0200 + +apt (0.7.2ubuntu1) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - apport integration added, this means that a apport + report is written on dpkg failures + * cmdline/apt-get.cc: + - merged http://people.ubuntu.com/~mvo/bzr/apt/xs-vcs-bzr/ + this will warn when Vcs- headers are found on apt-get source + (Fixes LP:#115959) + * merged from debian/unstable, remaining changes: + - maintainer field changed + - merged the apt--mirror branch + http://people.ubuntu.com/~mvo/bzr/apt/apt--mirror/ + - apport reporting on package install/upgrade/remove failure + - support for "Originial-Maintainer" field + - merged apt--xs-vcs-bzr branch + (http://people.ubuntu.com/~mvo/bzr/apt/xs-vcs-bzr/) + - use ubuntu archive keyring by default + - debian/apt.conf.autoremove + + install recommands for section "metapackages" + + do not mark direct dependencies of "metapackages" as autoremoved + + -- Michael Vogt Thu, 14 Jun 2007 10:38:36 +0200 apt (0.7.2-0.1) unstable; urgency=low @@@ -2267,16 -1498,12 +2404,16 @@@ apt (0.7.1) experimental; urgency=lo * methods/cdrom.cc: - only umount if it was mounted by the method before * po/gl.po: - - fix error translation that causes trouble to lsb_release + - fix error in translation that causes trouble to lsb_release + (LP#79165) * apt-pkg/acquire-item.cc: - if decompression of a index fails, delete the index * apt-pkg/acquire.{cc,h}: - deal better with duplicated sources.list entries (avoid double queuing of URLs) - this fixes hangs in bzip/gzip + (LP#102511) + * Fix broken use of awk in apt-key that caused removal of the wrong keys + from the keyring. Closes: #412572 * merged from Christian Perrier: * mr.po: New Marathi translation Closes: #416806 * zh_CN.po: Updated by Eric Pareja Closes: #416822 @@@ -2298,94 -1525,7 +2435,94 @@@ * apt-pkg/policy.cc: - allow multiple packages (thanks to David Foerster) - -- Michael Vogt Wed, 2 May 2007 13:43:44 +0200 + -- Michael Vogt Wed, 2 May 2007 13:43:44 +0200 + +apt (0.6.46.4ubuntu10) feisty; urgency=low + + * apt-pkg/depcache.cc: + - added "APT::Never-MarkAuto-Section" and consider dependencies + of packages in this section manual (LP#59893) + - ensure proper permissions in the extended_state file (LP#67037) + * debian/apt.conf.ubuntu: + - added APT::Never-MarkAuto-Section "metapackages" (LP#59893) + * cmdline/apt-get.cc: + - "apt-get install foo" on a already installed package foo will + clean the automatic installed flag (LP#72007) + - do not show packages already marked for removal as auto-installed + (LP#64493) + - applied patch to (optionally) hide the auto-remove information + (thanks to Frode M. Døving) (LP#69148) + + -- Michael Vogt Wed, 14 Mar 2007 13:32:32 +0100 + +apt (0.6.46.4ubuntu9) feisty; urgency=low + + * debian/control: + - set XS-Vcs-Bzr header + - Set Ubuntu maintainer address + * apt-pkg/cdrom.cc: + - only unmount if APT::CDROM::NoMount is false + - only umount if it was mounted by the method before + * cmdline/apt-get.cc: + - fix version output in autoremove list (LP#68941) + * apt-pkg/packagemanager.cc: + - do not spin 100% cpu in FixMissing() (LP#84476) + * apt-pkg/indexfile.cc: + - fix problem overwriting APT::Acquire::Translation + * doc/examples/configure-index: + - document APT::Acquire::Translation + + -- Michael Vogt Tue, 13 Mar 2007 15:24:39 +0100 + +apt (0.6.46.4ubuntu8) feisty; urgency=low + + * fix segfault in the pkgRecords destructor + * Bump ABI version + * debian/control: + - make the libcurl3-gnutls-dev versionized (LP#86614) + + -- Michael Vogt Mon, 26 Feb 2007 14:26:33 +0100 + +apt (0.6.46.4ubuntu7) feisty; urgency=low + + * Merged the apt--mirror branch. This means that a new 'mirror' + method is available that will allow dynamic mirror updates. + The sources.list entry looks something like this: + "deb mirror://mirrors.lp.net/get_mirror feisty main restricted" + + It also supports error reporting to a configurable url for mirror + problems/failures. + * Bump ABI version + + -- Michael Vogt Tue, 6 Feb 2007 11:38:06 +0100 + +apt (0.6.46.4ubuntu6) feisty; urgency=low + + * methods/http.cc: + - send apt version in User-Agent + * apt-pkg/deb/debrecords.cc: + - fix SHA1Hash() return value + * apt-pkg/algorithms.cc: + - fix resolver bug on removal triggered by weak-dependencies + with or-groups + - fix segfault (lp: #76530) + + -- Michael Vogt Wed, 20 Dec 2006 11:04:36 +0100 + +apt (0.6.46.4ubuntu5) feisty; urgency=low + + * added apt-transport-https package to provide a optional + https transport (apt-https spec) + + -- Michael Vogt Tue, 19 Dec 2006 16:23:43 +0100 + +apt (0.6.46.4ubuntu4) feisty; urgency=low + + * apt-pkg/algorithms.cc: + - only increase the score of installed applications if they + are not obsolete + + -- Michael Vogt Mon, 18 Dec 2006 19:39:05 +0100 apt (0.7.0) experimental; urgency=low @@@ -2414,29 -1554,6 +2551,29 @@@ -- Michael Vogt Fri, 12 Jan 2007 20:48:07 +0100 +apt (0.6.46.4ubuntu3) feisty; urgency=low + + * apt-pkg/algorithm.cc: + - use clog for all debugging + * apt-pkg/depcache.cc: + - never mark Required package for autoremoval (lp: #75882) + + -- Michael Vogt Mon, 18 Dec 2006 11:56:05 +0100 + +apt (0.6.46.4ubuntu2) feisty; urgency=low + + * apt-pkg/algorithms.cc: add missing call to MarkKeep + so that dist-upgrade isn't broken by unsatisfiable Breaks. + (thanks to Ian Jackson) + + -- Michael Vogt Thu, 7 Dec 2006 23:07:24 +0100 + +apt (0.6.46.4ubuntu1) feisty; urgency=low + + * merged with debian + + -- Michael Vogt Thu, 7 Dec 2006 12:13:14 +0100 + apt (0.6.46.4-0.1) unstable; urgency=emergency * NMU @@@ -2483,26 -1600,6 +2620,26 @@@ apt (0.6.46.3-0.1) unstable; urgency=hi -- Andreas Barth Tue, 5 Dec 2006 10:34:56 +0000 +apt (0.6.46.3ubuntu2) feisty; urgency=low + + * apt-pkg/algorithms.cc: add missing call to MarkKeep + so that dist-upgrade isn't broken by unsatisfiable Breaks. + + -- Ian Jackson Thu, 7 Dec 2006 15:46:52 +0000 + +apt (0.6.46.3ubuntu1) feisty; urgency=low + + * doc/apt-get.8.xml: + - documented autoremove, thanks to Vladimír Lapá%Gč%@ek + (lp: #62919) + * fix broken i18n in the dpkg progress reporting, thanks to + Frans Pop and Steinar Gunderson. (closes: #389261) + * po/en_GB.po: + - typo (lp: #61270) + * add apt-secure.8 to "See also" section + + -- Michael Vogt Thu, 23 Nov 2006 07:24:12 +0100 + apt (0.6.46.3) unstable; urgency=low * apt-pkg/deb/dpkgpm.cc: @@@ -2567,46 -1664,10 +2704,46 @@@ apt (0.6.46) unstable; urgency=lo * debian/control: - switched to libdb4.4 for building (closes: #381019) * cmdline/apt-get.cc: - - show only the recommends/suggests for the candidate-version, not for all - versions of the package (closes: #257054) - - properly handle recommends/suggests or-groups when printing the list of - suggested/recommends packages (closes: #311619) + - fix in the TryInstallTask() code to make sure that all package + there are marked manual install (lp: #61684) + + -- Michael Vogt Thu, 28 Sep 2006 00:34:20 +0200 + +apt (0.6.45ubuntu14) edgy; urgency=low + + * cmdline/apt-get.cc: + - fix in the TryInstallTask() code to make sure that all package + there are marked manual install (lp: #61684) + + -- Michael Vogt Thu, 28 Sep 2006 00:34:20 +0200 + +apt (0.6.45ubuntu13) edgy; urgency=low + + * no-changes upload to make apt rebuild against latest g++ and + fix synaptic FTBFS (see bug: #62461 for details) + + -- Michael Vogt Tue, 26 Sep 2006 22:33:10 +0200 + +apt (0.6.45ubuntu12) edgy; urgency=low + + * apt-pkg/depcache.cc: + - fix in the sweep() code, set garbage flag for packages scheduled + for removal too + - do not change the autoFlag in MarkKeep(), this can lead to suprising + side effects + + -- Michael Vogt Thu, 21 Sep 2006 00:58:24 +0200 + +apt (0.6.45ubuntu11) edgy; urgency=low + + * removed "installtask" and change it so that tasknames can be given + with "apt-get install taskname^" + * improve the writeStateFile() code + + -- Michael Vogt Wed, 20 Sep 2006 14:14:24 +0200 + +apt (0.6.45ubuntu10) edgy; urgency=low + * methods/http.cc: - check more careful for incorrect proxy settings (closes: #378868) * methods/gzip.cc: @@@ -2631,113 -1692,8 +2768,113 @@@ caseinsensitive (closes: #384182) - reverted MMap use in the tagfile because it does not work across pipes (closes: #383487) + * added "installtask" command + * added new ubuntu specific rewrite rule for "Original-Maintainer" - -- Michael Vogt Thu, 21 Sep 2006 10:25:03 +0200 + -- Michael Vogt Tue, 19 Sep 2006 15:07:51 +0200 + +apt (0.6.45ubuntu9) edgy; urgency=low + + * cmdline/apt-get.cc: + - if --no-remove is given, do not run the AutoRemove code + + -- Michael Vogt Wed, 13 Sep 2006 11:54:20 +0200 + +apt (0.6.45ubuntu8) edgy; urgency=low + + * apt-pkg/algorithm.cc: + - fix pkgProblemResolver.InstallProtect() to preserve the auto-install + information (lp: #59457) + * cmdline/apt-get.cc: + - fix typo in autoremove information (lp: #59420) + * install apt-mark to modify the automatically install information for + packages + + -- Michael Vogt Fri, 8 Sep 2006 20:07:22 +0200 + +apt (0.6.45ubuntu7) edgy; urgency=low + + * apt-pkg/depcache.cc: + - fix a bug in the install-recommends-section code + + -- Michael Vogt Thu, 7 Sep 2006 18:22:38 +0200 + +apt (0.6.45ubuntu6) edgy; urgency=low + + [Michael Vogt] + * cmdline/apt-get.cc: + - always show auto-removable packages and give a hint how to remove + them + * debian/apt.conf.ubuntu: + - exlucde linux-image and linux-restricted-modules from ever being + auto-removed + - added "metapackages" as the section we want to install recommends + by default + * apt-pkg/depcache.cc: + - added support to turn install-recommends selectively on/off by + section + [Ian Jackson] + * Tests pass without code changes! Except that we need this: + * Bump cache file major version to force rebuild so that Breaks + dependencies are included. + * Don't depend on or suggest any particular dpkg or dpkg-dev versions; + --auto-deconfigure is very very old and dpkg-dev's Breaks support + is more or less orthogonal. + * Initial draft of `Breaks' implementation. Appears to compile, + but as yet *completely untested*. + + -- Michael Vogt Thu, 7 Sep 2006 11:50:52 +0200 + +apt (0.6.45ubuntu5) edgy; urgency=low + + * apt-pkg/pkgcachegen.cc: + - increase the APT::Cache-Limit to deal with the increased demand due + to the translated descriptions + * apt-pkg/deb/dpkgpm.cc: + - pass "--auto-deconfigure" to dpkg on install to support the + new "breaks" in dpkg + + -- Michael Vogt Tue, 15 Aug 2006 12:06:26 +0200 + +apt (0.6.45ubuntu4) edgy; urgency=low + + * cmdline/apt-get.cc: + - fix in the new --fix-polciy code + + -- Michael Vogt Mon, 14 Aug 2006 21:08:11 +0200 + +apt (0.6.45ubuntu3) edgy; urgency=low + + * ABI break + * merged latest apt--install-recommends (closes: #559000) + * added "--fix-policy" option to can be used as "--fix-broken" and + will install missing weak depends (recommends, and/or suggests + depending on the settings) + * merged the apt--ddtp branch + + -- Michael Vogt Fri, 11 Aug 2006 12:53:23 +0200 + +apt (0.6.45ubuntu2) edgy; urgency=low + + * debian/control: + - switched to libdb4.4 for building (closes: #381019) + * cmdline/apt-get.cc: + - show only the recommends/suggests for the candidate-version, not for all + versions of the package (closes: #257054) + - properly handle recommends/suggests or-groups when printing the list of + suggested/recommends packages (closes: #311619) + * merged "apt--install-recommends" branch: + - added "{no-}install-recommends" commandline option + - added APT::Install-{Recommends,Suggests} option + - currently Install-Recommends defaults to "False" + + -- Michael Vogt Wed, 9 Aug 2006 23:38:46 +0200 + +apt (0.6.45ubuntu1) edgy; urgency=low + + * merged with debian/unstable + + -- Michael Vogt Tue, 1 Aug 2006 15:43:22 +0200 apt (0.6.45) unstable; urgency=low @@@ -2775,57 -1731,42 +2912,57 @@@ * dz.po: New Dzongkha translation: 512t * ro.po: Updated to 512t * eu.po: Updated - * eu.po: Updated - * fix apt-get dist-upgrade - * fix warning if no /var/lib/apt/extended_states is present - * don't download Translations for deb-src sources.list lines - * apt-pkg/tagfile.cc: - - support not-mmapable files again -- Michael Vogt Thu, 27 Jul 2006 00:52:05 +0200 -apt (0.6.44.2exp1) experimental; urgency=low +apt (0.6.44.2ubuntu4) edgy; urgency=low - * added support for i18n of the package descriptions - * added support for aptitude like auto-install tracking (a HUGE - HUGE thanks to Daniel Burrows who made this possible) - * synced with the http://people.debian.org/~mvo/bzr/apt/debian-sid branch - * build from http://people.debian.org/~mvo/bzr/apt/debian-experimental + * Make apt-get dselect-upgrade happy again - -- Michael Vogt Mon, 3 Jul 2006 21:50:31 +0200 + -- Michael Vogt Fri, 21 Jul 2006 11:03:02 +0200 -apt (0.6.44.2) unstable; urgency=low +apt (0.6.44.2ubuntu3) edgy; urgency=low - * apt-pkg/depcache.cc: - - added Debug::pkgDepCache::AutoInstall (thanks to infinity) - * apt-pkg/acquire-item.cc: - - fix missing chmod() in the new aquire code - (thanks to Bastian Blank, Closes: #367425) - * merged from - http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main: - * sk.po: Completed to 512t - * eu.po: Completed to 512t - * fr.po: Completed to 512t - * sv.po: Completed to 512t - * Update all PO and the POT. Gives 506t6f for formerly - complete translations + * Close extended_states file after writing it. - -- Michael Vogt Wed, 14 Jun 2006 12:00:57 +0200 + -- Colin Watson Tue, 18 Jul 2006 00:12:13 +0100 + +apt (0.6.44.2ubuntu2) edgy; urgency=low + + * create a empty extended_states file if none exists already + + -- Michael Vogt Tue, 4 Jul 2006 09:23:03 +0200 + +apt (0.6.44.2ubuntu1) edgy; urgency=low + + * merged with debian/unstable + * merged the "auto-mark" branch to support aptitude like + marking of automatically installed dependencies and added + "apt-get remove --auto-remove" to remove unused auto-installed + packages again + * changed library version from 3.11 to 3.50 to make it clearly + different from the debian version (we are ABI incompatible because + of the auto-mark patch) + + -- Michael Vogt Mon, 3 Jul 2006 18:30:46 +0200 + +apt (0.6.44.2) unstable; urgency=low + + * apt-pkg/depcache.cc: + - added Debug::pkgDepCache::AutoInstall (thanks to infinity) + * apt-pkg/acquire-item.cc: + - fix missing chmod() in the new aquire code + (thanks to Bastian Blank, Closes: #367425) + * merged from + http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main: + * sk.po: Completed to 512t + * eu.po: Completed to 512t + * fr.po: Completed to 512t + * sv.po: Completed to 512t + * Update all PO and the POT. Gives 506t6f for formerly + complete translations + + -- Michael Vogt Wed, 14 Jun 2006 12:00:57 +0200 apt (0.6.44.1-0.1) unstable; urgency=low @@@ -2887,26 -1828,6 +3024,26 @@@ apt (0.6.44) unstable; urgency=lo -- Michael Vogt Mon, 8 May 2006 22:28:53 +0200 +apt (0.6.43.3ubuntu3) dapper; urgency=low + + * methods/http.cc: + - fix the user-agent string + + -- Michael Vogt Fri, 26 May 2006 18:09:32 +0200 + +apt (0.6.43.3ubuntu2) dapper; urgency=low + + * apt-pkg/deb/dpkgpm.cc: wording fixes (thanks to Matt Zimmerman) + + -- Michael Vogt Tue, 18 Apr 2006 13:24:40 +0200 + +apt (0.6.43.3ubuntu1) dapper; urgency=low + + * apt-pkg/acquire.cc: don't show ETA if it is 0 or absurdely large in + the status-fd (ubuntu #28954) + + -- Michael Vogt Tue, 28 Mar 2006 20:34:46 +0200 + apt (0.6.43.3) unstable; urgency=low * Merge bubulle@debian.org--2005/apt--main--0 up to patch-186: @@@ -2916,46 -1837,16 +3053,46 @@@ * pl.po: Completed to 512t. Closes: #349514 * sk.po: Completed to 512t. Closes: #349474 * gl.po: Completed to 512 strings Closes: #349407 + * vi.po: Completed to 512 strings * sv.po: Completed to 512 strings Closes: #349210 * ru.po: Completed to 512 strings Closes: #349154 * da.po: Completed to 512 strings Closes: #349084 * fr.po: Completed to 512 strings + * LINGUAS: Add Welsh + * *.po: Updated from sources (512 strings) * vi.po: Completed to 511 strings Closes: #348968 - * zh_CN.po: Completed to 512t. Closes: #353936 - * it.po: Completed to 512t. Closes: #352803 - * pt_BR.po: Completed to 512t. Closes: #352419 + * apt-pkg/deb/deblistparser.cc: + - don't explode on a DepCompareOp in a Provides line, but warn about + it and ignore it otherwise (thanks to James Troup for reporting it) + * cmdline/apt-get.cc: + - don't lock the lists directory in DoInstall, breaks --print-uri + (thanks to James Troup for reporting it) + * debian/apt.dirs: create /etc/apt/sources.list.d + * make apt-cache madison work without deb-src entries (#352583) + * cmdline/apt-get.cc: only run the list-cleaner if a update was + successfull + * apt-get update errors are only warnings nowdays + * be more careful with the signature file on network failures + + -- Michael Vogt Wed, 22 Feb 2006 10:13:04 +0100 + +apt (0.6.43.2ubuntu1) dapper; urgency=low + + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-182: + * ca.po: Completed to 512t. Closes: #351592 + * eu.po: Completed to 512t. Closes: #350483 + * ja.po: Completed to 512t. Closes: #349806 + * pl.po: Completed to 512t. Closes: #349514 + * sk.po: Completed to 512t. Closes: #349474 + * gl.po: Completed to 512 strings Closes: #349407 + * vi.po: Completed to 512 strings + * sv.po: Completed to 512 strings Closes: #349210 + * ru.po: Completed to 512 strings Closes: #349154 + * da.po: Completed to 512 strings Closes: #349084 + * fr.po: Completed to 512 strings * LINGUAS: Add Welsh * *.po: Updated from sources (512 strings) + * vi.po: Completed to 511 strings Closes: #348968 * apt-pkg/deb/deblistparser.cc: - don't explode on a DepCompareOp in a Provides line, but warn about it and ignore it otherwise (thanks to James Troup for reporting it) @@@ -2966,10 -1857,8 +3103,10 @@@ * make apt-cache madison work without deb-src entries (#352583) * cmdline/apt-get.cc: only run the list-cleaner if a update was successfull + * apt-get update errors are only warnings nowdays + * be more careful with the signature file on network failures - -- Michael Vogt Wed, 22 Feb 2006 10:13:04 +0100 + -- Michael Vogt Mon, 20 Feb 2006 22:27:48 +0100 apt (0.6.43.2) unstable; urgency=low @@@ -2994,26 -1883,8 +3131,26 @@@ -- Michael Vogt Thu, 19 Jan 2006 00:06:33 +0100 -apt (0.6.43.1) unstable; urgency=low +apt (0.6.43.1ubuntu1) dapper; urgency=low + + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-159: + - en_GB.po, de.po: fix spaces errors in "Ign " translations + Closes: #347258 + - makefile: make update-po a pre-requisite of clean target so + that POT and PO files are always up-to-date + - sv.po: Completed to 511t. Closes: #346450 + - sk.po: Completed to 511t. Closes: #346369 + - fr.po: Completed to 511t + - *.po: Updated from sources (511 strings) + * add patch to fix http download corruption problem (thanks to + Petr Vandrovec, closes: #280844, #290694) + * added APT::Periodic::Unattended-Upgrade (requires the package + "unattended-upgrade") + -- Michael Vogt Tue, 10 Jan 2006 17:09:31 +0100 + +apt (0.6.43.1) unstable; urgency=low + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-148: * fr.po: Completed to 510 strings * it.po: Completed to 510t @@@ -3035,19 -1906,6 +3172,19 @@@ -- Michael Vogt Fri, 6 Jan 2006 01:17:08 +0100 +apt (0.6.43ubuntu2) dapper; urgency=low + + * merged some missing bits that wheren't merged by baz in the previous + upload (*grumble*) + + -- Michael Vogt Thu, 8 Dec 2005 18:35:58 +0100 + +apt (0.6.43ubuntu1) dapper; urgency=low + + * merged with debian + + -- Michael Vogt Fri, 25 Nov 2005 11:36:29 +0100 + apt (0.6.43) unstable; urgency=medium * Merge bubulle@debian.org--2005/apt--main--0 up to patch-132: @@@ -3068,22 -1926,6 +3205,22 @@@ -- Michael Vogt Tue, 29 Nov 2005 00:17:07 +0100 +apt (0.6.42.3ubuntu2) dapper; urgency=low + + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-131: + * zh_CN.po: Completed to 507 strings(Closes: #338267) + * gl.po: Completed to 510 strings (Closes: #338356) + * added support for "/etc/apt/sources.list.d" directory + (closes: #66325) + + -- Michael Vogt Mon, 14 Nov 2005 15:30:12 +0100 + +apt (0.6.42.3ubuntu1) dapper; urgency=low + + * synced with debian + + -- Michael Vogt Thu, 10 Nov 2005 05:05:56 +0100 + apt (0.6.42.3) unstable; urgency=low * Merge bubulle@debian.org--2005/apt--main--0 up to patch-129: @@@ -3131,13 -1973,13 +3268,13 @@@ apt (0.6.42) unstable; urgency=lo - unmount the cdrom when apt failed to locate any package files * allow cdrom failures and fallback to other sources in that case (closes: #44135) - * better error text when dpkg-source fails + * better error text when dpkg-source fails * Merge bubulle@debian.org--2005/apt--main--0 up to patch-115: - patch-99: Added Galician translation - patch-100: Completed Danish translation (Closes: #325686) - patch-104: French translation completed - patch-109: Italian translation completed - - patch-112: Swedish translation update + - patch-112: Swedish translation update - patch-115: Basque translation completed (Closes: #333299) * applied french man-page update (thanks to Philippe Batailler) (closes: #316638, #327456) @@@ -3151,9 -1993,9 +3288,9 @@@ * apt-pkg/contrib/md5.cc: - fix a alignment problem on sparc64 that gives random bus errors (thanks to Fabbione for providing a test-case) - * init the default ScreenWidth to 79 columns by default + * init the default ScreenWidth to 79 columns by default (Closes: #324921) - * cmdline/apt-cdrom.cc: + * cmdline/apt-cdrom.cc: - fix some missing gettext() calls (closes: #334539) * doc/apt-cache.8.xml: fix typo (closes: #334714) @@@ -3164,8 -2006,8 +3301,8 @@@ apt (0.6.41) unstable; urgency=lo * improved the support for "error" and "conffile" reporting from dpkg, added the format to README.progress-reporting * added README.progress-reporting to the apt-doc package - * improved the network timeout handling, if a index file from a - sources.list times out or EAI_AGAIN is returned from getaddrinfo, + * improved the network timeout handling, if a index file from a + sources.list times out or EAI_AGAIN is returned from getaddrinfo, don't try to get the other files from that entry * Support architecture-specific extra overrides (closes: #225947). Thanks to Anthony Towns for idea and @@@ -3173,10 -2015,10 +3310,10 @@@ * Javier Fernandez-Sanguino Pen~a: - Added a first version of an apt-secure.8 manpage, and modified apt-key and apt.end accordingly. Also added the 'update' - argument to apt-key which was previously not documented + argument to apt-key which was previously not documented (Closes: #322120) * Andreas Pakulat: - - added example apt-ftparchive.conf file to doc/examples + - added example apt-ftparchive.conf file to doc/examples (closes: #322483) * Fix a incorrect example in the man-page (closes: #282918) * Fix a bug for very long lines in the apt-cdrom code (closes: #280356) @@@ -3185,84 -2027,10 +3322,84 @@@ * Change pkgPolicy::Pin from private to protected to let subclasses access it too (closes: #321799) * add default constructor for PrvIterator (closes: #322267) - * Reread status configuration on debSystem::Initialize() + * Reread status configuration on debSystem::Initialize() (needed for apt-proxy, thanks to Otavio for this patch) - + -- Michael Vogt Mon, 5 Sep 2005 22:59:03 +0200 + +apt (0.6.40.1ubuntu8) breezy; urgency=low + + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-62: + - fix for a bad memory/file leak in the mmap code (ubuntu #15603) + * po/de.po, po/fr.po: + - updated the translations + * po/makefile: + - create a single pot file in each domain dir to make rosetta happy + + -- Michael Vogt Wed, 28 Sep 2005 10:16:06 +0200 + +apt (0.6.40.1ubuntu7) breezy; urgency=low + + * updated the pot/po files , no code changes + + -- Michael Vogt Tue, 27 Sep 2005 18:38:16 +0200 + +apt (0.6.40.1ubuntu6) breezy; urgency=low + + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-56: + - make it possible for apt to handle a failed MediaChange event and + fall back to other sources (ubuntu #13713) + + -- Michael Vogt Tue, 13 Sep 2005 22:09:50 +0200 + +apt (0.6.40.1ubuntu5) breezy; urgency=low + + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-{50,51}. + This adds media-change reporting to the apt status-fd (ubuntu #15213) + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-55: + apt-pkg/cdrom.cc: + - unmount the cdrom when apt failed to locate any package files + + -- Michael Vogt Mon, 12 Sep 2005 15:44:26 +0200 + +apt (0.6.40.1ubuntu4) breezy; urgency=low + + * debian/apt.cron.daily: + - fix a embarrassing typo + + -- Michael Vogt Wed, 7 Sep 2005 10:10:37 +0200 + +apt (0.6.40.1ubuntu3) breezy; urgency=low + + * debian/apt.cron.daily: + - use the ctime as well when figuring what packages need to + be removed. This fixes the problem that packages copied with + "cp -a" (e.g. from the installer) have old mtimes (ubuntu #14504) + + -- Michael Vogt Tue, 6 Sep 2005 18:30:46 +0200 + +apt (0.6.40.1ubuntu2) breezy; urgency=low + + * improved the support for "error" and "conffile" reporting from + dpkg, added the format to README.progress-reporting + * added README.progress-reporting to the apt-doc package + * Do md5sum checking for file and cdrom method (closes: #319142) + * Change pkgPolicy::Pin from private to protected to let subclasses + access it too (closes: #321799) + * methods/connect.cc: + - send failure reason for EAI_AGAIN (TmpResolveFailure) to acuire-item + * apt-pkg/acquire-item.cc: + - fail early if a FailReason is TmpResolveFailure (avoids hangs during + the install when no network is available) + * merged michael.vogt@ubuntu.com--2005/apt--trust-cdrom--0 + + -- Michael Vogt Tue, 23 Aug 2005 19:44:55 +0200 + +apt (0.6.40.1ubuntu1) breezy; urgency=low + + * Synchronize with Debian + + -- Michael Vogt Fri, 5 Aug 2005 14:20:56 +0200 apt (0.6.40.1) unstable; urgency=low @@@ -3273,12 -2041,6 +3410,12 @@@ -- Michael Vogt Fri, 5 Aug 2005 13:24:58 +0200 +apt (0.6.40ubuntu1) breezy; urgency=low + + * Synchronize with Debian + + -- Matt Zimmerman Thu, 4 Aug 2005 15:53:22 -0700 + apt (0.6.40) unstable; urgency=low * Patch from Jordi Mallach to mark some additional strings for translation @@@ -3294,39 -2056,6 +3431,39 @@@ -- Matt Zimmerman Thu, 28 Jul 2005 11:57:32 -0700 +apt (0.6.39ubuntu4) breezy; urgency=low + + * Fix keyring paths in apt-key, apt.postinst (I swear I remember doing this + before...) + + -- Matt Zimmerman Wed, 29 Jun 2005 08:39:17 -0700 + +apt (0.6.39ubuntu3) breezy; urgency=low + + * Fix keyring locations for Ubuntu in apt-key too. + + -- Colin Watson Wed, 29 Jun 2005 14:45:36 +0100 + +apt (0.6.39ubuntu2) breezy; urgency=low + + * Install ubuntu-archive.gpg rather than debian-archive.gpg as + /etc/apt/trusted.gpg. + + -- Colin Watson Wed, 29 Jun 2005 11:53:34 +0100 + +apt (0.6.39ubuntu1) breezy; urgency=low + + * Michael Vogt + - Change debian/bugscript to use #!/bin/bash (Closes: #313402) + - Fix a incorrect example in the man-page (closes: #282918) + - Support architecture-specific extra overrides + (closes: #225947). Thanks to Anthony Towns for idea and + the patch, thanks to Colin Watson for testing it. + - better report network timeouts from the methods to the acuire code, + only timeout once per sources.list line + + -- Matt Zimmerman Tue, 28 Jun 2005 11:52:24 -0700 + apt (0.6.39) unstable; urgency=low * Welsh translation update: daf@muse.19inch.net--2005/apt--main--0--patch-6 @@@ -3337,14 -2066,7 +3474,14 @@@ * Update priority of apt-utils to important, to match the override file * Install only one keyring on each branch (Closes: #316119) - -- Matt Zimmerman Tue, 28 Jun 2005 11:51:09 -0700 + -- Matt Zimmerman Tue, 28 Jun 2005 11:35:21 -0700 + +apt (0.6.38ubuntu1) breezy; urgency=low + + * First release from Ubuntu branch + * Merge with --main--0, switch back to Ubuntu keyring + + -- Matt Zimmerman Sat, 25 Jun 2005 16:52:41 -0700 apt (0.6.38) unstable; urgency=low diff --combined debian/control index 9d15d2133,d756871d1..0ba851dc2 --- a/debian/control +++ b/debian/control @@@ -1,22 -1,19 +1,21 @@@ Source: apt Section: admin Priority: important -Maintainer: APT Development Team +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: APT Development Team Uploaders: Michael Vogt , Otavio Salvador , Christian Perrier , Daniel Burrows , Luca Bruno , Julian Andres Klode Standards-Version: 3.8.3 -Build-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 -Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/ +Build-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 +Vcs-Bzr: http://code.launchpad.net/~ubuntu-core-dev/apt/ubuntu Package: apt Architecture: any - Depends: ${shlibs:Depends} - Priority: important -Depends: ${shlibs:Depends}, debian-archive-keyring, ${misc:Depends} ++Depends: ${shlibs:Depends}, ${misc:Depends} Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7) Provides: ${libapt-pkg:provides} +Recommends: ubuntu-keyring Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt Description: Advanced front-end for dpkg This is Debian's next generation front-end for the dpkg package manager. @@@ -29,6 -26,7 +28,7 @@@ Package: apt-doc Architecture: all Priority: optional + Depends: ${misc:Depends} Replaces: apt (<< 0.5.4.9) Section: doc Description: Documentation for APT @@@ -38,7 -36,7 +38,7 @@@ Package: libapt-pkg-dev Architecture: any Priority: optional - Depends: apt (= ${binary:Version}), apt-utils (= ${binary:Version}), ${libapt-pkg:provides}, ${libapt-inst:provides} + Depends: apt (= ${binary:Version}), apt-utils (= ${binary:Version}), ${libapt-pkg:provides}, ${libapt-inst:provides}, ${misc:Depends} Section: libdevel Description: Development files for APT's libapt-pkg and libapt-inst This package contains the header files and libraries for @@@ -48,6 -46,7 +48,7 @@@ Package: libapt-pkg-doc Architecture: all Priority: optional + Depends: ${misc:Depends} Section: doc Description: Documentation for APT development This package contains documentation for development of the APT @@@ -55,7 -54,7 +56,7 @@@ Package: apt-utils Architecture: any - Depends: ${shlibs:Depends} + Depends: ${shlibs:Depends}, ${misc:Depends} Provides: ${libapt-inst:provides} Replaces: apt (<< 0.5.9) Description: APT utility programs @@@ -68,7 -67,7 +69,7 @@@ Package: apt-transport-https Architecture: any - Depends: ${shlibs:Depends} + Depends: ${shlibs:Depends}, ${misc:Depends} Priority: optional Description: APT https transport This package contains a APT https transport. It makes it possible to diff --combined doc/examples/configure-index index 93f28ce74,233fa2b7d..1dd11a5b4 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@@ -90,11 -90,6 +90,6 @@@ AP TrustCDROM "false"; // consider the CDROM always trusted }; - GPGV - { - TrustedKeyring "/etc/apt/trusted.gpg"; - }; - // Some general options Ignore-Hold "false"; Clean-Installed "true"; @@@ -108,9 -103,6 +103,9 @@@ Install-Recommends "true"; Install-Suggests "false"; + // install recommends automatically for packages in this section + Install-Recommends-Section { "metapackages"; "universe/metapackages"; }; + // consider dependencies of packages in this section manual Never-MarkAuto-Sections {"metapackages"; "universe/metapackages"; }; @@@ -179,7 -171,10 +174,10 @@@ Acquir Source-Symlinks "true"; PDiffs "true"; // try to get the IndexFile diffs - + PDiffs::FileLimit "4"; // don't use diffs if we would need more than 4 diffs + PDiffs::SizeLimit "50"; // don't use diffs if size of all patches excess + // 50% of the size of the original file + // HTTP method configuration http { @@@ -272,17 -267,6 +270,17 @@@ Options {"--ignore-time-conflict";} // not very useful on a normal system }; + mirror + { + RefreshInterval "360"; // refresh interval in minutes + MaxAge "90"; // max age for a mirror file in days before + // it gets deleted + // mirror failure reporting script + ProblemReporting "/usr/lib/apt/apt-report-mirror-failure"; + // mirror failure reporting url + ReportFailures "http://example.com/mirror-failure"; + }; + CompressionTypes { bz2 "bzip2"; @@@ -304,7 -288,6 +302,7 @@@ Dir "/ userstatus "status.user"; status "/var/lib/dpkg/status"; cdroms "cdroms.list"; + mirrors "mirrors/"; }; // Location of the cache dir @@@ -327,6 -310,8 +325,8 @@@ SourceParts "sources.list.d"; VendorList "vendors.list"; VendorParts "vendors.list.d"; + Trusted "trusted.gpg"; + TrustedParts "trusted.gpg.d"; }; // Locations of binaries @@@ -353,6 -338,13 +353,13 @@@ // Media AutoDetect mount path MountPath "/media/apt"; }; + + // Media + Media + { + // Media AutoDetect mount path + MountPath "/media/apt"; + }; }; // Things that effect the APT dselect method @@@ -410,6 -402,7 +417,7 @@@ Debu pkgProblemResolver::ShowScores "false"; pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies pkgDepCache::Marker "false"; + pkgCacheGen "false"; pkgAcquire "false"; pkgAcquire::Worker "false"; pkgAcquire::Auth "false"; @@@ -424,10 -417,10 +432,10 @@@ Acquire::Http "false"; // Show http command traffic Acquire::Https "false"; // Show https debug Acquire::gpgv "false"; // Show the gpgv traffic + Acquire::Mirror "false"; // Show debugging of the mirror method aptcdrom "false"; // Show found package files IdentCdrom "false"; acquire::netrc "false"; // netrc parser - } /* Whatever you do, do not use this configuration file!! Take out ONLY diff --combined methods/http.cc index 45804656d,b05444691..904030e0a --- a/methods/http.cc +++ b/methods/http.cc @@@ -734,7 -734,7 +734,7 @@@ void HttpMethod::SendReq(FetchItem *Itm Base64Encode(Uri.User + ":" + Uri.Password) + "\r\n"; } Req += "User-Agent: " + _config->Find("Acquire::http::User-Agent", - "Debian APT-HTTP/1.3 ("VERSION")") + "\r\n\r\n"; + "Ubuntu APT-HTTP/1.3 ("VERSION")") + "\r\n\r\n"; if (Debug == true) cerr << Req << endl; @@@ -958,9 -958,6 +958,9 @@@ int HttpMethod::DealWithHeaders(FetchRe failure */ if (Srv->Result < 200 || Srv->Result >= 300) { + char err[255]; + snprintf(err,sizeof(err)-1,"HttpError%i",Srv->Result); + SetFailReason(err); _error->Error("%u %s",Srv->Result,Srv->Code); if (Srv->HaveContent == true) return 4; @@@ -1037,7 -1034,7 +1037,7 @@@ void HttpMethod::SigTerm(int depth. */ bool HttpMethod::Fetch(FetchItem *) { - if (Server == 0) + if (Server == 0) return true; // Queue the requests @@@ -1076,7 -1073,11 +1076,11 @@@ bool HttpMethod::Configuration(string M PipelineDepth = _config->FindI("Acquire::http::Pipeline-Depth", PipelineDepth); Debug = _config->FindB("Debug::Acquire::http",false); - + AutoDetectProxyCmd = _config->Find("Acquire::http::ProxyAutoDetect"); + + // Get the proxy to use + AutoDetectProxy(); + return true; } /*}}}*/ @@@ -1326,5 -1327,59 +1330,48 @@@ int HttpMethod::Loop( return 0; } /*}}}*/ + // HttpMethod::AutoDetectProxy - auto detect proxy /*{{{*/ + // --------------------------------------------------------------------- + /* */ + bool HttpMethod::AutoDetectProxy() + { + if (AutoDetectProxyCmd.empty()) + return true; + + if (Debug) + clog << "Using auto proxy detect command: " << AutoDetectProxyCmd << endl; + + int Pipes[2] = {-1,-1}; + if (pipe(Pipes) != 0) + return _error->Errno("pipe", "Failed to create Pipe"); + + pid_t Process = ExecFork(); + if (Process == 0) + { + dup2(Pipes[1],STDOUT_FILENO); + SetCloseExec(STDOUT_FILENO,false); + + const char *Args[2]; + Args[0] = AutoDetectProxyCmd.c_str(); + Args[1] = 0; + execv(Args[0],(char **)Args); + cerr << "Failed to exec method " << Args[0] << endl; + _exit(100); + } + char buf[512]; + int InFd = Pipes[0]; + if (read(InFd, buf, sizeof(buf)) < 0) + return _error->Errno("read", "Failed to read"); + ExecWait(Process, "ProxyAutoDetect"); + + if (Debug) + clog << "auto detect command returned: '" << buf << "'" << endl; + + if (strstr(buf, "http://") == buf) + _config->Set("Acquire::http::proxy", _strstrip(buf)); + + return true; + } + /*}}}*/ -int main() -{ - setlocale(LC_ALL, ""); - // ignore SIGPIPE, this can happen on write() if the socket - // closes the connection (this is dealt with via ServerDie()) - signal(SIGPIPE, SIG_IGN); - - HttpMethod Mth; - return Mth.Loop(); -} - diff --combined methods/http.h index bc076e1f8,ceee36cbe..bac94e177 --- a/methods/http.h +++ b/methods/http.h @@@ -13,7 -13,7 +13,7 @@@ #define MAXLEN 360 -#include + using std::cout; using std::endl; @@@ -134,7 -134,9 +134,8 @@@ class HttpMethod : public pkgAcqMetho bool Flush(ServerState *Srv); bool ServerDie(ServerState *Srv); int DealWithHeaders(FetchResult &Res,ServerState *Srv); + bool AutoDetectProxy(); - virtual bool Fetch(FetchItem *); virtual bool Configuration(string Message); // In the event of a fatal signal this file will be closed and timestamped. @@@ -142,11 -144,9 +143,12 @@@ static int FailFd; static time_t FailTime; static void SigTerm(int); + + protected: + virtual bool Fetch(FetchItem *); string NextURI; + string AutoDetectProxyCmd; public: friend class ServerState;