diff -r 9435b9008a58 -r 934f9131337b releasing/blocks/cclient/patches/linux/apt-ftp-archive-ret.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/releasing/blocks/cclient/patches/linux/apt-ftp-archive-ret.patch Thu Sep 02 15:02:14 2010 +0800 @@ -0,0 +1,245 @@ +*** apt-0.7.20.2/apt-pkg/contrib/error.cc 2009-02-07 17:09:35.000000000 +0200 +--- apt-0.7.20.2-rhel/apt-pkg/contrib/error.cc 2010-01-08 20:16:34.000000000 +0200 +*************** +*** 205,210 **** +--- 205,226 ---- + cerr << "W: " << Err << endl; + } + } ++ ++ string GlobalError::GetErrorDump() ++ { ++ string err; ++ Item *item = List; ++ while (item) ++ { ++ if (item->Error) ++ err += "E: "; ++ else ++ err += "W: "; ++ err += item->Text + "\n"; ++ item = item->Next; ++ } ++ return err; ++ } + /*}}}*/ + // GlobalError::Discard - Discard /*{{{*/ + // --------------------------------------------------------------------- +*** apt-0.7.20.2/apt-pkg/contrib/error.h 2009-02-07 17:09:35.000000000 +0200 +--- apt-0.7.20.2-rhel/apt-pkg/contrib/error.h 2010-01-08 20:16:35.000000000 +0200 +*************** +*** 87,92 **** +--- 87,93 ---- + + // Usefull routine to dump to cerr + void DumpErrors(); ++ string GetErrorDump(); + + GlobalError(); + }; +*** apt-0.7.20.2/ftparchive/apt-ftparchive.cc 2009-02-07 17:09:35.000000000 +0200 +--- apt-0.7.20.2-rhel/ftparchive/apt-ftparchive.cc 2010-01-08 20:16:59.000000000 +0200 +*************** +*** 729,739 **** + if (CmdL.FileSize() <= 2) + { + for (vector::iterator I = PkgList.begin(); I != PkgList.end(); I++) +! if (I->GenPackages(Setup,Stats) == false) +! _error->DumpErrors(); + for (vector::iterator I = PkgList.begin(); I != PkgList.end(); I++) +! if (I->GenSources(Setup,SrcStats) == false) +! _error->DumpErrors(); + } + else + { +--- 729,737 ---- + if (CmdL.FileSize() <= 2) + { + for (vector::iterator I = PkgList.begin(); I != PkgList.end(); I++) +! I->GenPackages(Setup,Stats); + for (vector::iterator I = PkgList.begin(); I != PkgList.end(); I++) +! I->GenSources(Setup,SrcStats); + } + else + { +*************** +*** 758,764 **** + delete [] List; + return _error->Error(_("No selections matched")); + } +- _error->DumpErrors(); + + // Do the generation for Packages + for (End = List; End->Str != 0; End++) +--- 756,761 ---- +*************** +*** 769,776 **** + PackageMap *I = (PackageMap *)End->UserData; + if (I->PkgDone == true) + continue; +! if (I->GenPackages(Setup,Stats) == false) +! _error->DumpErrors(); + } + + // Do the generation for Sources +--- 766,772 ---- + PackageMap *I = (PackageMap *)End->UserData; + if (I->PkgDone == true) + continue; +! I->GenPackages(Setup,Stats); + } + + // Do the generation for Sources +*************** +*** 782,789 **** + PackageMap *I = (PackageMap *)End->UserData; + if (I->SrcDone == true) + continue; +! if (I->GenSources(Setup,SrcStats) == false) +! _error->DumpErrors(); + } + + delete [] List; +--- 778,784 ---- + PackageMap *I = (PackageMap *)End->UserData; + if (I->SrcDone == true) + continue; +! I->GenSources(Setup,SrcStats); + } + + delete [] List; +*************** +*** 837,845 **** + continue; + } + +! if (I->GenContents(Setup,PkgList.begin(),PkgList.end(), +! MaxContentsChange) == false) +! _error->DumpErrors(); + + // Hit the limit? + if (MaxContentsChange == 0) +--- 832,838 ---- + continue; + } + +! I->GenContents(Setup,PkgList.begin(),PkgList.end(), MaxContentsChange); + + // Hit the limit? + if (MaxContentsChange == 0) +*************** +*** 885,892 **** + { + c0out << I->BinCacheDB << endl; + CacheDB DB(flCombine(CacheDir,I->BinCacheDB)); +! if (DB.Clean() == false) +! _error->DumpErrors(); + + string CacheDB = I->BinCacheDB; + for (; I != PkgList.end() && I->BinCacheDB == CacheDB; I++); +--- 878,884 ---- + { + c0out << I->BinCacheDB << endl; + CacheDB DB(flCombine(CacheDir,I->BinCacheDB)); +! DB.Clean(); + + string CacheDB = I->BinCacheDB; + for (; I != PkgList.end() && I->BinCacheDB == CacheDB; I++); +*************** +*** 955,961 **** + { + bool Errors = _error->PendingError(); + _error->DumpErrors(); +! return Errors == true?100:0; + } + return 0; + } +--- 947,953 ---- + { + bool Errors = _error->PendingError(); + _error->DumpErrors(); +! return Errors == true ? 100 : 0; + } + return 0; + } +*** apt-0.7.20.2/ftparchive/multicompress.cc 2009-02-07 17:09:35.000000000 +0200 +--- apt-0.7.20.2-rhel/ftparchive/multicompress.cc 2010-01-08 20:16:59.000000000 +0200 +*************** +*** 178,184 **** + Child(Pipe[0]); + if (_error->PendingError() == true) + { +- _error->DumpErrors(); + _exit(100); + } + _exit(0); +--- 178,183 ---- +*** apt-0.7.20.2/ftparchive/writer.cc 2009-02-07 17:09:35.000000000 +0200 +--- apt-0.7.20.2-rhel/ftparchive/writer.cc 2010-01-08 20:17:00.000000000 +0200 +*************** +*** 118,145 **** + else + Owner->DoPackage(File); + +! if (_error->empty() == false) + { +! // Print any errors or warnings found +! string Err; +! bool SeenPath = false; +! while (_error->empty() == false) +! { +! Owner->NewLine(1); +! +! bool Type = _error->PopMessage(Err); +! if (Type == true) +! cerr << _("E: ") << Err << endl; +! else +! cerr << _("W: ") << Err << endl; +! +! if (Err.find(File) != string::npos) +! SeenPath = true; +! } +! +! if (SeenPath == false) +! cerr << _("E: Errors apply to file ") << "'" << File << "'" << endl; +! return 0; + } + + return 0; +--- 118,132 ---- + else + Owner->DoPackage(File); + +! if (!_error->empty()) + { +! Owner->NewLine(1); // is this needed? +! +! // HH: Show which file is involved in error if it's not found +! // from previous errors +! string errdump = _error->GetErrorDump(); +! if (errdump.find(File) == string::npos) +! _error->Error("Errors apply to file '%s'", File); + } + + return 0; +*************** +*** 320,327 **** + + if (ExtOverrides.empty() == false) + Over.ReadExtraOverride(ExtOverrides); +- +- _error->DumpErrors(); + } + /*}}}*/ + // FTWScanner::SetExts - Set extensions to support /*{{{*/ +--- 307,312 ---- +*************** +*** 794,800 **** + if (_error->empty() == false) + { + _error->Error("Errors apply to file '%s'",File.c_str()); +- _error->DumpErrors(); + } + } + +--- 779,784 ----