rendered paste body--------------------------------------------------------------------------------Profile data file '/root/callgrind.out.1583' (creator: callgrind-3.6.0)--------------------------------------------------------------------------------I1 cache: D1 cache: LL cache: Timerange: Basic block 0 - 1217828861Trigger: Program terminationProfiled target: /usr/bin/apt-get check (PID 1583, part 1)Events recorded: IrEvents shown: IrEvent sort order: IrThresholds: 99Include dirs: User annotated: Auto-annotation: on-------------------------------------------------------------------------------- Ir --------------------------------------------------------------------------------5,081,557,078 PROGRAM TOTALS-------------------------------------------------------------------------------- Ir file:function--------------------------------------------------------------------------------5,068,315,809 /home/mandrake/rpm/BUILD/glibc-2.12.1/csu/../sysdeps/i386/elf/start.S:0x0804e430 [/usr/bin/apt-get]5,068,308,210 ???:(below main) [/lib/i686/libc-2.12.1.so]5,067,737,060 /home/agrr/apt-rpm/cmdline/apt-get.cc:main5,067,737,058 cmdline/apt-get.cc:main [/usr/bin/apt-get]5,018,068,649 /home/agrr/apt-rpm/apt-pkg/contrib/cmndline.cc:CommandLine::DispatchArg(CommandLine::Dispatch*, bool)5,018,068,649 apt-pkg/contrib/cmndline.cc:CommandLine::DispatchArg(CommandLine::Dispatch*, bool) [/usr/lib/libapt-pkg.so.4.0.0]5,018,060,970 /home/agrr/apt-rpm/cmdline/apt-get.cc:DoCheck(CommandLine&)5,018,051,579 cmdline/apt-get.cc:DoCheck(CommandLine&) [/usr/bin/apt-get]4,961,954,193 /home/agrr/apt-rpm/apt-pkg/cachefile.cc:pkgCacheFile::Open(OpProgress&, bool)4,961,954,046 apt-pkg/cachefile.cc:pkgCacheFile::Open(OpProgress&, bool) [/usr/lib/libapt-pkg.so.4.0.0]2,833,757,947 apt-pkg/cachefile.cc:pkgCacheFile::BuildCaches(OpProgress&, bool) [/usr/lib/libapt-pkg.so.4.0.0]2,787,906,094 /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgMakeStatusCache(pkgSourceList&, OpProgress&, MMap**, bool)2,787,896,930 apt-pkg/pkgcachegen.cc:pkgMakeStatusCache(pkgSourceList&, OpProgress&, MMap**, bool) [/usr/lib/libapt-pkg.so.4.0.0]2,637,994,003 apt-pkg/pkgcachegen.cc:BuildCache(pkgCacheGenerator&, OpProgress&, unsigned long&, unsigned long, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >) [/usr/lib/libapt-pkg.so.4.0.0]2,637,588,831 /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::MergeList(pkgCacheGenerator::ListParser&, pkgCache::VerIterator*)2,630,876,013 apt-pkg/pkgcachegen.cc:pkgCacheGenerator::MergeList(pkgCacheGenerator::ListParser&, pkgCache::VerIterator*) [/usr/lib/libapt-pkg.so.4.0.0]2,126,621,293 /home/agrr/apt-rpm/apt-pkg/depcache.cc:pkgDepCache::Init(OpProgress*)2,119,781,086 apt-pkg/depcache.cc:pkgDepCache::Init(OpProgress*) [/usr/lib/libapt-pkg.so.4.0.0]2,104,085,474 apt-pkg/depcache.cc:pkgDepCache::Update(OpProgress*) [/usr/lib/libapt-pkg.so.4.0.0]2,075,550,392 apt-pkg/depcache.cc:pkgDepCache::DependencyState(pkgCache::DepIterator&) [/usr/lib/libapt-pkg.so.4.0.0]2,069,974,247 apt-pkg/../include/apt-pkg/depcache.h:pkgDepCache::DependencyState(pkgCache::DepIterator&)2,067,214,706 /home/agrr/apt-rpm/apt-pkg/depcache.cc:pkgDepCache::CheckDep(pkgCache::DepIterator, int, pkgCache::PkgIterator&)2,050,810,593 apt-pkg/depcache.cc:pkgDepCache::CheckDep(pkgCache::DepIterator, int, pkgCache::PkgIterator&) [/usr/lib/libapt-pkg.so.4.0.0]1,990,281,481 /home/agrr/apt-rpm/apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::CheckDep(char const*, pkgCache::DepIterator)1,989,557,047 apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::CheckDep(char const*, pkgCache::DepIterator) [/usr/lib/libapt-pkg.so.4.0.0]1,984,383,500 apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::CheckDep(char const*, int, char const*) [/usr/lib/libapt-pkg.so.4.0.0]1,927,612,011 /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmUrpmPkgIndex::Merge(pkgCacheGenerator&, OpProgress&) const1,927,607,657 apt-pkg/rpm/rpmindexfile.cc:rpmUrpmPkgIndex::Merge(pkgCacheGenerator&, OpProgress&) const [/usr/lib/libapt-pkg.so.4.0.0]1,308,745,005 ???:rpmdsSingle [/usr/lib/librpm-5.3.so]1,274,344,333 /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::VersionHash()1,218,034,937 apt-pkg/rpm/rpmlistparser.cc:rpmListParser::VersionHash() [/usr/lib/libapt-pkg.so.4.0.0] 954,168,775 ???:rpmdsNewDNEVR [/usr/lib/librpm-5.3.so] 877,686,141 /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::NewVersion(pkgCache::VerIterator) 860,670,730 ???:malloc [/lib/i686/libc-2.12.1.so] 855,609,995 apt-pkg/rpm/rpmlistparser.cc:rpmListParser::NewVersion(pkgCache::VerIterator) [/usr/lib/libapt-pkg.so.4.0.0] 795,406,426 apt-pkg/rpm/rpmhandler.cc:RPMHandler::PutDep(char const*, char const*, evrFlags_e, unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) [/usr/lib/libapt-pkg.so.4.0.0] 786,631,588 ???:_int_malloc [/lib/i686/libc-2.12.1.so] 731,898,665 ???:0x0002fcf0 [/usr/lib/librpm-5.3.so] 710,244,953 /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::Merge(pkgCacheGenerator&, OpProgress&) const 710,244,829 apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::Merge(pkgCacheGenerator&, OpProgress&) const [/usr/lib/libapt-pkg.so.4.0.0] 707,337,298 ???:rpmnsParse [/usr/lib/librpmdb-5.3.so] 704,448,432 ???:msort_with_tmp'2 [/lib/i686/libc-2.12.1.so] 702,212,815 /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) 637,952,073 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) [/usr/lib/libapt-pkg.so.4.0.0] 598,741,493 ???:rpmExpand [/usr/lib/librpmio-5.3.so] 584,555,198 apt-pkg/rpm/rpmhandler.cc:RPMHdrHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) [/usr/lib/libapt-pkg.so.4.0.0] 584,555,198 /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMHdrHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) 512,097,577 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::tokenize(std::string, std::string*, int, std::string&) [/usr/lib/libapt-pkg.so.4.0.0] 510,382,546 apt-pkg/rpm/rpmhandler.cc:RPMHandler::InternalDep(char const*, char const*, evrFlags_e) [/usr/lib/libapt-pkg.so.4.0.0] 505,921,748 ???:free [/lib/i686/libc-2.12.1.so] 501,433,594 /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:RPMUrpmHandler::tokenize(std::string, std::string*, int, std::string&) 496,780,324 ???:rpmioFreePoolItem [/usr/lib/librpmio-5.3.so] 465,421,147 ???:rpmdsRpmlib [/usr/lib/librpm-5.3.so] 461,081,845 /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMHandler::EVR() 450,460,686 apt-pkg/rpm/rpmlistparser.cc:rpmListParser::ParseDepends(pkgCache::VerIterator, unsigned int) [/usr/lib/libapt-pkg.so.4.0.0] 435,831,047 apt-pkg/rpm/rpmhandler.cc:RPMHandler::EVR() [/usr/lib/libapt-pkg.so.4.0.0] 427,295,464 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::parsePkgName(std::string, RPMUrpmHandler::infoToken) [/usr/lib/libapt-pkg.so.4.0.0] 365,188,888 ???:rpmdsCompare [/usr/lib/librpm-5.3.so] 334,567,719 ???:_int_free [/lib/i686/libc-2.12.1.so] 314,643,278 ???:0x0002fb90 [/usr/lib/librpm-5.3.so] 306,558,084 ???:std::string::find_first_of(char const*, unsigned int, unsigned int) const [/usr/lib/libstdc++.so.6.0.14] 298,429,520 apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Version() [/usr/lib/libapt-pkg.so.4.0.0] 288,834,511 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::ParseDepends(char const*, char const*, std::string&, std::string&, std::string&) [/usr/lib/libapt-pkg.so.4.0.0] 283,673,517 ???:operator new(unsigned int) [/usr/lib/libstdc++.so.6.0.14] 279,779,051 ???:rpmdsMerge [/usr/lib/librpm-5.3.so] 265,781,622 ???:std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) [/usr/lib/libstdc++.so.6.0.14] 265,330,009 apt-pkg/rpm/rpmlistparser.cc:rpmListParser::ParseProvides(pkgCache::VerIterator) [/usr/lib/libapt-pkg.so.4.0.0] 258,177,330 /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Step() 246,454,381 apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Step() [/usr/lib/libapt-pkg.so.4.0.0] 239,869,279 ???:0x00011680'2 [/lib/libpcre.so.0.0.1] 230,769,299 ???:operator delete(void*) [/usr/lib/libstdc++.so.6.0.14] 227,104,459 ???:memchr [/lib/i686/libc-2.12.1.so] 218,502,098 /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Arch() 210,752,592 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Arch() [/usr/lib/libapt-pkg.so.4.0.0] 203,989,254 ???:std::string::_Rep::_M_destroy(std::allocator<char> const&) [/usr/lib/libstdc++.so.6.0.14] 196,600,490 ???:std::string::assign(char const*, unsigned int) [/usr/lib/libstdc++.so.6.0.14] 179,155,763 ???:__strlen_sse2 [/lib/i686/libc-2.12.1.so] 178,632,883 ???:calloc [/lib/i686/libc-2.12.1.so] 175,759,545 ???:yarnTwist [/usr/lib/librpmio-5.3.so] 168,444,821 /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Version() 166,030,596 ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned int, unsigned int) [/usr/lib/libstdc++.so.6.0.14] 162,615,222 /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:RPMHandler::PutDep(char const*, char const*, evrFlags_e, unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) 161,508,140 ???:rpmdsNext [/usr/lib/librpm-5.3.so] 153,376,352 ???:std::string::_M_replace_safe(unsigned int, unsigned int, char const*, unsigned int) [/usr/lib/libstdc++.so.6.0.14] 146,524,412 apt-pkg/pkgcachegen.cc:CollectFileProvides(pkgCacheGenerator&, OpProgress&, unsigned long&, unsigned long, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >) [/usr/lib/libapt-pkg.so.4.0.0] 146,054,908 /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::MergeFileProvides(pkgCacheGenerator::ListParser&) 145,003,214 ???:qsort [/lib/i686/libc-2.12.1.so] 144,969,014 ???:qsort_r [/lib/i686/libc-2.12.1.so] 143,920,918 ???:msort_with_tmp [/lib/i686/libc-2.12.1.so] 141,589,200 ???:expandMacros [/usr/lib/librpmio-5.3.so] 140,428,799 apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Architecture() [/usr/lib/libapt-pkg.so.4.0.0] 140,289,730 apt-pkg/pkgcachegen.cc:pkgCacheGenerator::MergeFileProvides(pkgCacheGenerator::ListParser&) [/usr/lib/libapt-pkg.so.4.0.0] 135,356,176 ???:std::string::_M_mutate(unsigned int, unsigned int, unsigned int) [/usr/lib/libstdc++.so.6.0.14] 134,293,423 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Version() [/usr/lib/libapt-pkg.so.4.0.0] 133,331,068 ???:rpmEVRparse [/usr/lib/librpmdb-5.3.so] 133,299,523 /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.tcc:char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) [/usr/bin/apt-get] 132,994,858 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Release() [/usr/lib/libapt-pkg.so.4.0.0] 129,831,318 ???:rpmioPutPool [/usr/lib/librpmio-5.3.so] 129,110,947 /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindS(char const*) const 121,281,186 ???:malloc_consolidate [/lib/i686/libc-2.12.1.so] 120,542,265 ???:0x0002fa80 [/usr/lib/librpm-5.3.so] 119,034,416 ???:0x0002f800 [/usr/lib/librpm-5.3.so] 118,861,458 ???:rpmmiNext [/usr/lib/librpmdb-5.3.so] 113,902,231 /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.tcc:char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) [/usr/lib/libapt-pkg.so.4.0.0] 108,963,426 ???:headerGet [/usr/lib/librpmdb-5.3.so] 107,485,143 ???:mireRegexec [/usr/lib/librpmio-5.3.so] 105,726,891 ???:stpcpy [/lib/i686/libc-2.12.1.so] 105,302,094 ???:pcreposix_regexec [/usr/lib/libpcreposix.so.1.0.0] 100,715,544 ???:yarnPossess [/usr/lib/librpmio-5.3.so] 100,096,784 ???:pcre_exec [/lib/libpcre.so.0.0.1] 90,750,301 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Epoch() [/usr/lib/libapt-pkg.so.4.0.0] 90,228,222 ???:isspace [/lib/i686/libc-2.12.1.so] 88,708,852 ???:rpmioLinkPoolItem [/usr/lib/librpmio-5.3.so] 88,706,050 ???:rpmioGetPool [/usr/lib/librpmio-5.3.so] 88,530,373 /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Group() 86,424,139 ???:0x00011680 [/lib/libpcre.so.0.0.1] 85,731,079 /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::ListParser::NewDepends(pkgCache::VerIterator, std::string, std::string, unsigned int, unsigned int) 84,439,841 /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::InstalledSize() 80,631,233 /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:RPMUrpmHandler::parsePkgName(std::string, RPMUrpmHandler::infoToken) 80,019,355 /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmUrpmPkgIndex::MergeFileProvides(pkgCacheGenerator&, OpProgress&) const 80,019,355 apt-pkg/rpm/rpmindexfile.cc:rpmUrpmPkgIndex::MergeFileProvides(pkgCacheGenerator&, OpProgress&) const [/usr/lib/libapt-pkg.so.4.0.0] 79,599,088 /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::Skip() 79,599,088 apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::Skip() [/usr/lib/libapt-pkg.so.4.0.0] 79,466,559 ???:rpmnsClassify [/usr/lib/librpmdb-5.3.so] 77,029,778 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Group() [/usr/lib/libapt-pkg.so.4.0.0] 75,357,043 ???:std::string::compare(char const*) const [/usr/lib/libstdc++.so.6.0.14] 74,527,645 ???:headerLoad [/usr/lib/librpmdb-5.3.so] 74,004,436 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::InstalledSize() [/usr/lib/libapt-pkg.so.4.0.0] 73,315,644 ???:pthread_mutex_lock [/lib/i686/libpthread-2.12.1.so] 70,992,297 ???:0x00030320 [/usr/lib/librpmio-5.3.so] 70,410,794 apt-pkg/pkgcachegen.cc:pkgCacheGenerator::NewPackage(pkgCache::PkgIterator&, std::string) [/usr/lib/libapt-pkg.so.4.0.0] 69,331,719 /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:UrpmListSection::FindS(char const*) const 69,242,764 ???:pthread_mutex_unlock [/lib/i686/libpthread-2.12.1.so] 67,635,159 ???:__memcpy_ssse3 [/lib/i686/libc-2.12.1.so] 66,334,134 /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::MergeFileProvides(pkgCacheGenerator&, OpProgress&) const 66,334,134 apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::MergeFileProvides(pkgCacheGenerator&, OpProgress&) const [/usr/lib/libapt-pkg.so.4.0.0] 64,260,742 /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:RPMUrpmHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) 61,862,902 apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Skip() [/usr/lib/libapt-pkg.so.4.0.0] 61,862,902 /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Skip() 61,220,544 apt-pkg/rpm/rpmhandler.cc:RPMHdrHandler::GetSTag(rpmTag_e) [/usr/lib/libapt-pkg.so.4.0.0] 61,220,544 /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMHdrHandler::GetSTag(rpmTag_e) 61,173,416 /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::UsePackage(pkgCache::PkgIterator, pkgCache::VerIterator) 60,816,626 /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListFile::Step(UrpmListSection&) 60,769,196 apt-pkg/rpm/urpmlistfile.cc:UrpmListFile::Step(UrpmListSection&) [/usr/lib/libapt-pkg.so.4.0.0] 60,500,429 ???:realloc [/lib/i686/libc-2.12.1.so] 59,604,792 apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::Scan(char const*, unsigned long) [/usr/lib/libapt-pkg.so.4.0.0] 59,178,448 apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindS(char const*) const [/usr/lib/libapt-pkg.so.4.0.0] 59,029,078 apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Package() [/usr/lib/libapt-pkg.so.4.0.0] 57,653,136 ???:0x00016adf [/lib/i686/libc-2.12.1.so] 57,036,500 /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Architecture() 57,023,476 ???:__pthread_mutex_unlock_usercnt [/lib/i686/libpthread-2.12.1.so] 56,953,953 /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::getTag(rpmTag_e, std::string&, bool) 56,661,706 ???:__strcmp_ssse3 [/lib/i686/libc-2.12.1.so] 55,839,837 /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:RPMUrpmHandler::ParseDepends(char const*, char const*, std::string&, std::string&, std::string&) 55,319,467 apt-pkg/rpm/raptheader.cc:raptHeader::getTag(rpmTag_e, std::string&, bool) [/usr/lib/libapt-pkg.so.4.0.0] 55,021,484 apt-pkg/rpm/raptheader.cc:raptHeader::getTag(rpmTag_e, std::vector<std::string, std::allocator<std::string> >&, bool) [/usr/lib/libapt-pkg.so.4.0.0] 54,806,754 ???:0x00019dc0 [/usr/lib/librpmdb-5.3.so] 53,952,219 apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::Find(char const*, char const*&, char const*&) const [/usr/lib/libapt-pkg.so.4.0.0] 52,302,302 /home/agrr/apt-rpm/cmdline/cmdline.cc:cmdCacheFile::Sort() 52,126,507 cmdline/cmdline.cc:cmdCacheFile::Sort() [/usr/bin/apt-get] 52,076,308 apt-pkg/pkgcachegen.cc:pkgCacheGenerator::ListParser::NewDepends(pkgCache::VerIterator, std::string, std::string, unsigned int, unsigned int) [/usr/lib/libapt-pkg.so.4.0.0] 51,135,597 ???:rpmReadConfigFiles [/usr/lib/librpm-5.3.so] 50,354,050 ???:pthread_cond_broadcast@@GLIBC_2.3.2 [/lib/i686/libpthread-2.12.1.so]---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/rpm/rpmhandler.cc-------------------------------------------------------------------------------- Ir -- line 62 ---------------------------------------- . // rpmsq.h here but it's not valid C++ in many existing rpm versions so . // just declare rpmsqCaught extern.. sigh. . #ifdef RPM_HAVE_RPMSQISCAUGHT . #include <rpm/rpmsq.h> . #else . extern sigset_t rpmsqCaught; . . static int rpmsqIsCaught(int signum) 30 { 10 => ???:0x0002e057 (5x) 20 return sigismember(&rpmsqCaught, signum); 7,546 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 155 => ???:sigismember (5x) 20 } . #endif . . // An attempt to deal with false zero epochs from repomd. With older rpm's we . // can only blindly trust the repo admin created the repository with options . // suitable for those versions. For rpm >= 4.2.1 this is linked with . // promoteepoch behavior - if promoteepoch is used then epoch hiding must . // not happen. . bool HideZeroEpoch; . . extern map<string,int> rpmIndexSizes; . . string RPMHandler::EVR() 261,120 { 52,224 => ???:0x0002e057 (26112x) 208,896 string e = Epoch();20,922,707 => apt-pkg/rpm/rpmhandler.cc:RPMHdrHandler::Epoch() (2397x)90,750,301 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Epoch() (23715x) 208,896 string v = Version();17,095,988 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::Version() (2397x)134,293,423 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Version() (23715x) 208,896 string r = Release();132,994,858 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Release() (23715x)17,485,668 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::Release() (2397x) 156,672 string evr = ""; 1,906,176 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (26112x) 78,336 if (e.empty() == true) { 33,558 evr = v + '-' + r; 434,757 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (4794x) 1,201,547 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (2397x) 166,005 } else if (HideZeroEpoch && e == "0") { 280,644 evr = v + '-' + r; 3,711,301 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (40092x) 8,254,713 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (20046x) . } else { 106,401 evr = e + ':' + v + '-' + r; 7,812,887 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (14676x)13,918,080 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (7338x) . } . return evr; 182,784 } . . unsigned int RPMHandler::DepOp(rpmsenseFlags rpmflags) 2,533,020 { 506,604 => ???:0x0002e057 (253302x) . unsigned int Op = 0; . rpmsenseFlags flags = (rpmsenseFlags)(rpmflags & RPMSENSE_SENSEMASK); 506,604 if (flags == RPMSENSE_ANY) { 206,122 Op = pkgCache::Dep::NoOp; 94,360 } else if (flags & RPMSENSE_LESS) { 6,723 if (flags & RPMSENSE_EQUAL) 26,892 Op = pkgCache::Dep::LessEq; . else . Op = pkgCache::Dep::Less; 80,914 } else if (flags & RPMSENSE_GREATER) { 6,227 if (flags & RPMSENSE_EQUAL) 24,908 Op = pkgCache::Dep::GreaterEq; . else . Op = pkgCache::Dep::Greater; 68,460 } else if (flags & RPMSENSE_EQUAL) { 34,230 Op = pkgCache::Dep::Equals; . } else { . /* can't happen, right? */ . _error->Error(_("Impossible flags %d in %s"), rpmflags, Name().c_str()); . } . . return Op; 1,519,812 } . . bool RPMHandler::HasFile(const char *File) . { . if (*File == '\0') . return false; . . vector<string> Files; . FileList(Files);-- line 132 ------------------------------------------ line 149 ---------------------------------------- . for (vector<string>::iterator I = PkgFiles.begin(); I != PkgFiles.end(); I++) { . if ((*I).find(Mask) != string::npos) { . Files.push_back(*I); . } . } . } . . bool RPMHandler::InternalDep(const char *name, const char *ver, rpmsenseFlags flag) 2,045,152 { 511,288 => ???:0x0002e057 (255644x) 511,288 if ((flag & RPMSENSE_RPMLIB)) { 2,341 rpmds rpmlibProv = NULL; . rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, 21,069 name, ver?ver:NULL, flag); 9,277,481 => ???:rpmdsSingle (2341x) 9,364 rpmdsRpmlib(&rpmlibProv, NULL); 5,915 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)465,421,147 => ???:rpmdsRpmlib (2341x) 14,046 int res = rpmdsSearch(rpmlibProv, ds); 412,620 => ???:rpmdsSearch (2341x) 21,069 rpmdsFree(ds); 4,880,045 => ???:rpmioFreePoolItem (2341x) 14,046 rpmdsFree(rpmlibProv); 2,552,308 => ???:rpmioFreePoolItem (2341x) 9,364 if (res) . return true; . } . . /*TODO: . if ((flag & RPMSENSE_INTERP)) { . rpmds rpmlibProv = NULL; . rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, . name, ver?ver:NULL, flag);-- line 174 ------------------------------------------ line 176 ---------------------------------------- . int res = rpmdsSearch(rpmlibProv, ds); . rpmdsFree(ds); . rpmdsFree(rpmlibProv); . if (res) . return true; . }*/ . . // uhhuh, any of these changing would require full cache rebuild... 1,270,360 if (strncmp(name, "getconf(", strlen("getconf(")) == 0) . { . rpmds getconfProv = NULL; . rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, . name, ver?ver:NULL, flag); . rpmdsGetconf(&getconfProv, NULL); . int res = rpmdsSearch(getconfProv, ds); . rpmdsFree(ds); . rpmdsFree(getconfProv); . if (res) . return true; . } . 1,268,247 if (strncmp(name, "cpuinfo(", strlen("cpuinfo(")) == 0) . { 1 rpmds cpuinfoProv = NULL; . rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, 9 name, ver?ver:NULL, flag); 1,480 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 11,261 => ???:rpmdsSingle (1x) 4 rpmdsCpuinfo(&cpuinfoProv, NULL); 1,489 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 1,233,427 => ???:rpmdsCpuinfo (1x) 4 int res = rpmdsSearch(cpuinfoProv, ds); 1,473 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 604 => ???:rpmdsSearch (1x) 9 rpmdsFree(ds); 992 => ???:rpmioFreePoolItem (1x) 7 rpmdsFree(cpuinfoProv); 1,513 => ???:rpmioFreePoolItem (1x) 4 if (res) . return true; . } . 1,269,394 if (strncmp(name, "sysinfo(", strlen("sysinfo(")) == 0) . { . rpmds sysinfoProv = NULL; . rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, . name, ver?ver:NULL, flag); . rpmdsCpuinfo(&sysinfoProv, NULL); . int res = rpmdsSearch(sysinfoProv, ds); . rpmdsFree(ds); . rpmdsFree(sysinfoProv); . if (res) . return true; . } . 1,267,395 if (strncmp(name, "uname(", strlen("uname(")) == 0) . { . rpmds unameProv = NULL; . rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, . name, ver?ver:NULL, flag); . rpmdsUname(&unameProv, NULL); . int res = rpmdsSearch(unameProv, ds); . rpmdsFree(ds); . rpmdsFree(unameProv); . if (res) . return true; . } . 3,231,930 if (strlen(name) > 5 && name[strlen(name)-1] == ')' && 7,091,905 => ???:__strlen_sse2 (253302x) 238,944 ((strchr("Rr_", name[0]) != NULL && 26,949 strchr("Ww_", name[1]) != NULL && 6 strchr("Xx_", name[2]) != NULL && . name[3] == '(') || 358,416 strncmp(name, "exists(", strlen("exists(")) == 0 || 358,416 strncmp(name, "executable(", strlen("executable(")) == 0 || 358,416 strncmp(name, "readable(", strlen("readable(")) == 0 || 358,416 strncmp(name, "writable(", strlen("writable("))== 0 )) . { . int res = rpmioAccess(name, NULL, X_OK); . if (res == 0) 2,342 return true; . } . . /* TODO . * - /etc/rpm/sysinfo provides . * - macro probe provides . * - actually implement soname() and access() dependencies . */ 2,029,172 if (strncmp(name, "soname(", strlen("soname(")) == 0) . { . cout << "FIXME, ignoring soname() dependency: " << name << endl; . return true; . } 253,302 return false; 1,533,864 } . . bool RPMHandler::PutDep(const char *name, const char *ver, rpmsenseFlags flags, . unsigned int Type, vector<Dependency*> &Deps) 2,556,440 { 511,288 => ???:0x0002e057 (255644x) 2,300,796 if (InternalDep(name, ver, flags) == true) {510,382,546 => apt-pkg/rpm/rpmhandler.cc:RPMHandler::InternalDep(char const*, char const*, evrFlags_e) (255644x) 1,707 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . return true; . } . 506,604 if (Type == pkgCache::Dep::Depends) { 369,666 if (flags & RPMSENSE_PREREQ) . Type = pkgCache::Dep::PreDepends; 369,666 else if (flags & RPMSENSE_MISSINGOK) . Type = pkgCache::Dep::Suggests; . else . Type = pkgCache::Dep::Depends; . } . 1,013,208 Dependency *Dep = new Dependency;34,253,939 => ???:operator new(unsigned int) (253302x) . Dep->Name = name; 759,906 Dep->Version = ver; . 2,786,322 if (HideZeroEpoch && Dep->Version.substr(0, 2) == "0:") {11,208,092 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (253302x) 18,009 Dep->Version = Dep->Version.substr(2); 46,023 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (2001x) . } . 1,773,114 Dep->Op = DepOp(flags); 795 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 5,614,876 => apt-pkg/rpm/rpmhandler.cc:RPMHandler::DepOp(evrFlags_e) (253302x) 759,906 Dep->Type = Type; . Deps.push_back(Dep); . return true; 1,789,508 } . . string RPMHdrHandler::Epoch() 19,176 { 4,794 => ???:0x0002e057 (2397x) . uint32_t val; 23,970 ostringstream epoch(""); 174,981 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (2397x) 23,970 raptHeader h(HeaderP); 467,415 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::~raptHeader() (2397x) 469,812 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::raptHeader(headerToken_s*) (2397x) . 19,176 if (h.getTag(RPMTAG_EPOCH, val)) { 795 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)13,196,830 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::getTag(rpmTag_e, unsigned int&) (2397x) . epoch << val; . } . return epoch.str(); 16,779 } . . off_t RPMHdrHandler::GetITag(rpmTag Tag) 5,344 { 1,336 => ???:0x0002e057 (668x) 668 uint32_t val = 0; 5,344 raptHeader h(HeaderP); 130,260 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::~raptHeader() (668x) 130,928 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::raptHeader(headerToken_s*) (668x) . 4,008 h.getTag(Tag, val); 3,791,725 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::getTag(rpmTag_e, unsigned int&) (668x) 668 return val; 4,676 } . . string RPMHdrHandler::GetSTag(rpmTag Tag) 76,374 { 16,972 => ???:0x0002e057 (8486x) 50,916 string str = ""; 619,478 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (8486x) 67,888 raptHeader h(HeaderP); 1,656,960 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::~raptHeader() (8486x) 1,665,417 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::raptHeader(headerToken_s*) (8486x) 2,928 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) . 50,916 h.getTag(Tag, str); 813 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)56,953,953 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::getTag(rpmTag_e, std::string&, bool) (8486x) . return str; 59,402 } . . . bool RPMHdrHandler::PRCO(unsigned int Type, vector<Dependency*> &Deps) 16,912 { 4,228 => ???:0x0002e057 (2114x) . rpmTag deptype = RPMTAG_REQUIRENAME; 12,684 switch (Type) { . case pkgCache::Dep::Depends: 668 deptype = RPMTAG_REQUIRENAME; . break; . case pkgCache::Dep::Obsoletes: 1,336 deptype = RPMTAG_OBSOLETENAME; . break; . case pkgCache::Dep::Conflicts: 668 deptype = RPMTAG_CONFLICTNAME; 668 break; . case pkgCache::Dep::Provides: 55 deptype = RPMTAG_PROVIDENAME; 55 break; . case pkgCache::Dep::Suggests: 55 deptype = RPMTAG_SUGGESTSNAME; 55 break; . #if 0 // Enhances dep type is not even known to apt, sigh.. . case pkgCache::Dep::Enhances: . deptype = RPMTAG_ENHANCES; . break; . #endif . default: . /* can't happen... right? */ . return false; . break; . } . rpmds ds = NULL; 14,798 ds = rpmdsNew(HeaderP, deptype, 0); 7,141 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)59,434,369 => ???:rpmdsNew (2114x) 5,263 if (ds != NULL) { 57,460 while (rpmdsNext(ds) >= 0) {45,399,695 => ???:rpmdsNext (14365x) 1,441 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 252,434 PutDep(rpmdsN(ds), rpmdsEVR(ds), rpmdsFlags(ds), Type, Deps);496,041,237 => apt-pkg/rpm/rpmhandler.cc:RPMHandler::PutDep(char const*, char const*, evrFlags_e, unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) (13286x) 279,006 => ???:rpmdsN (13286x) 4,275 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (3x) 186,004 => ???:rpmdsEVR (13286x) 186,004 => ???:rpmdsFlags (13286x) . } . } 14,798 rpmdsFree(ds); 1,268,309 => ???:rpmioFreePoolItem (2114x) 2,114 return true; 12,684 } . #else . { . vector<string> names, versions; . vector<uint32_t> flags; . rpmTag deptag, depver, depflags; . raptHeader h(HeaderP); . . switch (Type) {-- line 371 ------------------------------------------ line 406 ---------------------------------------- . ni++; vi++; fi++; . } . } . return true; . } . #endif . . bool RPMHdrHandler::FileList(vector<string> &FileList) 4,291 { 1,226 => ???:0x0002e057 (613x) 4,904 raptHeader h(HeaderP); 119,535 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::~raptHeader() (613x) 120,148 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::raptHeader(headerToken_s*) (613x) 3,678 h.getTag(RPMTAG_OLDFILENAMES, FileList); 3,503,264 => /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc:raptHeader::getTag(rpmTag_e, std::vector<std::string, std::allocator<std::string> >&, bool) (613x) . // it's ok for a package not have files . return true; 3,678 } . . bool RPMHdrHandler::ChangeLog(vector<ChangeLogEntry *> &ChangeLogs) . { . vector<string> names, texts; . vector<uint32_t> times; . raptHeader h(HeaderP); . . if (h.getTag(RPMTAG_CHANGELOGTIME, times)) {-- line 427 ------------------------------------------ line 727 ---------------------------------------- . MD5Summation MD5; . FileFd File(sFilePath, FileFd::ReadOnly); . MD5.AddFD(File.Fd(), File.Size()); . File.Close(); . return MD5.Result().Value(); . } . . 10 RPMDBHandler::RPMDBHandler(bool WriteLock) 2 => ???:0x0002e057 (1x) 5 : Handler(0), WriteLock(WriteLock) . { 1 RpmIter = NULL; 15 string Dir = _config->Find("RPM::RootDir"); 17 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) 3,486 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::Find(char const*, char const*) const (1x) . 3 rpmReadConfigFiles(NULL, NULL); 2,791,427 => ???:rpmReadConfigFiles (1x) 8 ID = DataPath(false); 39,282 => apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::DataPath(bool) (1x) . 3 RPMPackageData::Singleton()->InitMinArchScore(); 219,985 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmpackagedata.cc:RPMPackageData::Singleton() (1x) 19,779 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 3,695 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmpackagedata.cc:RPMPackageData::InitMinArchScore() (1x) . . // Everytime we open a database for writing, it has its . // mtime changed, and kills our cache validity. As we never . // change any information in the database directly, we will . // restore the mtime and save our cache. . struct stat St; 7 stat(DataPath(false).c_str(), &St); 13,105 => apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::DataPath(bool) (1x) 3 DbFileMtime = St.st_mtime; . 3 Handler = rpmtsCreate(); 1,473 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 25,725 => ???:rpmtsCreate (1x) 3 rpmtsSetVSFlags(Handler, (pgpVSFlags_e)-1); 1,561 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 11 => ???:rpmtsSetVSFlags (1x) 6 rpmtsSetRootDir(Handler, Dir.c_str()); 1,544 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 303 => ???:rpmtsSetRootDir (1x) 9 RpmIter = rpmtsInitIterator(Handler, (rpmTag)RPMDBI_PACKAGES, NULL, 0); 3,226,758 => ???:rpmtsInitIterator (1x) 1,576 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 2 if (RpmIter == NULL) { . _error->Error(_("could not create RPM database iterator")); . return; . } . // iSize = rpmdbGetIteratorCount(RpmIter); . // This doesn't seem to work right now. Code in rpm (4.0.4, at least) . // returns a 0 from rpmdbGetIteratorCount() if rpmtsInitIterator() is . // called with RPMDBI_PACKAGES or with keyp == NULL. The algorithm . // below will be used until there's support for it. 2 iSize = 0; . rpmmi countIt; 8 countIt = rpmtsInitIterator(Handler, (rpmTag)RPMDBI_PACKAGES, NULL, 0); 1,769 => ???:rpmtsInitIterator (1x) 2,464 while (rpmmiNext(countIt) != NULL) 1,642 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)39,445,998 => ???:rpmmiNext (616x) 1,230 iSize++; 7 rpmmiFree(countIt); 14,510 => ???:rpmioFreePoolItem (1x) 2,144 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . 4 rpmIndexSizes[ID] = iSize; . . . // Restore just after opening the database, and just after closing. 2 if (WriteLock) { . struct utimbuf Ut; 3 Ut.actime = DbFileMtime; 1 Ut.modtime = DbFileMtime; 12 utime(DataPath(false).c_str(), &Ut); 175 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) 7,384 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 11 => ???:utime (1x) 13,234 => apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::DataPath(bool) (1x) . } 6 } . 20 RPMDBHandler::~RPMDBHandler() 2 => ???:0x0002e057 (1x) . { 3 if (RpmIter != NULL) 7 rpmmiFree(RpmIter); 118,854 => ???:rpmioFreePoolItem (1x) . . /* . * If termination signal, do nothing as rpmdb has already freed . * our ts set behind our back and rpmtsFree() will crash and burn with a . * doublefree within rpmlib. . * There's a WTF involved as rpmCheckSignals() actually calls exit() . * so we shouldn't even get here really?! . */ 12 if (rpmsqIsCaught(SIGINT) || 7,781 => apt-pkg/rpm/rpmhandler.cc:rpmsqIsCaught(int) (1x) 2 rpmsqIsCaught(SIGQUIT) || 47 => apt-pkg/rpm/rpmhandler.cc:rpmsqIsCaught(int) (1x) 2 rpmsqIsCaught(SIGHUP) || 47 => apt-pkg/rpm/rpmhandler.cc:rpmsqIsCaught(int) (1x) 2 rpmsqIsCaught(SIGTERM) || 47 => apt-pkg/rpm/rpmhandler.cc:rpmsqIsCaught(int) (1x) 2 rpmsqIsCaught(SIGPIPE)) { 47 => apt-pkg/rpm/rpmhandler.cc:rpmsqIsCaught(int) (1x) . /* do nothing */ 3 } else if (Handler != NULL) { 8 rpmtsFree(Handler); 114,047 => ???:rpmioFreePoolItem (1x) . } . . // Restore just after opening the database, and just after closing. 2 if (WriteLock) { . struct utimbuf Ut; 2 Ut.actime = DbFileMtime; 1 Ut.modtime = DbFileMtime; 12 utime(DataPath(false).c_str(), &Ut); 158 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) 11 => ???:utime (1x) 16,329 => apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::DataPath(bool) (1x) . } 15 } 143,224 => apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::~RPMDBHandler()'2 (1x) 678 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 120 => ???:operator delete(void*) (1x) . . string RPMDBHandler::DataPath(bool DirectoryOnly) 80 { 16 => ???:0x0002e057 (8x) 64 string File = "packages.rpm"; 2,463 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (8x) 40 char *tmp = (char *) rpmExpand("%{_dbpath}", NULL); 38,326 => ???:rpmExpand (8x) 19,776 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 96 string DBPath(_config->Find("RPM::RootDir")+tmp); 26,264 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::Find(char const*, char const*) const (8x) 16 free(tmp); 7,358 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 509 => ???:free (8x) . 40 if (rpmExpandNumeric("%{_dbapi}") >= 3) 2,135 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 29,511 => ???:rpmExpandNumeric (8x) 16 File = "Packages"; 16 if (DirectoryOnly == true) . return DBPath; . else 80 return DBPath+"/"+File; 1,264 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (8x) 8,267 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 17,565 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (8x) 56 } . 3,696 bool RPMDBHandler::Skip() 9,856 { 2,464 => ???:0x0002e057 (1232x) 3,696 if (RpmIter == NULL) 1,232 return false; 3,696 HeaderP = rpmmiNext(RpmIter);79,509,910 => ???:rpmmiNext (1232x) 4,928 iOffset = rpmmiInstance(RpmIter); 1,706 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 51,744 => ???:rpmmiInstance (1232x) . if (HeaderP == NULL) . return false; . return true; 6,160 } . . bool RPMDBHandler::Jump(off_t Offset) . { . iOffset = Offset; . // rpmdb indexes are hardcoded uint32_t, the size must match here . uint32_t rpmOffset = iOffset; . if (RpmIter == NULL) . return false;-- line 849 ------------------------------------------ line 865 ---------------------------------------- . rpmmiFree(RpmIter); . RpmIter = rpmtsInitIterator(Handler, RPMTAG_NVRA, PkgName.c_str(), 0); . . HeaderP = rpmmiNext(RpmIter); . return (HeaderP != NULL); . } . . void RPMDBHandler::Rewind() 16 { 4 => ???:0x0002e057 (2x) 6 if (RpmIter == NULL) . return; 14 rpmmiFree(RpmIter); 6,154 => ???:rpmioFreePoolItem (2x) 14 RpmIter = rpmtsInitIterator(Handler, (rpmTag)RPMDBI_PACKAGES, NULL, 0); 2,436 => ???:rpmtsInitIterator (2x) 2 iOffset = 0; 10 } . . #ifdef APT_WITH_REPOMD . RPMRepomdHandler::RPMRepomdHandler(string File): RPMHandler(), . Primary(NULL), Root(NULL), PrimaryPath(File), HavePrimary(false) . { . string DBBase = PrimaryPath.substr(0, File.size() - strlen("primary.xml")); . FilelistPath = DBBase + "filelists.xml"; . OtherPath = DBBase + "other.xml";-- line 887 ------------------------------------------ line 1719 ---------------------------------------- . #endif /* WITH_SQLITE3 */ . . #endif /* APT_WITH_REPOMD */ . . /** . * Constructor . * . */ 136 RPMUrpmHandler::RPMUrpmHandler(string SynthesisFilename): File(SynthesisFilename, FileFd::ReadOnly), Tags(&File, (size_t)File.Size()) 8 => ???:0x0002e057 (4x) 757 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 108 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (4x) 1,088 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::Size() (4x) 2,759 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListFile::UrpmListFile(FileFd*, unsigned int) (4x) . { 8 synthesis_filename = SynthesisFilename; 16 ID = SynthesisFilename; 24 iSize = (off_t)File.Size(); 544 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::Size() (4x) 12 rpmIndexSizes[SynthesisFilename] = iSize; . 24 } . . /** . * Destructor . */ . 104 RPMUrpmHandler::~RPMUrpmHandler() 8 => ???:0x0002e057 (4x) . { 60 } 703 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 2,005 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::~RPMUrpmHandler()'2 (4x) 647 => ???:operator delete(void*) (4x) . . bool RPMUrpmHandler::Jump(off_t Offset) . { . return Tags.Jump(Section, Offset); . } . . . bool RPMUrpmHandler::Skip() 166,047 { 47,442 => ???:0x0002e057 (23721x) . 47,442 iOffset = Tags.Offset(); 118,605 Tags.Step(Section); 1,595 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)60,816,626 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListFile::Step(UrpmListSection&) (23721x) 94,884 if(_error->PendingError() == true) 450,756 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (23721x) . { 9 _error->Discard(); 888 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:GlobalError::Discard() (3x) 730 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 57 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (3x) 3 return false; . } 23,721 return true; 94,884 } . . 6 void RPMUrpmHandler::Rewind(){ 6 iOffset = 0; . //cleanLines(); 6 } . . /** . * Accessor functions . */ . . bool RPMUrpmHandler::PRCO(unsigned int Type, vector<Dependency*> &Deps) 569,160 { 126,480 => ???:0x0002e057 (63240x) 63,240 const char *Start = NULL; 63,240 const char *Stop = NULL; . 409,415 switch (Type) . { . case pkgCache::Dep::Depends: 79,050 if (Section.Find("requires",Start,Stop) == false) . return true; . break; . case pkgCache::Dep::Conflicts: 94,860 if (Section.Find("conflicts",Start,Stop) == false) . return true; . break; . case pkgCache::Dep::Obsoletes: 94,860 if (Section.Find("obsoletes",Start,Stop) == false) . return true; . break; . case pkgCache::Dep::Provides: 47,430 if (Section.Find("provides",Start,Stop) == false) . return true; . break; . case pkgCache::Dep::Suggests: 426,870 if (Section.Find("suggests",Start,Stop) == false)42,183,108 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::Find(char const*, char const*&, char const*&) const (63240x) 33,265 return true; . break; . } 89,925 string Package; 4,950,501 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (29975x) 89,925 string Version; 2,479,637 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (29975x) 59,950 string Op;12,308,433 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (29975x) . . while(true) . { 2,423,580 Start = ParseDepends(Start,Stop,Package,Version,Op);288,834,511 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::ParseDepends(char const*, char const*, std::string&, std::string&, std::string&) (242358x) 944 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 484,716 if (Start == 0) . return _error->Error("Problem parsing dependency - Type %d for package %s",Type, Name().c_str()); . . rpmsenseFlags RpmOp; . 484,716 if (Op == "==") 242,358 RpmOp = (rpmsenseFlags)RPMSENSE_EQUAL; 417,796 else if (Op == ">=") 208,898 RpmOp = (rpmsenseFlags)(RPMSENSE_GREATER | RPMSENSE_EQUAL); 405,956 else if (Op == "> ") 202,978 RpmOp = (rpmsenseFlags)RPMSENSE_GREATER; 405,874 else if (Op == "<=") 202,937 RpmOp = (rpmsenseFlags)(RPMSENSE_LESS | RPMSENSE_EQUAL); . else if (Op == "< ") 807,912 RpmOp =(rpmsenseFlags)RPMSENSE_LESS; . else . RpmOp=RPMSENSE_ANY; . 2,665,938 PutDep(Package.c_str(), Version.c_str(), RpmOp, Type, Deps);299,365,189 => apt-pkg/rpm/rpmhandler.cc:RPMHandler::PutDep(char const*, char const*, evrFlags_e, unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) (242358x) 2,113 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . //std::cerr << "inserted dep: "<< Package << " ver: "<<Version <<endl; . 969,432 if (Start == Stop) . break; . } . 29,975 return true; 442,680 } . . . // ListParser::ParseDepends - Parse a dependency element /*{{{*/ . // --------------------------------------------------------------------- . /* This parses the dependency elements out of a standard string in place, . bit by bit. */ . /* TODO: Test this big mess, for gods sake! */ . const char * RPMUrpmHandler::ParseDepends(const char *Start,const char *Stop, . string &Package,string &Ver, . string &Op) 1,938,864 { 484,716 => ???:0x0002e057 (242358x) . // Parse off the package name . const char *I = Start;71,835,311 for (;I != Stop && isspace(*I) == 0 && *I != '[' && *I != ']' &&149,098,626 => ???:isspace (4219774x) . *I != '@'; I++); . . // Stash the package name 1,923,665 Package.assign(Start,I - Start);52,802,141 => ???:std::string::assign(char const*, unsigned int) (242358x) . . // Parse a version 908,636 if (I != Stop && *I == '[') . { . // Skip the '(' 695,880 for (I++; I != Stop && ((*I) == '*' || (*I) == ']' || (*I) == '['); I++); . 270,358 if((*I) == '@' | I == Stop) //é o tal caso... . { 18,144 Ver = string(); 154,224 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (9072x) . Op = "*"; . } 137,184 else if ((*I)=='=' || (*I)=='>' ||(*I)=='<') . { 137,184 Op = string(I,I+2); 1,051,744 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (45728x) . I+=2; . . // Skip whitespace 860,670 for (;I != Stop && ( isspace(*I) != 0 ); I++); 1,549,206 => ???:isspace (86067x) . Start = I; . 4,601,774 for (;I != Stop && *I != '[' && *I != ']'; I++); //This part is always right except on this stupid corner case: kmod(aacraid)[== 1.1-5[2456]-ms] . . if ((*I) == '[') . { 150 for (;I != Stop && *I != ']'; I++); /*Greatest hack ever, managed to not hardcode the actual corner case */ 20 I++; 85 for (;I != Stop && *I != ']'; I++); . } . // Skip trailing whitespace . const char *End = I; . 548,736 Ver = string(Start,End-Start); 1,051,744 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (45728x)11,793,674 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, unsigned int, std::allocator<char> const&) (45728x) 45,728 I++; . } . } . else . { 375,116 Ver = string(); 5,446,198 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (187558x) . Op = "*"; . } . . 484,716 if (I == Stop) . return Stop; . else if((*I)=='@') 1,486,681 return I+1; . else return 0; 1,696,506 } . . . #if 0 . /*}}}*/ . // ListParser::ParseDepends - Parse a dependency element /*{{{*/ . // --------------------------------------------------------------------- . /* This parses the dependency elements out of a standard string in place, . bit by bit. */-- line 1909 ------------------------------------------ line 2030 ---------------------------------------- . . // HACK around bad package definitions . default: . Op = pkgCache::Dep::Equals; . break; . } . return I; . } 126,480 off_t RPMUrpmHandler::InstalledSize(){ 31,620 => ???:0x0002e057 (15810x) . string tok[3]; 284,580 tokenize(Section.FindS("info"),tok,3,RPMUrpmHandler::pkgDelimiter);13,584,192 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindS(char const*) const (15810x)55,668,410 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::tokenize(std::string, std::string*, int, std::string&) (15810x) 221,340 return strtol(tok[2].c_str(), NULL, 0); 3,992,954 => ???:strtol (15810x) 94,860 } . . 79,080 string RPMUrpmHandler::Name(){ 15,816 => ???:0x0002e057 (7908x) 126,528 return parsePkgName(Section.FindS("info"),PKGNAME); 2,681 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x)36,339,752 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::parsePkgName(std::string, RPMUrpmHandler::infoToken) (7908x) 6,792,663 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindS(char const*) const (7908x) 55,356 } . . string RPMUrpmHandler::Summary(){ . . return Section.FindS("summary"); . } . . string RPMUrpmHandler::Arch() 395,280 { 79,056 => ???:0x0002e057 (39528x) 632,448 return parsePkgName(Section.FindS("info"),PKGARCH);175,139,206 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::parsePkgName(std::string, RPMUrpmHandler::infoToken) (39528x)34,229,906 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindS(char const*) const (39528x) 276,696 } . . string RPMUrpmHandler::Epoch() 213,435 { 47,430 => ???:0x0002e057 (23715x) . . string tok[2]; 569,160 tokenize(Section.FindS("info"),tok,2,RPMUrpmHandler::pkgDelimiter);20,370,745 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindS(char const*) const (23715x)60,107,826 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::tokenize(std::string, std::string*, int, std::string&) (23715x) 118,575 return tok[1]; 640,305 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (23715x) . 166,005 } . 173,910 string RPMUrpmHandler::Group(){ 31,620 => ???:0x0002e057 (15810x) . string tok[4]; 316,200 tokenize(Section.FindS("info"),tok,4,RPMUrpmHandler::pkgDelimiter);13,434,689 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindS(char const*) const (15810x)62,235,429 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::tokenize(std::string, std::string*, int, std::string&) (15810x) 300,390 return tok[3]; 426,870 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (15810x) 110,670 } . 237,150 string RPMUrpmHandler::Version(){ 47,430 => ???:0x0002e057 (23715x) 379,440 return parsePkgName(Section.FindS("info"),PKGVERSION);108,545,743 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::parsePkgName(std::string, RPMUrpmHandler::infoToken) (23715x)20,355,382 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindS(char const*) const (23715x) 166,005 } . 237,150 string RPMUrpmHandler::Release(){ 47,430 => ???:0x0002e057 (23715x) 379,440 return parsePkgName(Section.FindS("info"),PKGRELEASE);107,270,763 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::parsePkgName(std::string, RPMUrpmHandler::infoToken) (23715x)20,343,370 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindS(char const*) const (23715x) 166,005 } . . string RPMUrpmHandler::FileName(){ . string tok[2]; . tokenize(Section.FindS("info"),tok,2,RPMUrpmHandler::pkgDelimiter); . return string(tok[0]) + ".rpm"; . } . . bool RPMUrpmHandler::HasFile(const char *File ){ . return true; . } . 47,430 off_t RPMUrpmHandler::FileSize(){ 15,810 => ???:0x0002e057 (7905x) . /*Temporary workaround for obsolete code on perl-URPM (see urpm.xs function sigsize_to_filesize ()) . * We really need accurate filesize for rpm packages */ . const int rpmheaderOffset = 16; . 63,240 return Section.FindI("filesize") + rpmheaderOffset; 777 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 6,609,378 => /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::FindI(char const*, long) const (7905x) . 31,620 } . . /* . * Stub implementations present just to please the pkgcachegenerator . */ . . string RPMUrpmHandler::Vendor(){ . . return "";-- line 2107 ------------------------------------------ line 2134 ---------------------------------------- . return ""; . } . . /* . *TODO: rever para confirmar se nao quebrou . * . */ . string RPMUrpmHandler::parsePkgName(string p,infoToken t) 758,928 { 189,732 => ???:0x0002e057 (94866x) . string tok[3]; 1,328,124 tokenize(p,tok,3,RPMUrpmHandler::pkgDelimiter); 852 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 5,122,716 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (94866x)334,085,912 => apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::tokenize(std::string, std::string*, int, std::string&) (94866x) 379,464 string pkgname(tok[0]); 2,561,358 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (94866x) . int pkglen=pkgname.length(); . int index1,index2,index3; 94,866 index1= pkgname.find_last_of('.'); 189,732 if(t==PKGARCH) 39,528 return pkgname.substr(index1+1,pkglen-index1); //Arch 166,014 index2=pkgname.find_last_of('-',index1-1); 110,676 if(t==PKGRELEASE) 23,715 return pkgname.substr(index2+1,index1-index2-1); //Release 94,869 index3=pkgname.find_last_of('-',index2-1); 63,246 if(t==PKGVERSION) 284,589 return pkgname.substr(index3+1,index2-index3-1); //Version 23,724 if(t==PKGNAME) 7,908 return pkgname.substr(0,index3); //Name . 853,794 return ""; 664,062 } . . /* . * Initialization of static constants . * . */ 13 string RPMUrpmHandler::DEPSREGEX = "([^[]*)(\\[\\*\\]){0,1}\\[([<>=]+) (.+?)\\]"; 164 => ???:__cxa_atexit (1x) 764 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) 14 string RPMUrpmHandler::pkgDelimiter = "@"; 82 => ???:__cxa_atexit (1x) 354 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) . CachedRegex RPMUrpmHandler::requiresRegex = CachedRegex(DEPSREGEX.c_str()); . . . /* Parse the elemnents of a provides, requires, obsoletes or conflicts . * version restriction . * . * There are 3 cases: . ** No version (shared libraries, features, etc.)-- line 2176 ------------------------------------------ line 2326 ---------------------------------------- . . //regfree(&Pattern); //Static variables should never be freed ! . return Return; . } . . . void RPMUrpmHandler::tokenize(string str, string *array, int n_matches, . string &delimiters) 1,502,010 { 300,402 => ???:0x0002e057 (150201x) . string::size_type lastPos = str.find_first_not_of(delimiters, 0); . // Find first "non-delimiter". . string::size_type pos = str.find_first_of(delimiters, lastPos); 150,195 int i=0; 3,833,955 while ((string::npos != pos || string::npos != lastPos) && i < n_matches) . { . // Found a token, add it to the vector. 1,778,625 array[i]=str.substr(lastPos, pos - lastPos); . // Skip delimiters. Note the "not_of" . lastPos = str.find_first_not_of(delimiters, pos); . // Find next "non-delimiter" . pos = str.find_first_of(delimiters, lastPos); 426,870 i++; . } 901,206 } . . vector<string>* RPMUrpmHandler::tokenize(string &str, string &delimiters) . { . vector<string>* tokens= new vector<string>(); . //Good maximum size guess to avoid a lot of reallocations . //TODO: Needs testing to ensure it never breaks in practice . unsigned int MAX_SIZE = str.size()/4; . tokens->reserve(MAX_SIZE);-- line 2357 ------------------------------------------ line 2366 ---------------------------------------- . // Found a token, add it to the vector. . tokens->push_back(str.substr(lastPos, pos - lastPos)); . // Skip delimiters. Note the "not_of" . lastPos = str.find_first_not_of(delimiters, pos); . // Find next "non-delimiter" . pos = str.find_first_of(delimiters, lastPos); . } . return tokens; 206,802 } 2 => ???:0x0002e057 (1x) . . // vim:sts=3:sw=3---------------------------------------------------------------------------------- Auto-annotated source: cmdline/cmdline.cc-------------------------------------------------------------------------------- Ir -- line 189 ---------------------------------------- . default: return ""; . } . } . . // SigWinch - Window size change signal handler /*{{{*/ . // --------------------------------------------------------------------- . /* */ . void SigWinch(int) 3 { . // Riped from GNU ls . #ifdef TIOCGWINSZ . struct winsize ws; . 10 if (ioctl(1, TIOCGWINSZ, &ws) != -1 && ws.ws_col >= 5) 7,366 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 12 => ???:ioctl (1x) 3 ScreenWidth = ws.ws_col - 1; . #endif 2 } . . // CacheFile::NameComp - QSort compare by name /*{{{*/ . // --------------------------------------------------------------------- . /* */ . pkgCache *cmdCacheFile::SortCache = 0; . int cmdCacheFile::NameComp(const void *a,const void *b)2,316,400 {4,053,700 if (*(pkgCache::Package **)a == 0 || *(pkgCache::Package **)b == 0) . return *(pkgCache::Package **)a - *(pkgCache::Package **)b; . . const pkgCache::Package &A = **(pkgCache::Package **)a; . const pkgCache::Package &B = **(pkgCache::Package **)b; . 4,632,800 return strcmp(SortCache->StrP + A.Name,SortCache->StrP + B.Name); 7,424 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)20,622,271 => ???:__strcmp_ssse3 (579100x) 579,100 } . /*}}}*/ . // CacheFile::Sort - Sort by name /*{{{*/ . // --------------------------------------------------------------------- . /* */ . void cmdCacheFile::Sort() 6 { 3 delete [] List; 6 List = new pkgCache::Package *[Cache->Head().PackageCount]; 22,732 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 1,497 => ???:operator new[](unsigned int) (1x) 7 memset(List,0,sizeof(*List)*Cache->Head().PackageCount); 7,431 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 19,271 => ???:__memset_sse2 (1x) 1 pkgCache::PkgIterator I = Cache->PkgBegin(); 175,786 for (;I.end() != true; I++) 1,003 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)1,975,341 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::PkgIterator::operator++(int) (43947x) 175,784 List[I->ID] = I; . 1 SortCache = *this; 8 qsort(List,Cache->Head().PackageCount,sizeof(*List),NameComp);50,655,819 => ???:qsort (1x) 7,398 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 5 } . 9 cmdCacheFile::~cmdCacheFile() 858 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 456,826 => /home/agrr/apt-rpm/apt-pkg/cachefile.cc:pkgCacheFile::~pkgCacheFile() (1x) . { 3 if (List) { 2 delete [] List; 7,767 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 96 => ???:operator delete[](void*) (1x) . } 3 } . . // ShowBroken - Debugging aide /*{{{*/ . // --------------------------------------------------------------------- . /* This prints out the names of all the packages that are broken along . with the name of each each broken dependency and a quite version . description. . . The output looks like: . The following packages have unmet dependencies: . exim: Depends: libc6 (>= 2.1.94) but 2.1.3-10 is to be installed . Depends: libldap2 (>= 2.0.2-2) but it is not going to be installed . Depends: libsasl7 but it is not going to be installed . */ . void ShowBroken(ostream &out,cmdCacheFile &Cache,bool Now,pkgDepCache::State *State) 9 { 6 out << _("The following packages have unmet dependencies:") << endl; 6,518 => ???:gettext (1x) 8,844 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 3,988 => ???:std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (1x) 219,735 for (unsigned J = 0; J < Cache->Head().PackageCount; J++) . { 175,784 pkgCache::PkgIterator I(Cache,Cache.List[J]); . 87,892 if (Now == true) . { 87,892 if (Cache[I].NowBroken() == false) . continue; . } . else . { . if (Cache[I].InstBroken() == false) . continue; . } . . // Print out each package and the failed dependencies . out <<" " << I.Name() << ":"; 45 size_t Indent = strlen(I.Name()) + 3; 236 => ???:__strlen_sse2 (9x) . bool First = true; . pkgCache::VerIterator Ver; . 36 if (Now == true) . Ver = I.CurrentVer(); . else . Ver = Cache[I].InstVerIter(Cache); . 18 if (Ver.end() == true) . { . out << endl; . continue; . } . . for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false;) . { . // Compute a single dependency element (glob or) . pkgCache::DepIterator Start; . pkgCache::DepIterator End; 798 D.GlobOr(Start,End); 1,162 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 6,594 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::DepIterator::GlobOr(pkgCache::DepIterator&, pkgCache::DepIterator&) (114x) . . // CNC:2003-02-22 - IsImportantDep() currently calls IsCritical(), so . // these two are currently doing the same thing. Check . // comments in IsImportantDep() definition. . #if 0 . if (Cache->IsImportantDep(End) == false) . continue; . #else 342 if (End.IsCritical() == false) . continue; . #endif . 228 if (Now == true) . { 456 if ((Cache[End] & pkgDepCache::DepGNow) == pkgDepCache::DepGNow) . continue; . } . else . { . if ((Cache[End] & pkgDepCache::DepGInstall) == pkgDepCache::DepGInstall) . continue; . } . . bool FirstOr = true; . while (1) . { 22 if (First == false) 104 for (unsigned J = 0; J != Indent; J++) . out << ' '; 29 First = false; . 6 if (FirstOr == false) . { . for (size_t J = 0; J != strlen(End.DepType()) + 3; J++) . out << ' '; . } . else . out << ' ' << End.DepType() << ": "; 228 FirstOr = false; . . out << Start.TargetPkg().Name(); . . // Show a quick summary of the version requirements 21 if (Start.TargetVer() != 0) . out << " (" << Start.CompType() << " " << Start.TargetVer() << ")"; . . /* Show a summary of the target package if possible. In the case . of virtual packages we show nothing */ . pkgCache::PkgIterator Targ = Start.TargetPkg(); 44 if (Targ->ProvidesList == 0) . { . out << ' '; . pkgCache::VerIterator Ver = Cache[Targ].InstVerIter(Cache); . if (Now == true) . Ver = Targ.CurrentVer(); . . if (Ver.end() == false) . {-- line 355 ------------------------------------------ line 367 ---------------------------------------- . else . out << _("but it is a virtual package"); . } . else . out << (Now?_("but it is not installed"):_("but it is not going to be installed")); . } . } . 22 if (Start != End) . out << _(" or"); . out << endl; . 22 if (Start == End) . break; . Start++; . } . } . } 6 } . /*}}}*/ . // ShowNew - Show packages to newly install /*{{{*/ . // --------------------------------------------------------------------- . /* */ . void ShowNew(ostream &out,cmdCacheFile &Cache,pkgDepCache::State *State) . { . /* Print out a list of packages that are going to be installed extra . to what the user asked */-- line 393 ------------------------------------------ line 1990 ---------------------------------------- . for (; F != ChangeLog.end(); F++) { . ptm = localtime(&(*F)->Time); . strftime(buf, sizeof(buf), "%a %b %d %Y", ptm); . cout << "* " << buf << " " << (*F)->Author << endl; . cout << (*F)->Text << endl << endl; . } . } . return true; 351,991 } . . // vim:sts=3:sw=3---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/rpm/rpmindexfile.cc-------------------------------------------------------------------------------- Ir -- line 31 ---------------------------------------- . #include <apt-pkg/error.h> . #include <apt-pkg/strutl.h> . #include <apt-pkg/acquire-item.h> . . #include <apti18n.h> . . #include <sys/stat.h> . /*}}}*/ 5 vector<pkgRepository *> RepList; 1,066 => ???:__cxa_atexit (1x) . . // Hack to avoid potentially very expensive CreateHandler() calls from . // indexfile progress reporting. It's only used for progress so it doesn't . // really matter if it's even accurate. 5 map<string,int> rpmIndexSizes; 82 => ???:__cxa_atexit (1x) . . . off_t rpmIndexFile::Size() const 72 { 16 => ???:0x0002e057 (8x) . off_t Res; 88 string IP = IndexPath();278,416 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::IndexPath() const (8x) 1,910 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (8x) . 32 if (rpmIndexSizes.find(IP) == rpmIndexSizes.end()) { 3 RPMHandler *Handler = CreateHandler();39,974 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::CreateHandler() const (1x) . Res = Handler->Size(); 4 delete Handler; 1,823 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::~RPMUrpmHandler() (1x) . } else { 14 Res = rpmIndexSizes[IP]; . } . return Res; 56 } . . /*}}}*/ . . . // rpmListIndex::Release* - Return the URI to the release file /*{{{*/ . // --------------------------------------------------------------------- . /* */ . inline string rpmListIndex::ReleaseFile(string Type) const-- line 68 ------------------------------------------ line 599 ---------------------------------------- . */ . return true; . } . /*}}}*/ . // rpmUrpmIndex::Info - One liner describing the URPM index URI /*{{{*/ . // --------------------------------------------------------------------- . /* */ . string rpmUrpmIndex::Info(string Type) const 27 { 6 => ???:0x0002e057 (3x) 90 string Info = ::URI::SiteOnly(URI) + ' ' + Dist; 1,677 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (9x) 660 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 81 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (3x) 1,646 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (3x)14,798 => /home/agrr/apt-rpm/apt-pkg/contrib/strutl.cc:URI::SiteOnly(std::string) (3x) . . Info += " "; . Info += Type; . return Info; 21 } . /*}}}*/ . // rpmUrpmIndex::Index* - Return the URI to the URPM index files /*{{{*/ . // --------------------------------------------------------------------- . /* */ . inline string rpmUrpmIndex::IndexFile(string Type) const . { 42 return _config->FindDir("Dir::State::lists") +12,732 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (21x) 882 URItoFileName(IndexURI(Type));15,480 => apt-pkg/rpm/rpmindexfile.cc:rpmUrpmIndex::IndexURI(std::string) const (21x)599,138 => /home/agrr/apt-rpm/apt-pkg/contrib/strutl.cc:URItoFileName(std::string) (21x) 9,309 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (63x) 2,107 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 567 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (21x)13,495 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (21x)109,206 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindDir(char const*, char const*) const (21x) . } . . . string rpmUrpmIndex::IndexURI(string Type) const 168 { 42 => ???:0x0002e057 (21x) 42 RPMPackageData *rpmdata = RPMPackageData::Singleton(); 420 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmpackagedata.cc:RPMPackageData::Singleton() (21x) . string Res; . . //Res = URI + Dist + ".cz"; 294 Res = URI + Dist; 483 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (21x)12,771 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (21x) . 84 if (rpmdata->HasIndexTranslation() == true) . { . map<string,string> Dict; . Dict["uri"] = URI; . Dict["dist"] = Dist; . Dict["sect"] = Section; . Dict["type"] = Type; . rpmdata->TranslateIndex(Res, Dict); . } . . return Res; 147 } . /*}}}*/ . // rpmUrpmIndex::Exists - Check if the RPM index is available /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool rpmUrpmIndex::Exists() const 45 { 10 => ???:0x0002e057 (5x) 55 return FileExists(IndexPath());208,134 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::IndexPath() const (5x) 1,072 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (5x) 675 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileExists(std::string) (5x) 35 } . /*}}}*/ . // rpmUrpmIndex::Describe - Give a descriptive path to the URPM index /*{{{*/ . // --------------------------------------------------------------------- . /* */ . string rpmUrpmIndex::Describe(bool Short) const . { . char S[300]; . if (Short == true)-- line 660 ------------------------------------------ line 739 ---------------------------------------- . //"release"); . return true; . } . /*}}}*/ . // rpmUrpmPkgIndex::Merge - Load the index file into a cache /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool rpmUrpmPkgIndex::Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const 9 { 2 => ???:0x0002e057 (1x) 11 string PackageFile = IndexPath();34,975 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::IndexPath() const (1x) 23 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) 4 RPMHandler *Handler = CreateHandler();37,347 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::CreateHandler() const (1x) . 25 Prog.SubProgress(0,Info("primary")); 796 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (2x) 5,951 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 2,494 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::SubProgress(unsigned long, std::string) (1x) 7,824 => apt-pkg/rpm/rpmindexfile.cc:rpmUrpmIndex::Info(std::string) const (1x) 283 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) 14 ::URI Tmp(URI); 23 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) 81 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (1x) 13 string pkgFileDescription = Tmp.Host+" "+ Section; /* AG: Generate an adequate string for URPM repos eliminating old Debianism */ 355 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (2x) 548 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (1x) 28 if (Gen.SelectFile(PackageFile, pkgFileDescription, *this) == false) 46 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (2x) 993 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)41,370 => /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::SelectFile(std::string, std::string, pkgIndexFile const&, unsigned long) (1x) 54 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (2x) . { . delete Handler; . return _error->Error(_("Problem with SelectFile %s"),PackageFile.c_str()); . } . . // Store the IMS information . pkgCache::PkgFileIterator File = Gen.GetCurFile(); . struct stat St; 4 if (stat(PackageFile.c_str(),&St) != 0) . { . delete Handler; . return _error->Errno("stat",_("Failed to stat %s"), PackageFile.c_str()); . } 2 File->Size = St.st_size; 2 File->mtime = St.st_mtime; . . /* . * ALTERAR? a classe rpmUrpmListParser para que serve? . * estou a passar um URPMHandler esperemos que nao colida . */ 8 rpmListParser Parser(Handler); 71 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::rpmListParser(RPMHandler*) (1x) 1,489 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 171 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::~rpmListParser() (1x) 3 if (_error->PendingError() == true) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) . { . delete Handler; . return _error->Error(_("Problem opening %s"),PackageFile.c_str()); . } . 7 if (Gen.MergeList(Parser) == false) 1,171 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)1,927,476,114 => /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::MergeList(pkgCacheGenerator::ListParser&, pkgCache::VerIterator*) (1x) . { . delete Handler; . return _error->Error(_("Problem with MergeList %s"),PackageFile.c_str()); . } . 7 delete Handler; 412 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::~RPMUrpmHandler() (1x) . . // Check the release file . // This has to be uncomented for supporting URPM release file - hdlists? . /* . string RelFile = ReleasePath(); . . if (FileExists(RelFile) == true) . { . FileFd Rel(RelFile,FileFd::ReadOnly); . if (_error->PendingError() == true) . return false; . Parser.LoadReleaseInfo(File,Rel); . Rel.Seek(0); . } . */ 2 return true; 7 } . /*}}}*/ . // rpmUrpmPkgIndex::MergeFileProvides - Process file dependencies if any /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool rpmUrpmPkgIndex::MergeFileProvides(pkgCacheGenerator &Gen, . OpProgress &Prog) const 18 { 4 => ???:0x0002e057 (2x) 22 string PackageFile = IndexPath();69,080 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::IndexPath() const (2x) 790 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (2x) 8 RPMHandler *Handler = CreateHandler();122,826 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::CreateHandler() const (2x) 16 rpmListParser Parser(Handler); 142 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::rpmListParser(RPMHandler*) (2x) 420 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::~rpmListParser() (2x) 6 if (_error->PendingError() == true) { 38 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (2x) . delete Handler; . return _error->Error(_("Problem opening %s"),PackageFile.c_str()); . } . // We call SubProgress with Size(), since we won't call SelectFile() here. 62 Prog.SubProgress(Size(),Info("pkglist")); 372 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (4x) 4,988 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::SubProgress(unsigned long, std::string) (2x)12,554 => apt-pkg/rpm/rpmindexfile.cc:rpmUrpmIndex::Info(std::string) const (2x)70,602 => apt-pkg/rpm/rpmindexfile.cc:rpmIndexFile::Size() const (2x) 586 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (2x) 14 if (Gen.MergeFileProvides(Parser) == false) 1,044 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)79,734,911 => /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::MergeFileProvides(pkgCacheGenerator::ListParser&) (2x) . return _error->Error(_("Problem with MergeFileProvides %s"), . PackageFile.c_str()); 10 delete Handler; 1,196 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::~RPMUrpmHandler() (2x) 4 return true; 14 } . /*}}}*/ . // rpmUrpmPkgIndex::FindInCache - Find this index /*{{{*/ . // --------------------------------------------------------------------- . /* */ . pkgCache::PkgFileIterator rpmUrpmPkgIndex::FindInCache(pkgCache &Cache) const 10 { 2 => ???:0x0002e057 (1x) 11 string FileName = IndexPath();34,848 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::IndexPath() const (1x) 221 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) . pkgCache::PkgFileIterator File = Cache.FileBegin(); 6 for (; File.end() == false; File++) . { . if (FileName != File.FileName()) . continue; . . struct stat St; . if (stat(File.FileName(),&St) != 0) . return pkgCache::PkgFileIterator(Cache); . . if ((unsigned)St.st_size != File->Size || St.st_mtime != File->mtime) . return pkgCache::PkgFileIterator(Cache); . return File; . } . . return File; 7 } . . pkgSrcRecords::Parser *rpmUrpmSrcIndex::CreateSrcParser() const . { . return new rpmSrcRecordParser(IndexPath(), this); . } . . // rpmUrpmSrcIndex::GetIndexes - Fetch the index files /*{{{*/ . // ----------------------------------------------------------------------- line 859 ------------------------------------------ line 1199 ---------------------------------------- . return Res; . } . . #endif /* APT_WITH_REPOMD */ . . // DatabaseIndex::rpmDatabaseIndex - Constructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 8 rpmDatabaseIndex::rpmDatabaseIndex() 2 => ???:0x0003f9b8 (1x) . { 2 } . /*}}}*/ . . string rpmDatabaseIndex::IndexPath() const . { . return rpmSys.GetDBHandler()->DataPath(false); . } . . // DatabaseIndex::Size - Return the size of the index /*{{{*/ . // --------------------------------------------------------------------- . /* */ . off_t rpmDatabaseIndex::Size() const 30 { 10 => ???:0x0002e057 (5x) 20 return rpmSys.GetDBHandler()->Size(); 757 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 105 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::GetDBHandler() (5x) 20 } . /*}}}*/ . // DatabaseIndex::CreateHandler - Create a RPMHandler for this file /*{{{*/ . // --------------------------------------------------------------------- . RPMHandler *rpmDatabaseIndex::CreateHandler() const . { . return rpmSys.GetDBHandler(); . } . /*}}}*/ . // DatabaseIndex::Merge - Load the index file into a cache /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool rpmDatabaseIndex::Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const 8 { 2 => ???:0x0002e057 (1x) 4 RPMDBHandler *Handler = rpmSys.GetDBHandler(); 21 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::GetDBHandler() (1x) 7 rpmListParser Parser(Handler); 9,478 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::rpmListParser(RPMHandler*) (1x)89,736 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::~rpmListParser() (1x) 3 if (_error->PendingError() == true) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) . return _error->Error(_("Problem opening RPM database")); . 14 Prog.SubProgress(0,"RPM Database"); 226 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) 2,494 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::SubProgress(unsigned long, std::string) (1x) 293 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) 24 if (Gen.SelectFile(Handler->DataPath(false),string(),*this,pkgCache::Flag::NotSource) == false) 40 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (2x) 4,559 => /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::SelectFile(std::string, std::string, pkgIndexFile const&, unsigned long) (1x)25,180 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::DataPath(bool) (1x) . return _error->Error(_("Problem with SelectFile RPM Database")); . . // Store the IMS information . pkgCache::PkgFileIterator CFile = Gen.GetCurFile(); . struct stat St; 13 if (stat(Handler->DataPath(false).c_str(),&St) != 0) 163 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x)12,737 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::DataPath(bool) (1x) . return _error->Errno("fstat",_("Failed to stat %s"), Handler->DataPath(false).c_str()); 3 CFile->Size = St.st_size; 6 CFile->mtime = Handler->Mtime(); 6 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMDBHandler::Mtime() (1x) . 8 if (Gen.MergeList(Parser) == false)710,112,717 => /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::MergeList(pkgCacheGenerator::ListParser&, pkgCache::VerIterator*) (1x) . return _error->Error(_("Problem with MergeList %s"), . Handler->DataPath(false).c_str()); 1 return true; 7 } . /*}}}*/ . // DatabaseIndex::MergeFileProvides - Process file dependencies if any /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool rpmDatabaseIndex::MergeFileProvides(pkgCacheGenerator &Gen, . OpProgress &Prog) const 8 { 2 => ???:0x0002e057 (1x) 3 RPMDBHandler *Handler = rpmSys.GetDBHandler(); 21 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::GetDBHandler() (1x) 7 rpmListParser Parser(Handler);10,713 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::rpmListParser(RPMHandler*) (1x) 481 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::~rpmListParser() (1x) 3 if (_error->PendingError() == true) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) . return _error->Error(_("Problem opening RPM database")); . // We call SubProgress with Size(), since we won't call SelectFile() here. 18 Prog.SubProgress(Size(),"RPM Database"); 23 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) 37 => apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::Size() const (1x) 2,494 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::SubProgress(unsigned long, std::string) (1x) 293 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) 7 if (Gen.MergeFileProvides(Parser) == false)66,319,997 => /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::MergeFileProvides(pkgCacheGenerator::ListParser&) (1x) . return _error->Error(_("Problem with MergeFileProvides %s"), . Handler->DataPath(false).c_str()); 1 return true; 7 } . /*}}}*/ . // DatabaseIndex::FindInCache - Find this index /*{{{*/ . // --------------------------------------------------------------------- . /* */ . pkgCache::PkgFileIterator rpmDatabaseIndex::FindInCache(pkgCache &Cache) const 9 { 2 => ???:0x0002e057 (1x) . pkgCache::PkgFileIterator File = Cache.FileBegin(); 4 for (; File.end() == false; File++) . { 21 if (rpmSys.GetDBHandler()->DataPath(false) != File.FileName()) 158 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) 21 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::GetDBHandler() (1x)13,465 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::DataPath(bool) (1x) . continue; . struct stat St; . if (stat(File.FileName(),&St) != 0) . return pkgCache::PkgFileIterator(Cache); . if ((unsigned)St.st_size != File->Size || St.st_mtime != File->mtime) . return pkgCache::PkgFileIterator(Cache); . return File; . } . return File; 7 } . /*}}}*/ . . // Source List types for rpm /*{{{*/ . . class rpmSLTypeGen : public pkgSourceList::Type . { . public: . . rpmSLTypeGen() 24 { 1,469 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 285 => /home/agrr/apt-rpm/apt-pkg/sourcelist.cc:pkgSourceList::Type::Type() (8x) 2 Name = "rpm"; 2 Label = "Standard RPM source tree"; . } . . pkgRepository *FindRepository(string URI,string Dist, . const pkgSourceList::Vendor *Vendor) const . { . for (vector<pkgRepository *>::const_iterator iter = RepList.begin(); . iter != RepList.end(); iter++) . {-- line 1316 ------------------------------------------ line 1345 ---------------------------------------- . Rep = new pkgRepository(URI,Dist,Vendor,BaseURI); . RepList.push_back(Rep); . return Rep; . } . }; . . . class rpmSLTypeRpm : public rpmSLTypeGen 6 { 2 => ???:0x0003f9b8 (1x) . public: . . bool CreateItem(vector<pkgIndexFile *> &List, . string URI, string Dist, string Section, . pkgSourceList::Vendor const *Vendor) const . { . pkgRepository *Rep = GetRepository(URI,Dist,Vendor); . List.push_back(new rpmPkgListIndex(URI,Dist,Section,Rep)); . return true; . } . . rpmSLTypeRpm() 3 { . Name = "rpm"; 2 Label = "Standard RPM binary tree"; . } . }; . . class rpmSLTypeSrpm : public rpmSLTypeGen 6 { 2 => ???:0x0003f9b8 (1x) . public: . . bool CreateItem(vector<pkgIndexFile *> &List, . string URI, string Dist, string Section, . pkgSourceList::Vendor const *Vendor) const . { . pkgRepository *Rep = GetRepository(URI,Dist,Vendor); . List.push_back(new rpmSrcListIndex(URI,Dist,Section,Rep)); . return true; . } . . rpmSLTypeSrpm() 3 { 2 Name = "rpm-src"; . Label = "Standard RPM source tree"; . } . }; . . class rpmSLTypeRpmDir : public rpmSLTypeGen 6 { 2 => ???:0x0003f9b8 (1x) . public: . . bool CreateItem(vector<pkgIndexFile *> &List, . string URI, string Dist, string Section, . pkgSourceList::Vendor const *Vendor) const . { . pkgRepository *Rep = GetRepository(URI,Dist,Vendor); . List.push_back(new rpmPkgDirIndex(URI,Dist,Section,Rep)); . return true; . } . . rpmSLTypeRpmDir() 3 { 2 Name = "rpm-dir"; 2 Label = "Local RPM directory tree"; . } . }; . . class rpmSLTypeSrpmDir : public rpmSLTypeGen 6 { 2 => ???:0x0003f9b8 (1x) . public: . . bool CreateItem(vector<pkgIndexFile *> &List, . string URI, string Dist, string Section, . pkgSourceList::Vendor const *Vendor) const . { . pkgRepository *Rep = GetRepository(URI,Dist,Vendor); . List.push_back(new rpmSrcDirIndex(URI,Dist,Section,Rep)); . return true; . } . . rpmSLTypeSrpmDir() 3 { 2 Name = "rpm-src-dir"; 2 Label = "Local SRPM directory tree"; . } . }; . . . class rpmSLTypeUrpm : public rpmSLTypeGen 6 { 2 => ???:0x0003f9b8 (1x) . public: . . . pkgRepository *FindRepository(string URI,string Dist, . const pkgSourceList::Vendor *Vendor) const . { 2 for (vector<pkgRepository *>::const_iterator iter = RepList.begin(); . iter != RepList.end(); iter++) . { . if ((*iter)->URI == URI && (*iter)->Dist == Dist) . { . if (Vendor != NULL) . (*iter)->FingerPrintList = Vendor->FingerPrintList; . return *iter; . } . } 1 return NULL; . } . 8 pkgRepository *GetRepository(string URI,string Dist, 2 => ???:0x0002e057 (1x) . const pkgSourceList::Vendor *Vendor) const . { 19 pkgRepository *Rep = FindRepository(URI,Dist,Vendor); 381 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (2x) 591 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (2x) 3 if (Rep != NULL) . return Rep; . 4 string BaseURI; 23 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (1x) 2 if (Dist[Dist.size() - 1] == '/') . { . if (Dist != "/") . BaseURI = URI + Dist; . else . BaseURI = URI + '/'; . } . else 17 BaseURI = URI + Dist + '/'; 220 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (2x) 655 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h:std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (1x) . 30 Rep = new urpmRepository(URI,Dist,Vendor,BaseURI); 124 => ???:operator new(unsigned int) (1x) 69 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (3x) 510 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (3x) . RepList.push_back(Rep); 1 return Rep; 6 } . 8 bool CreateItem(vector<pkgIndexFile *> &List, 2 => ???:0x0002e057 (1x) . string URI, string Dist, string Section, . pkgSourceList::Vendor const *Vendor) const . { 22 pkgRepository *Rep = GetRepository(URI,Dist,Vendor); 408 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (2x) 1,080 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 162 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (2x) 5,130 => apt-pkg/rpm/rpmindexfile.cc:rpmSLTypeUrpm::GetRepository(std::string, std::string, pkgSourceList::Vendor const*) const (1x) 31 List.push_back(new rpmUrpmPkgIndex(URI,Dist,Section,Rep)); 124 => ???:operator new(unsigned int) (1x) 69 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() (3x) 81 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (3x) . return true; 7 } . . rpmSLTypeUrpm() 3 { 2 Name = "urpm"; 2 Label = "Standard URPM binary tree"; . } . }; . . /* . TODO: AG: Rever se está tudo implementado... . */ . class rpmSLTypeUrpmSrc : public rpmSLTypeUrpm 6 { 2 => ???:0x0003f9b8 (1x) . public: . . bool CreateItem(vector<pkgIndexFile *> &List, . string URI, string Dist, string Section, . pkgSourceList::Vendor const *Vendor) const . { . pkgRepository *Rep = GetRepository(URI,Dist,Vendor); . List.push_back(new rpmUrpmSrcIndex(URI,Dist,Section,Rep)); . return true; . } . . rpmSLTypeUrpmSrc() 3 { 2 Name = "urpm-src"; 2 Label = "Standard URPM src tree"; . } . }; . . . #ifdef APT_WITH_REPOMD . class rpmSLTypeRepomd : public rpmSLTypeGen 6 { 2 => ???:0x0003f9b8 (1x) . public: . . pkgRepository *GetRepository(string URI,string Dist, . const pkgSourceList::Vendor *Vendor) const . { . pkgRepository *Rep = FindRepository(URI,Dist,Vendor); . if (Rep != NULL) . return Rep;-- line 1527 ------------------------------------------ line 1572 ---------------------------------------- . if (CreateItem(List,URI,Dist,"",Vendor) == false) . return false; . . return true; . } . . . rpmSLTypeRepomd() 3 { 2 Name = "repomd"; 2 Label = "RepoMD tree"; . } . }; . class rpmSLTypeRepomdSrc : public rpmSLTypeRepomd 6 { 2 => ???:0x0003f9b8 (1x) . public: . . bool CreateItem(vector<pkgIndexFile *> &List, . string URI, string Dist, string Section, . pkgSourceList::Vendor const *Vendor) const . { . pkgRepository *Rep = GetRepository(URI,Dist,Vendor); . List.push_back(new rpmRepomdSrcIndex(URI,Dist,Section,Rep)); . return true; . } . . rpmSLTypeRepomdSrc() 3 { 2 Name = "repomd-src"; 2 Label = "RepoMD src tree"; . } . }; . . #endif /* APT_WITH_REPOMD */ . 5 rpmSLTypeRpm _apt_rpmType; 82 => ???:__cxa_atexit (1x) 5 rpmSLTypeSrpm _apt_rpmSrcType; 82 => ???:__cxa_atexit (1x) 5 rpmSLTypeRpmDir _apt_rpmDirType; 82 => ???:__cxa_atexit (1x) 5 rpmSLTypeSrpmDir _apt_rpmSrcDirType; 82 => ???:__cxa_atexit (1x) 5 rpmSLTypeUrpm _apt_urpmType; 82 => ???:__cxa_atexit (1x) 5 rpmSLTypeUrpmSrc _apt_urpmSrcType; 82 => ???:__cxa_atexit (1x) . #ifdef APT_WITH_REPOMD 5 rpmSLTypeRepomd _apt_repomdType; 82 => ???:__cxa_atexit (1x) 5 rpmSLTypeRepomdSrc _apt_repomdSrcType; 82 => ???:__cxa_atexit (1x) . #endif . /*}}}*/ . // Index File types for rpm /*{{{*/ . class rpmIFTypeSrc : public pkgIndexFile::Type 6 { 2 => ???:0x0003f9b8 (1x) . public: . 8 rpmIFTypeSrc() {Label = "RPM Source Index";} 723 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 57 => /home/agrr/apt-rpm/apt-pkg/indexfile.cc:pkgIndexFile::Type::Type() (1x) . }; . class rpmIFTypePkg : public pkgIndexFile::Type 6 { 2 => ???:0x0003f9b8 (1x) . public: . . virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const . { . return new rpmRecordParser(File.FileName(),*File.Cache()); . } 8 rpmIFTypePkg() {Label = "RPM Package Index";} 19 => /home/agrr/apt-rpm/apt-pkg/indexfile.cc:pkgIndexFile::Type::Type() (1x) . }; . class rpmIFTypeDatabase : public pkgIndexFile::Type 6 { 2 => ???:0x0003f9b8 (1x) . public: . . virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const . { . return new rpmRecordParser(File.FileName(),*File.Cache()); . } 8 rpmIFTypeDatabase() {Label = "RPM Database";} 19 => /home/agrr/apt-rpm/apt-pkg/indexfile.cc:pkgIndexFile::Type::Type() (1x) . }; 5 static rpmIFTypeSrc _apt_Src; 82 => ???:__cxa_atexit (1x) 5 static rpmIFTypePkg _apt_Pkg; 82 => ???:__cxa_atexit (1x) 5 static rpmIFTypeDatabase _apt_DB; 82 => ???:__cxa_atexit (1x) . . const pkgIndexFile::Type *rpmSrcListIndex::GetType() const . { . return &_apt_Src; . } . const pkgIndexFile::Type *rpmPkgListIndex::GetType() const . { . return &_apt_Pkg;-- line 1655 ------------------------------------------ line 1667 ---------------------------------------- . { . return &_apt_Pkg; . } . const pkgIndexFile::Type *rpmSingleSrcIndex::GetType() const . { . return &_apt_Src; . } . const pkgIndexFile::Type *rpmDatabaseIndex::GetType() const 4 { 2 => ???:0x0003f9b8 (1x) . return &_apt_DB; 3 } . . const pkgIndexFile::Type *rpmUrpmPkgIndex::GetType() const 4 { 2 => ???:0x0003f9b8 (1x) . return &_apt_Pkg; 3 } . . const pkgIndexFile::Type *rpmUrpmSrcIndex::GetType() const . { . return &_apt_Pkg; . } . #ifdef APT_WITH_REPOMD . const pkgIndexFile::Type *rpmRepomdPkgIndex::GetType() const . { . return &_apt_Pkg; . } . const pkgIndexFile::Type *rpmRepomdSrcIndex::GetType() const . { . return &_apt_Src;41,686 } 2 => ???:0x0002e057 (1x) . #endif . . /*}}}*/ . #endif /* HAVE_RPM */ . . // vim:sts=3:sw=3---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/contrib/cmndline.cc--------------------------------------------------------------------------------Ir -- line 19 ---------------------------------------- . . #include <cstring> . /*}}}*/ . using namespace std; . . // CommandLine::CommandLine - Constructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 3 CommandLine::CommandLine(Args *AList,Configuration *Conf) : ArgList(AList), 5 Conf(Conf), FileList(0) . { 2 } . /*}}}*/ . // CommandLine::~CommandLine - Destructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 6 CommandLine::~CommandLine() 2 => ???:0x0002e057 (1x) . { 6 delete [] FileList;135 => ???:operator delete[](void*) (1x) 4 } . /*}}}*/ . // CommandLine::Parse - Main action member /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool CommandLine::Parse(int argc,const char **argv) 8 { 2 => ???:0x0002e057 (1x) 4 delete [] FileList; 7 FileList = new const char *[argc];6,900 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)245 => ???:operator new[](unsigned int) (1x) . const char **Files = FileList; . int I; 9 for (I = 1; I != argc; I++) . { 3 const char *Opt = argv[I]; . . // It is not an option 2 if (*Opt != '-') . { 4 *Files++ = Opt; . continue; . } . . Opt++; . . // Double dash signifies the end of option processing . if (*Opt == '-' && Opt[1] == 0) . {-- line 64 ------------------------------------------ line 73 ---------------------------------------- . while (*Opt != 0) . { . // Search for the option . Args *A; . for (A = ArgList; A->end() == false && A->ShortOpt != *Opt; A++); . if (A->end() == true) . return _error->Error(_("Command line option '%c' [from %s] is not known."),*Opt,argv[I]); . 4 if (HandleOpt(I,argc,argv,Opt,A) == false) . return false; . if (*Opt != 0) . Opt++; . } . continue; . } . . Opt++;-- line 89 ------------------------------------------ line 124 ---------------------------------------- . // The option is not boolean . if (A->IsBoolean() == false) . return _error->Error(_("Command line option %s is not boolean"),argv[I]); . PreceedMatch = true; . } . . // Deal with it. . OptEnd--; 3 if (HandleOpt(I,argc,argv,OptEnd,A,PreceedMatch) == false) . return false; . } . . // Copy any remaining file names over . for (; I != argc; I++) . *Files++ = argv[I]; 2 *Files = 0; . 2 return true; 6 } . /*}}}*/ . // CommandLine::HandleOpt - Handle a single option including all flags /*{{{*/ . // --------------------------------------------------------------------- . /* This is a helper function for parser, it looks at a given argument . and looks for specific patterns in the string, it gets tokanized . -ruffly- like -*[yes|true|enable]-(o|longopt)[=][ ][argument] */ . bool CommandLine::HandleOpt(int &I,int argc,const char *argv[], . const char *&Opt,Args *A,bool PreceedMatch)-- line 150 ------------------------------------------ line 314 ---------------------------------------- . Conf->Set(A->ConfName,Sense); . return true; . } . /*}}}*/ . // CommandLine::FileSize - Count the number of filenames /*{{{*/ . // --------------------------------------------------------------------- . /* */ . unsigned int CommandLine::FileSize() const 4 { 2 unsigned int Count = 0;26 for (const char **I = FileList; I != 0 && *I != 0; I++) 2 Count++; . return Count; 4 } . /*}}}*/ . // CommandLine::DispatchArg - Do something with the first arg /*{{{*/ . // --------------------------------------------------------------------- . /* */ 4 bool CommandLine::DispatchArg(Dispatch *Map,bool NoMatch)11 { 2 => ???:0x0002e057 (1x) 6 const char *cmd = FileList ? FileList[0] : 0; 2 if (cmd == 0) . { . _error->Error(_("Invalid operation %s"),cmd); . return false; . } . . int I;39 for (I = 0; Map[I].Match != 0; I++) . {50 if (strcmp(cmd,Map[I].Match) == 0)7,424 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)118 => ???:__strcmp_ssse3 (10x) . { 5 bool Res = Map[I].Handler(*this);5,018,060,970 => /home/agrr/apt-rpm/cmdline/apt-get.cc:DoCheck(CommandLine&) (1x) 2 if (Res == false && _error->PendingError() == false) 9 _error->Error("Handler silently failed"); . return Res; . } . } . . // No matching name . if (Map[I].Match == 0) . { . if (NoMatch == true) . _error->Error(_("Invalid operation %s"),cmd); . } . . return false;19 } 2 => ???:0x0002e057 (1x) . /*}}}*/---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/rpm/raptheader.cc-------------------------------------------------------------------------------- Ir -- line 15 ---------------------------------------- . * - actually implement "raw" string mode + handle i18n strings correctly . * - we'll need putTag() method too for genpkglist . * - for older rpm versions we'll need to use one of rpmHeaderGetEntry(), . * headerGetEntry() or headerGetRawEntry() depending on tag and content . * - we'll want to eventually replace rpmhandler's HeaderP with raptHeader(), . * add constructors for reading in from files, db iterators & all etc... . */ . 72,984 raptHeader::raptHeader(Header h) 24,328 => ???:0x0002e057 (12164x) . {121,640 Hdr = headerLink(h); 2,161 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)2,116,536 => ???:rpmioLinkPoolItem (12164x) 48,656 } . 72,984 raptHeader::~raptHeader() 24,328 => ???:0x0002e057 (12164x) . {109,476 headerUnlink(Hdr);2,116,536 => ???:rpmioUnlinkPoolItem (12164x) 2,190 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 48,656 } . . bool raptHeader::hasTag(rpmTag tag) . { . return headerIsEntry(Hdr, tag); . } . . // XXX: should have a way to pass back formatting error messages . string raptHeader::format(const string fmt)-- line 39 ------------------------------------------ line 44 ---------------------------------------- . if (s) { . res = string(s); . free(s); . } . return res; . } . . bool raptHeader::getTag(rpmTag tag, uint32_t &data) 21,455 { 6,130 => ???:0x0002e057 (3065x) . vector<uint32_t> _data; 3,065 bool ret = false; . 30,650 if (getTag(tag, _data) && _data.size() == 1) {16,892,601 => apt-pkg/rpm/raptheader.cc:raptHeader::getTag(rpmTag_e, std::vector<unsigned int, std::allocator<unsigned int> >&) (3065x) 939 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . data = _data[0]; . ret = true; . } . return ret; 18,390 } . . bool raptHeader::getTag(rpmTag tag, string &data, bool raw) 67,888 { 16,972 => ???:0x0002e057 (8486x) . vector<string> _data; 8,486 bool ret = false; . 110,318 if (getTag(tag, _data, raw) && _data.size() == 1) {55,021,484 => apt-pkg/rpm/raptheader.cc:raptHeader::getTag(rpmTag_e, std::vector<std::string, std::allocator<std::string> >&, bool) (8486x) 973 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . data = _data[0]; 16,972 ret = true; . } . return ret; 59,402 } . . bool raptHeader::getTag(rpmTag tag, vector<string> &data, bool raw)109,188 { 18,198 => ???:0x0002e057 (9099x) 9,099 bool ret = false; . void *val = NULL; . int rc = 0; . rpmTagCount count = 0; . rpmTagType type = (rpmTagType)0;318,465 HE_t he = (HE_t)memset(alloca(sizeof(*he)), 0, sizeof(*he)); 18,198 he->tag = (rpmTag)tag; . 18,198 if (tag == RPMTAG_OLDFILENAMES) { . rc = headerGet(Hdr, he, 0); . if (rc) { . type = he->t; . val = he->p.ptr; . count = he->c; . } 16,972 } else if (raw) { . he->t = type; . he->p.str = (const char*)val; . he->c = count; . rc = headerGet(Hdr, he, tag); . if (rc) { . type = he->t; . val = he->p.ptr; . count = he->c; . } . } else { 63,693 rc = headerGet(Hdr, he, 0); 1,649 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)52,401,348 => ???:headerGet (9099x) 18,198 if (rc) { 8,486 type = he->t; 16,972 val = he->p.ptr; 16,972 count = he->c; . } . } . . if (rc) { 16,972 switch (type) { . case RPM_STRING_TYPE: { . char *hdata = (char *)val; 59,402 data.push_back(hdata);2,503,739 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (8486x) 8,486 ret = true; . break; . } . case RPM_STRING_ARRAY_TYPE: . case RPM_I18NSTRING_TYPE: { . char **hdata = (char **)val; . for (int i = 0; i < count; i++) { . data.push_back(hdata[i]); . }-- line 124 ------------------------------------------ line 126 ---------------------------------------- . ret = true; . break; . } . default: . break; . } . } . return ret; 54,594 } . . bool raptHeader::getTag(rpmTag tag, vector<uint32_t> &data) 24,520 { 6,130 => ???:0x0002e057 (3065x) . bool ret = false; . rpmTagCount count = 0; . rpmTagType type = (rpmTagType)0;104,210 HE_t he = (HE_t)memset(alloca(sizeof(*he)), 0, sizeof(*he)); . 6,130 he->tag = tag; . 18,390 if (headerGet(Hdr, he, 0)) {16,711,766 => ???:headerGet (3065x) . if (type == RPM_UINT32_TYPE) { . uint32_t *hdata = he->p.ui32p; . for (int i = 0; i < count; i++) { . data.push_back(hdata[i]); . } . ret = true; . } . } . return ret; 38,439 } 2 => ???:0x0002e057 (1x) . . // vim:sts=3:sw=3---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/../include/apt-pkg/depcache.h-------------------------------------------------------------------------------- Ir -- line 112 ---------------------------------------- . . virtual VerIterator GetCandidateVer(PkgIterator Pkg); . virtual bool IsImportantDep(DepIterator Dep); . // CNC:2003-03-05 - We need access to the priority in pkgDistUpgrade . // while checking for obsoleting packages. . virtual signed short GetPkgPriority(pkgCache::PkgIterator const &Pkg) . { return 0; } . 4 virtual ~Policy() {} . }; . . protected: . . // State information . pkgCache *Cache; . StateCache *PkgState; . unsigned char *DepState;-- line 128 ------------------------------------------ line 138 ---------------------------------------- . Policy *delLocalPolicy; // For memory clean up.. . Policy *LocalPolicy; . . // Check for a matching provides . bool CheckDep(DepIterator Dep,int Type,PkgIterator &Res); . inline bool CheckDep(DepIterator Dep,int Type) . { . PkgIterator Res(*this,0);2,758,422 return CheckDep(Dep,Type,Res);3,541,202,000 => /home/agrr/apt-rpm/apt-pkg/depcache.cc:pkgDepCache::CheckDep(pkgCache::DepIterator, int, pkgCache::PkgIterator&) (285354x) 1,119 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . } . . // Computes state information for deps and versions (w/o storing) . unsigned char DependencyState(DepIterator &D); . unsigned char VersionState(DepIterator D,unsigned char Check, . unsigned char SetMin, . unsigned char SetPolicy); . -- line 154 ------------------------------------------ line 165 ---------------------------------------- . public: . . // CNC:2003-02-23 - See below. . class State; . friend class State; . . // Legacy.. We look like a pkgCache . inline operator pkgCache &() {return *Cache;} 8 inline Header &Head() {return *Cache->HeaderP;} . inline PkgIterator PkgBegin() {return Cache->PkgBegin();} . inline PkgIterator FindPkg(string const &Name) {return Cache->FindPkg(Name);} . . inline pkgCache &GetCache() {return *Cache;} 570,708 inline pkgVersioningSystem &VS() {return *Cache->VS;} . . // Policy implementation 659,190 inline VerIterator GetCandidateVer(PkgIterator Pkg) {return LocalPolicy->GetCandidateVer(Pkg);}5,213,335 => /home/agrr/apt-rpm/apt-pkg/policy.cc:pkgPolicy::GetCandidateVer(pkgCache::PkgIterator) (43946x) 891,872 inline bool IsImportantDep(DepIterator Dep) {return LocalPolicy->IsImportantDep(Dep);}13,327,622 => /home/agrr/apt-rpm/apt-pkg/../include/apt-pkg/policy.h:pkgPolicy::IsImportantDep(pkgCache::DepIterator) (111484x) . inline Policy &GetPolicy() {return *LocalPolicy;} . // CNC:2003-03-05 - See above. . inline signed short GetPkgPriority(pkgCache::PkgIterator const &Pkg) {return LocalPolicy->GetPkgPriority(Pkg);} . . // Accessors . inline StateCache &operator [](PkgIterator const &I) {return PkgState[I->ID];} . inline unsigned char &operator [](DepIterator const &I) {return DepState[I->ID];} . -- line 190 -------------------------------------------------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/rpm/rpmversion.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/rpm/rpmversion.cc---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/rpm/urpmlistfile.cc-------------------------------------------------------------------------------- Ir -- line 27 ---------------------------------------- . #include <ctype.h> . /*}}}*/ . . using std::string; . . // TagFile::UrpmListFile - Constructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 48 UrpmListFile::UrpmListFile(FileFd *pFd,size_t Size) : Fd(*pFd), Size(Size) 8 => ???:0x0002e057 (4x) . { 12 if (Fd.IsOpen() == false) . { . Buffer = 0; . Start = End = Buffer = 0; . Done = true; . iOffset = 0; . return; . } . 12 Buffer = new char[Size]; 1,366 => ???:operator new[](unsigned int) (4x) . //fprintf(stderr, "New UrpmListFile: %s\n", pFd->Name().c_str()); 8 Start = End = Buffer; 4 Done = false; 4 iOffset = 0; 8 Fill(); 564 => apt-pkg/rpm/urpmlistfile.cc:UrpmListFile::Fill() (4x) 705 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 20 } . /*}}}*/ . // TagFile::~UrpmListFile - Destructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 24 UrpmListFile::~UrpmListFile() 8 => ???:0x0002e057 (4x) . { 24 delete [] Buffer; 368 => ???:operator delete[](void*) (4x) 16 } . /*}}}*/ . // TagFile::Step - Advance to the next section /*{{{*/ . // --------------------------------------------------------------------- . /* If the Section Scanner fails we refill the buffer and try again. */ . bool UrpmListFile::Step(UrpmListSection &Tag) 237,210 { 47,442 => ???:0x0002e057 (23721x) 213,489 if (Tag.Scan(Start,End - Start) == false)59,604,792 => apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::Scan(char const*, unsigned long) (23721x) 1,550 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . { 30 if (Fill() == false) 621 => apt-pkg/rpm/urpmlistfile.cc:UrpmListFile::Fill() (6x) 6 return false; . . if (Tag.Scan(Start,End - Start) == false) . return _error->Error(_("Unable to parse package file %s (1) - maybe empty?"), . Fd.Name().c_str()); . } 23,715 Start += Tag.size(); 23,715 iOffset += Tag.size(); . 47,430 Tag.Trim(); 777 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 403,155 => apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::Trim() (23715x) 23,715 return true; 142,326 } . /*}}}*/ . // TagFile::Fill - Top up the buffer /*{{{*/ . // --------------------------------------------------------------------- . /* This takes the bit at the end of the buffer and puts it at the start . then fills the rest from the file */ 18 bool UrpmListFile::Fill() 90 { 20 => ???:0x0002e057 (10x) 30 size_t EndSize = End - Start; 10 unsigned long Actual = 0; . 50 memmove(Buffer,Start,EndSize); 127 => ???:__memmove_ssse3 (10x) 20 Start = Buffer; 20 End = Buffer + EndSize; . 20 if (Done == false) . { . // See if only a bit of the file is left 84 if (Fd.Read(End,Size - (End - Buffer),&Actual) == false) 522 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::Read(void*, unsigned long, unsigned long*) (7x) 7 return false; 53 if (Actual != Size - (End - Buffer)) 3 Done = true; 17 End += Actual; . } . . . 8 if (Done == true) . { 12 if (EndSize <= 3 && Actual == 0) . return false; . if (Size - (End - Buffer) < 4) 6 return true; . } . . . /* XXX Not needed because our Scan() isnt expecting it . // Append a double new line if one does not exist . unsigned int LineCount = 0; . for (const char *E = End - 1; E - End < 6 && (*E == '\n' || *E == '\r'); E--) . if (*E == '\n')-- line 121 ------------------------------------------ line 122 ---------------------------------------- . LineCount++; . for (; LineCount < 2; LineCount++) . *End++ = '\n'; . . . return true; . }*/ . 8 return true; 60 } . /*}}}*/ . // TagFile::Jump - Jump to a pre-recorded location in the file /*{{{*/ . // --------------------------------------------------------------------- . /* This jumps to a pre-recorded file location and reads the record . that is there */ . bool UrpmListFile::Jump(UrpmListSection &Tag,off_t Offset) . { . // We are within a buffer space of the next hit..-- line 139 ------------------------------------------ line 171 ---------------------------------------- . // TagSection::Scan - Scan for the end of the header information /*{{{*/ . // --------------------------------------------------------------------- . /* This looks for the first double new line in the data stream. It also . indexes the tags in the section. This very simple hash function for the . first 3 letters gives very good performance on the debian package files */ . inline static unsigned long AlphaHash(const char *Text, const char *End = 0) . { . unsigned long Res = 0;20,257,155 for (; Text != End && *Text != '@' && *Text != 0; Text++) 6,359,400 Res = (unsigned long)(*Text) ^ (Res << 2); . return Res & 0xFF; /* Freaking no-op !! OMG uber-733t haxorz... */ . } . . bool UrpmListSection::Scan(const char *Start,unsigned long MaxLength) 237,210 { 47,442 => ???:0x0002e057 (23721x) 71,163 const char *End = Start + MaxLength; 47,442 Stop = Section = Start; 3,178,614 memset(AlphaIndexes,0,sizeof(AlphaIndexes)); . 71,163 if (Stop == 0) . return false; . 23,721 TagCount = 0; 684,621 while (TagCount+1 < sizeof(Indexes)/sizeof(Indexes[0]) && Stop < End) . { . // Start a new index and add it to the hash 732,039 if (isspace(Stop[0]) == 0) 1,882,386 => ???:isspace (104577x) . { 522,885 Indexes[TagCount++] = Stop - Section; 522,885 AlphaIndexes[AlphaHash(Stop+1,End)] = TagCount; . } . 313,731 Stop = (const char *)memchr(Stop,'\n',End - Stop); . 209,154 if (Stop == 0) . return false; . . // @info line marks the end of the record 627,462 if (Stop+1 < End && Stop[2] == 'i') /*TODO: Test this info line matching */ . { 213,435 Indexes[TagCount++] = (Stop + 1) - Section; 71,145 AlphaIndexes[AlphaHash(Stop + 2,End)] = TagCount; 94,860 Stop = (const char *)memchr(Stop+1 ,'\n',End - Stop); //Find next newline 71,145 Indexes[TagCount] = Stop - Section; . 379,422 for (; Stop < End && (Stop[0] == '\n' || Stop[0] == '\r'); Stop++); 47,430 return true; . } . 80,862 Stop++; . } . . return false; 142,326 } . /*}}}*/ . // TagSection::Trim - Trim off any trailing garbage /*{{{*/ . // --------------------------------------------------------------------- . /* There should be exactly 1 newline at the end of the buffer, no more. */ . void UrpmListSection::Trim() 94,860 { 237,150 for (; Stop > Section + 2 && (Stop[-2] == '\n' || Stop[-2] == '\r'); Stop--); 71,145 } . /*}}}*/ . // TagSection::Find - Locate a tag /*{{{*/ . // --------------------------------------------------------------------- . /* This searches the section for a tag that matches the given string. */ . bool UrpmListSection::Find(const char *Tag,unsigned &Pos) const . { . size_t Length = strlen(Tag); . unsigned int I = AlphaIndexes[AlphaHash(Tag)];-- line 240 ------------------------------------------ line 263 ---------------------------------------- . return false; . } . /*}}}*/ . // TagSection::Find - Locate a tag /*{{{*/ . // --------------------------------------------------------------------- . /* This searches the section for a tag that matches the given string. */ . bool UrpmListSection::Find(const char *Tag,const char *&Start, . const char *&End) const 1,770,768 { 442,692 => ???:0x0002e057 (221346x) 885,384 unsigned int Length = strlen(Tag); 4,632,450 => ???:__strlen_sse2 (221346x) 442,692 unsigned int I = AlphaIndexes[AlphaHash(Tag)]; 442,692 if (I == 0) 221,346 return false; 804,752 I--; . 1,515,070 for (unsigned int Counter = 0; Counter != TagCount; Counter++, . I = (I+1)%TagCount) . { . const char *St; 1,073,204 St = Section + Indexes[I]+ 1; //+1 to skip the initial '@' . 2,683,010 if (strncasecmp(Tag,St,Length) != 0)48,603,972 => ???:strncasecmp (268301x) . continue; . . // Make sure the '@' is in the right place 188,075 const char *C = St + Length; 376,150 if (*C != '@') . continue; . . // Strip off the gunk from the start end 376,150 Start = C; 940,375 End = Section + Indexes[I+1]; 752,300 if (Start >= End) 564,225 return _error->Error("Internal parsing error Start=%p, End=%p",Start, End); . 5,642,250 for (; (isspace(*Start) != 0 || *Start == '@') && Start < End; Start++);14,223,240 => ???:isspace (376150x) 1,620,890 for (; isspace(End[-1]) != 0 && End > Start; End--); 4,067,190 => ???:isspace (225955x) . 188,075 return true; . } . 52,452 Start = End = 0; 26,226 return false; 1,328,076 } . /*}}}*/ . // TagSection::FindS - Find a string /*{{{*/ . // --------------------------------------------------------------------- . /* */ . string UrpmListSection::FindS(const char *Tag) const 1,351,809 { 300,402 => ???:0x0002e057 (150201x) . const char *Start; . const char *End; 1,652,211 if (Find(Tag,Start,End) == false) 850 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)50,165,724 => apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::Find(char const*, char const*&, char const*&) const (150201x) . return string(); . . string ret(Start,End); . //fprintf(stderr, "FindS returned %s\n",ret.c_str()); 600,780 return ret; 4,055,265 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (150195x) 1,051,407 } . /*}}}*/ . // TagSection::FindI - Find an integer /*{{{*/ . // --------------------------------------------------------------------- . /* */ . signed int UrpmListSection::FindI(const char *Tag,signed long Default) const 71,145 { 15,810 => ???:0x0002e057 (7905x) . const char *Start; . const char *Stop; 86,955 if (Find(Tag,Start,Stop) == false) 3,786,495 => apt-pkg/rpm/urpmlistfile.cc:UrpmListSection::Find(char const*, char const*&, char const*&) const (7905x) . return Default; . . // Copy it into a temp buffer so we can use strtol . char S[300]; 39,525 if ((unsigned)(Stop - Start) >= sizeof(S)) . return Default; 47,430 strncpy(S,Start,Stop-Start); 14,837 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 439,402 => ???:strncpy (7905x) 7,905 S[Stop - Start] = 0; . . char *End; 47,430 signed long Result = strtol(S,&End,10); 7,421 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 1,965,489 => ???:strtol (7905x) 23,715 if (S == End) . return Default; 7,905 return Result; 55,347 } 2 => ???:0x0002e057 (1x) . . ---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/pkgcachegen.cc-------------------------------------------------------------------------------- Ir -- line 32 ---------------------------------------- . #include <stdio.h> . #include <system.h> . /*}}}*/ . typedef vector<pkgIndexFile *>::iterator FileIterator; . . // CacheGenerator::pkgCacheGenerator - Constructor /*{{{*/ . // --------------------------------------------------------------------- . /* We set the diry flag and make sure that is written to the disk */ 10 pkgCacheGenerator::pkgCacheGenerator(DynamicMMap *pMap,OpProgress *Prog) : 2 => ???:0x0002e057 (1x) . Map(*pMap), Cache(pMap,false), Progress(Prog), 10 FoundFileDeps(0) 25 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::pkgCache(MMap*, bool) (1x) . { 1 CurrentFile = 0; 30 memset(UniqHash,0,sizeof(UniqHash)); . 3 if (_error->PendingError() == true) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) . return; . 4 if (Map.Size() == 0) . { . // Setup the map interface.. 2 Cache.HeaderP = (pkgCache::Header *)Map.Data(); 4 Map.RawAllocate(sizeof(pkgCache::Header)); 2,233 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 27 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::RawAllocate(unsigned int, unsigned long) (1x) 6 Map.UsePools(*Cache.HeaderP->Pools,sizeof(Cache.HeaderP->Pools)/sizeof(Cache.HeaderP->Pools[0])); . . // Starting header 8 *Cache.HeaderP = pkgCache::Header(); 10,576 => ???:__memcpy_ssse3 (1x) 3,781 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::Header::Header() (1x) 11 Cache.HeaderP->VerSysName = Map.WriteString(_system->VS->Label); 98 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::WriteString(char const*, unsigned int) (1x) 795 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 14 Cache.HeaderP->Architecture = Map.WriteString(_config->Find("APT::Architecture")); 2,206 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::Find(char const*, char const*) const (1x) 3 Cache.ReMap(); 6,290 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::ReMap() (1x) . } . else . { . // Map directly from the existing file . Cache.ReMap(); . Map.UsePools(*Cache.HeaderP->Pools,sizeof(Cache.HeaderP->Pools)/sizeof(Cache.HeaderP->Pools[0])); . if (Cache.VS != _system->VS) . { 2 _error->Error(_("Cache has an incompatible versioning system")); . return; . } . } . 1 Cache.HeaderP->Dirty = true; 4 Map.Sync(0,sizeof(pkgCache::Header)); 640 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 12,556 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:MMap::Sync(unsigned int, unsigned int) (1x) 6 } . /*}}}*/ . // CacheGenerator::~pkgCacheGenerator - Destructor /*{{{*/ . // --------------------------------------------------------------------- . /* We sync the data then unset the dirty flag in two steps so as to . advoid a problem during a crash */ 9 pkgCacheGenerator::~pkgCacheGenerator() 2 => ???:0x0002e057 (1x) . { 3 if (_error->PendingError() == true) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) . return; 5 if (Map.Sync() == false) 44 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:MMap::Sync() (1x) . return; . 2 Cache.HeaderP->Dirty = false; 5 Map.Sync(0,sizeof(pkgCache::Header)); 99 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:MMap::Sync(unsigned int, unsigned int) (1x) 6 } . /*}}}*/ . // CacheGenerator::MergeList - Merge the package list /*{{{*/ . // --------------------------------------------------------------------- . /* This provides the generation of the entries in the cache. Each loop . goes through a single package record from the underlying parse engine. */ . bool pkgCacheGenerator::MergeList(ListParser &List, . pkgCache::VerIterator *OutVer) 20 { 4 => ???:0x0002e057 (2x) 2 List.Owner = this; . . // CNC:2003-02-20 - When --reinstall is used during a cache building . // process, the algorithm is sligthly changed to . // order the "better" architectures before, even if . // they are already in the system. 16 bool ReInstall = _config->FindB("APT::Get::ReInstall", false); 7,246 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindB(char const*, bool) const (2x) . 2 unsigned int Counter = 0; 42,600 while (List.Step() == true)328,299,867 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Step() (8520x) . { . // Get a pointer to the package structure 59,626 string PackageName = List.Package(); 468,490 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Package() (8518x) 25,554 if (PackageName.empty() == true) . return false; . . pkgCache::PkgIterator Pkg; 119,252 if (NewPackage(Pkg,PackageName) == false) 4,015 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 461,187 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (8518x)4,450,885 => apt-pkg/pkgcachegen.cc:pkgCacheGenerator::NewPackage(pkgCache::PkgIterator&, std::string) (8518x) . return _error->Error(_("Error occured while processing %s (NewPackage)"),PackageName.c_str()); 8,518 Counter++; . // CNC:2003-02-16 59,881 if (Counter % 100 == 0 && Progress != 0) { 425 if (List.OrderedOffset() == true) 1,275 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.h:rpmListParser::OrderedOffset() (85x) 553 Progress->Progress(List.Offset()); 553 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.h:rpmListParser::Offset() (79x) 723 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 102,661 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::Progress(unsigned long) (79x) . else 36 Progress->Progress(Counter); 966 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::Progress(unsigned long) (6x) . } . . /* Get a pointer to the version structure. We know the list is sorted . so we use that fact in the search. Insertion of new versions is . done with correct sorting */ 59,626 string Version = List.Version();149,530,967 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Version() (8518x) 25,554 if (Version.empty() == true) . { . if (List.UsePackage(Pkg,pkgCache::VerIterator(Cache)) == false) . return _error->Error(_("Error occured while processing %s (UsePackage1)"), . PackageName.c_str()); . continue; . } . . // CNC:2002-07-09 68,144 string Arch = List.Architecture();48,223,168 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Architecture() (8518x) . . pkgCache::VerIterator Ver = Pkg.VersionList(); 25,554 map_ptrloc *Last = &Pkg->VersionList; 8,518 int Res = 1; 25,730 for (; Ver.end() == false; Last = &Ver->NextVer, Ver++) . { . // 2003-02-20 - If the package is already installed, the . // architecture doesn't matter, unless . // --reinstall has been used. 4,221 if (!ReInstall && List.IsDatabase()) 9,045 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.h:rpmListParser::IsDatabase() (603x) 3,618 Res = Cache.VS->CmpVersion(Version, Ver.VerStr()); 16,281 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (603x) . else . Res = Cache.VS->CmpVersionArch(Version,Arch, 17,036 Ver.VerStr(),Ver.Arch()); 1,809 if (Res >= 0) . break; . } . . /* We already have a version for this item, record that we . saw it */ 34,072 unsigned long Hash = List.VersionHash();1,274,344,333 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::VersionHash() (8518x) 27,786 if (Res == 0 && Ver->Hash == Hash) . { 8,370 if (List.UsePackage(Pkg,Ver) == false) 786,293 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::UsePackage(pkgCache::PkgIterator, pkgCache::VerIterator) (558x) . return _error->Error(_("Error occured while processing %s (UsePackage2)"), . PackageName.c_str()); . 3,906 if (NewFileVer(Ver,List) == false)3,490,809 => apt-pkg/pkgcachegen.cc:pkgCacheGenerator::NewFileVer(pkgCache::VerIterator&, pkgCacheGenerator::ListParser&) (558x) . return _error->Error(_("Error occured while processing %s (NewFileVer1)"), . PackageName.c_str()); . . // Read only a single record and return 1,674 if (OutVer != 0) . { . *OutVer = Ver; . FoundFileDeps |= List.HasFileDeps(); . return true; . } . . continue; . } -- line 183 ------------------------------------------ line 193 ---------------------------------------- . Res = Cache.VS->CmpVersionArch(Version,Arch, . Ver.VerStr(),Ver.Arch()); . if (Res != 0) . break; . } . } . . // Add a new version 159,200 *Last = NewVersion(Ver,Version,*Last); 1,056 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 214,920 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (7960x)1,869,191 => apt-pkg/pkgcachegen.cc:pkgCacheGenerator::NewVersion(pkgCache::VerIterator&, std::string, unsigned long) (7960x) 7,960 Ver->ParentPkg = Pkg.Index(); 15,920 Ver->Hash = Hash; 71,640 if (List.NewVersion(Ver) == false)877,686,141 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::NewVersion(pkgCache::VerIterator) (7960x) . return _error->Error(_("Error occured while processing %s (NewVersion1)"), . PackageName.c_str()); . 119,400 if (List.UsePackage(Pkg,Ver) == false)61,173,416 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::UsePackage(pkgCache::PkgIterator, pkgCache::VerIterator) (7960x) . return _error->Error(_("Error occured while processing %s (UsePackage3)"), . PackageName.c_str()); . 55,720 if (NewFileVer(Ver,List) == false)47,154,873 => apt-pkg/pkgcachegen.cc:pkgCacheGenerator::NewFileVer(pkgCache::VerIterator&, pkgCacheGenerator::ListParser&) (7960x) 1,182 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . return _error->Error(_("Error occured while processing %s (NewVersion2)"), . PackageName.c_str()); . . // Read only a single record and return 23,880 if (OutVer != 0) . { . *OutVer = Ver; . FoundFileDeps |= List.HasFileDeps(); . return true; . } . } . 4 FoundFileDeps |= List.HasFileDeps(); . 6 if (Cache.HeaderP->PackageCount >= (1ULL<<sizeof(Cache.PkgP->ID)*8)-1) 2 return _error->Error(_("Wow, you exceeded the number of package " . "names this APT is capable of.")); 4 if (Cache.HeaderP->VersionCount >= (1ULL<<(sizeof(Cache.VerP->ID)*8))-1) 2 return _error->Error(_("Wow, you exceeded the number of versions " . "this APT is capable of.")); 4 if (Cache.HeaderP->DependsCount >= (1ULL<<(sizeof(Cache.DepP->ID)*8))-1ULL) . return _error->Error(_("Wow, you exceeded the number of dependencies " . "this APT is capable of.")); 2 return true; 12 } . /*}}}*/ . // CacheGenerator::MergeFileProvides - Merge file provides /*{{{*/ . // --------------------------------------------------------------------- . /* If we found any file depends while parsing the main list we need to . resolve them. Since it is undesired to load the entire list of files . into the cache as virtual packages we do a two stage effort. MergeList . identifies the file depends and this creates Provdies for them by . re-parsing all the indexs. */ . bool pkgCacheGenerator::MergeFileProvides(ListParser &List) 27 { 6 => ???:0x0002e057 (3x) 6 List.Owner = this; . 3 unsigned int Counter = 0; 82,133 while (List.Step() == true)93,899,666 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Step() (16426x) . { 131,384 string PackageName = List.Package();4,063,542 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Package() (16423x) 49,269 if (PackageName.empty() == true) . return false; 114,961 string Version = List.Version();18,913,854 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Version() (16423x) 49,269 if (Version.empty() == true) . continue; . 229,922 pkgCache::PkgIterator Pkg = Cache.FindPkg(PackageName); 696 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 443,421 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (16423x)6,230,826 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::FindPkg(std::string) (16423x) . if (Pkg.end() == true) . #if 0 . // CNC:2003-03-03 - Ignore missing packages. This will happen when . // a package is placed in Allow-Duplicated and . // then removed, but the source cache is still . // counting with it as Allow-Duplicated. No good . // way to handle that right now. . return _error->Error(_("Error occured while processing %s (FindPkg)"), . PackageName.c_str()); . #else . continue; . #endif . 16,423 Counter++; . // CNC:2003-02-16 115,617 if (Counter % 100 == 0 && Progress != 0) { 820 if (List.OrderedOffset() == true) 2,460 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.h:rpmListParser::OrderedOffset() (164x) 1,264 Progress->Progress(List.Offset()); 1,106 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.h:rpmListParser::Offset() (158x) 49,500 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::Progress(unsigned long) (158x) . else 42 Progress->Progress(Counter); 966 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::Progress(unsigned long) (6x) . } . 114,961 string Arch = List.Architecture();8,813,332 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Architecture() (16423x) . pkgCache::VerIterator Ver = Pkg.VersionList(); 147,897 for (; Ver.end() == false; Ver++) . { . // We'd want to check against versionhash but repomd filelists . // don't carry all the necessary data. Settle for ver-arch match. 148,077 if (strcmp(Version.c_str(), Ver.VerStr()) == 0 &&1,794,802 => ???:__strcmp_ssse3 (16468x) 65,692 strcmp(Arch.c_str(), Ver.Arch()) == 0) 501,777 => ???:__strcmp_ssse3 (16423x) . { 213,499 if (List.CollectFileProvides(Cache,Ver) == false)4,529,540 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::CollectFileProvides(pkgCache&, pkgCache::VerIterator) (16423x) . return _error->Error(_("Error occured while processing %s (CollectFileProvides)"),PackageName.c_str()); . break; . } . } . . // CNC:2003-03-03 - Ignore missing versions. This will happen when . // a package is placed in Allow-Duplicated and . // then removed, but the source cache is still-- line 300 ------------------------------------------ line 301 ---------------------------------------- . // counting with it as Allow-Duplicated. No good . // way to handle that right now. . #if 0 . if (Ver.end() == true) . _error->Warning(_("Package %s %s was not found while processing file dependencies"),PackageName.c_str(),Version.c_str()); . #endif . } . 3 return true; 18 } . /*}}}*/ . // CacheGenerator::NewPackage - Add a new package /*{{{*/ . // --------------------------------------------------------------------- . /* This creates a new package structure and adds it to the hash table */ . bool pkgCacheGenerator::NewPackage(pkgCache::PkgIterator &Pkg,string Name)1,598,080 { 319,616 => ???:0x0002e057 (159808x) . // CNC:2003-02-17 - Optimized. . #if 0 . Pkg = Cache.FindPkg(Name); . if (Pkg.end() == false) . return true; . #else1,118,656 pkgCache::Package *P = Cache.FindPackage(Name.c_str());44,453,657 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::FindPackage(char const*) (159808x) 764 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 827,010 if (P != NULL) { . Pkg = pkgCache::PkgIterator(Cache, P); 115,862 return true; . } . #endif . . // Get a structure 307,622 unsigned long Package = Map.Allocate(sizeof(pkgCache::Package));3,299,765 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::Allocate(unsigned long) (43946x) 131,838 if (Package == 0) . return false; . 307,622 Pkg = pkgCache::PkgIterator(Cache,Cache.PkgP + Package); . . // Insert it into the hash table 307,622 unsigned long Hash = Cache.Hash(Name);2,373,084 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (43946x) 307,622 Pkg->NextPackage = Cache.HeaderP->HashTable[Hash]; 131,838 Cache.HeaderP->HashTable[Hash] = Package; . . // Set the name and the ID 263,676 Pkg->Name = Map.WriteString(Name);1,186,542 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (43946x) 131,838 if (Pkg->Name == 0) 43,946 return false; 263,676 Pkg->ID = Cache.HeaderP->PackageCount++; . 87,892 return true; 958,848 } . /*}}}*/ . // CacheGenerator::NewFileVer - Create a new File<->Version association /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool pkgCacheGenerator::NewFileVer(pkgCache::VerIterator &Ver, . ListParser &List) 76,662 { 17,036 => ???:0x0002e057 (8518x) 25,554 if (CurrentFile == 0) 8,518 return true; . . // Get a structure 34,072 unsigned long VerFile = Map.Allocate(sizeof(pkgCache::VerFile)); 366,634 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::Allocate(unsigned long) (8518x) 17,036 if (VerFile == 0) 8,518 return 0; . 42,590 pkgCache::VerFileIterator VF(Cache,Cache.VerFileP + VerFile); 42,590 VF->File = CurrentFile - Cache.PkgFileP; . . // Link it to the end of the list 15,920 map_ptrloc *Last = &Ver->FileList; 18,710 for (pkgCache::VerFileIterator V = Ver.FileList(); V.end() == false; V++) 558 Last = &V->NextFile; 17,036 VF->NextFile = *Last; 8,518 *Last = VF.Index(); . 42,590 VF->Offset = List.Offset(); 59,626 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.h:rpmListParser::Offset() (8518x) 42,590 VF->Size = List.Size();46,112,515 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Size() (8518x) 34,072 if (Cache.HeaderP->MaxVerFileSize < VF->Size) 12 Cache.HeaderP->MaxVerFileSize = VF->Size; 8,518 Cache.HeaderP->VerFileCount++; . 8,518 return true; 59,626 } . /*}}}*/ . // CacheGenerator::NewVersion - Create a new Version /*{{{*/ . // --------------------------------------------------------------------- . /* This puts a version structure in the linked list */ . unsigned long pkgCacheGenerator::NewVersion(pkgCache::VerIterator &Ver, . string VerStr, . unsigned long Next) 71,640 { 15,920 => ???:0x0002e057 (7960x) . // Get a structure 47,760 unsigned long Version = Map.Allocate(sizeof(pkgCache::Version)); 534,187 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::Allocate(unsigned long) (7960x) 23,880 if (Version == 0) . return 0; . . // Fill it in 31,840 Ver = pkgCache::VerIterator(Cache,Cache.VerP + Version); 15,920 Ver->NextVer = Next; 39,800 Ver->ID = Cache.HeaderP->VersionCount++; 63,680 Ver->VerStr = Map.WriteString(VerStr); 214,920 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (7960x) 15,920 if (Ver->VerStr == 0) 31,840 return 0; . . return Version; 55,720 } . /*}}}*/ . // ListParser::NewDepends - Create a dependency element /*{{{*/ . // --------------------------------------------------------------------- . /* This creates a dependency element in the tree. It is linked to the . version and to the package that it is pointing to. */ . bool pkgCacheGenerator::ListParser::NewDepends(pkgCache::VerIterator Ver, . string PackageName, . string Version, . unsigned int Op, . unsigned int Type)1,236,534 { 190,236 => ???:0x0002e057 (95118x) 95,118 pkgCache &Cache = Owner->Cache; . . // Get a structure 380,472 unsigned long Dependency = Owner->Map.Allocate(sizeof(pkgCache::Dependency));5,617,774 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::Allocate(unsigned long) (95118x) 190,236 if (Dependency == 0) . return false; . . // Fill it in 190,236 pkgCache::DepIterator Dep(Cache,Cache.DepP + Dependency); 190,236 Dep->ParentVer = Ver.Index(); 190,236 Dep->Type = Type; 190,236 Dep->CompareOp = Op; 570,708 Dep->ID = Cache.HeaderP->DependsCount++; . . // Locate the target package . pkgCache::PkgIterator Pkg;1,426,770 if (Owner->NewPackage(Pkg,PackageName) == false)2,853,927 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (95118x)35,793,438 => apt-pkg/pkgcachegen.cc:pkgCacheGenerator::NewPackage(pkgCache::PkgIterator&, std::string) (95118x) . return false; . . // Probe the reverse dependency list for a version string that matches 285,354 if (Version.empty() == false) . { . /* for (pkgCache::DepIterator I = Pkg.RevDependsList(); I.end() == false; I++) . if (I->Version != 0 && I.TargetVer() == Version) . Dep->Version = I->Version;*/ 42,332 if (Dep->Version == 0) 126,996 if ((Dep->Version = WriteString(Version)) == 0) 285,741 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (10583x) 10,583 return false; . } . . // Link it to the package 190,236 Dep->Package = Pkg.Index(); 190,236 Dep->NextRevDepends = Pkg->RevDepends; 95,118 Pkg->RevDepends = Dep.Index(); . . /* Link it to the version (at the end of the list) . Caching the old end point speeds up generation substantially */ 285,354 if (OldDepVer != Ver) . { 15,226 OldDepLast = &Ver->DependsList; . for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++) . OldDepLast = &D->NextDepends; . OldDepVer = Ver; . } . . // Is it a file dependency? 190,236 if (PackageName[0] == '/') 6,592 FoundFileDeps = true; . 380,472 Dep->NextDepends = *OldDepLast; 95,118 *OldDepLast = Dep.Index(); 285,354 OldDepLast = &Dep->NextDepends; . 95,118 return true; 570,708 } . /*}}}*/ . // ListParser::NewProvides - Create a Provides element /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool pkgCacheGenerator::ListParser::NewProvides(pkgCache::VerIterator Ver, . string PackageName, . string Version) 617,892 { 112,344 => ???:0x0002e057 (56172x) 112,344 pkgCache &Cache = Owner->Cache; . . // PM:2006-02-07 allow self-referencing provides for now at least... . #if 0 . // We do not add self referencing provides . if (Ver.ParentPkg().Name() == PackageName) . return true; . #endif . . // Get a structure 280,860 unsigned long Provides = Owner->Map.Allocate(sizeof(pkgCache::Provides));2,867,238 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::Allocate(unsigned long) (56172x) 168,516 if (Provides == 0) . return false; 112,344 Cache.HeaderP->ProvidesCount++; . . // Fill it in 168,516 pkgCache::PrvIterator Prv(Cache,Cache.ProvideP + Provides,Cache.PkgP); 56,172 Prv->Version = Ver.Index(); 112,344 Prv->NextPkgProv = Ver->ProvidesList; 112,344 Ver->ProvidesList = Prv.Index(); 422,266 if (Version.empty() == false && (Prv->ProvideVersion = WriteString(Version)) == 0) 685,125 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (25375x) . return false; . . // Locate the target package . pkgCache::PkgIterator Pkg; 954,924 if (Owner->NewPackage(Pkg,PackageName) == false)2,201,769 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (56172x)30,166,471 => apt-pkg/pkgcachegen.cc:pkgCacheGenerator::NewPackage(pkgCache::PkgIterator&, std::string) (56172x) 56,172 return false; . . // Link it to the package 56,172 Prv->ParentPkg = Pkg.Index(); 112,344 Prv->NextProvides = Pkg->ProvidesList; 56,172 Pkg->ProvidesList = Prv.Index(); . 56,172 return true; 337,032 } . /*}}}*/ . // CacheGenerator::SelectFile - Select the current file being parsed /*{{{*/ . // --------------------------------------------------------------------- . /* This is used to select which file is to be associated with all newly . added versions. The caller is responsible for setting the IMS fields. */ . bool pkgCacheGenerator::SelectFile(string File,string Site, . const pkgIndexFile &Index, . unsigned long Flags) 18 { 4 => ???:0x0002e057 (2x) . // Get some space for the structure 16 CurrentFile = Cache.PkgFileP + Map.Allocate(sizeof(*CurrentFile)); 1,526 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 236 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::Allocate(unsigned long) (2x) 4 if (CurrentFile == Cache.PkgFileP) . return false; . . // Fill it in 14 CurrentFile->FileName = Map.WriteString(File); 104 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (2x) 18 CurrentFile->Site = WriteUniqString(Site); 50 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (2x) 8 CurrentFile->NextFile = Cache.HeaderP->FileList; 4 CurrentFile->Flags = Flags; 4 CurrentFile->ID = Cache.HeaderP->PackageFileCount; 26 CurrentFile->IndexType = WriteUniqString(Index.GetType()->Label); 9 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::GetType() const (1x) 9 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmUrpmPkgIndex::GetType() const (1x) 572 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (2x) 4 PkgFileName = File; 14 Cache.HeaderP->FileList = CurrentFile - Cache.PkgFileP; 2 Cache.HeaderP->PackageFileCount++; . 6 if (CurrentFile->FileName == 0) 2 return false; . 6 if (Progress != 0) 16 Progress->SubProgress(Index.Size()); 337 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::SubProgress(unsigned long) (2x) 787 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 36,494 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmIndexFile::Size() const (1x) 37 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::Size() const (1x) 2 return true; 14 } . /*}}}*/ . // CacheGenerator::WriteUniqueString - Insert a unique string /*{{{*/ . // --------------------------------------------------------------------- . /* This is used to create handles to strings. Given the same text it . always returns the same number */ . unsigned long pkgCacheGenerator::WriteUniqString(const char *S, . unsigned int Size) 214,551 { 47,678 => ???:0x0002e057 (23839x) . /* We use a very small transient hash table here, this speeds up generation . by a fair amount on slower machines */ 286,068 pkgCache::StringItem *&Bucket = UniqHash[(S[0]*5 + S[1]) % _count(UniqHash)]; 119,157 if (Bucket != 0 && 95,280 stringcmp(S,S+Size,Cache.StrP + Bucket->String) == 0) 62,454 return Bucket->String; . . // Search for an insertion point 12,084 pkgCache::StringItem *I = Cache.StringItemP + Cache.HeaderP->StringList; . int Res = 1; 6,042 map_ptrloc *Last = &Cache.HeaderP->StringList; 543,162 for (; I != Cache.StringItemP; Last = &I->NextItem, 206,392 I = Cache.StringItemP + I->NextItem) . { 212,416 Res = stringcmp(S,S+Size,Cache.StrP + I->String); 327,660 if (Res >= 0) . break; . } . . // Match 3,012 if (Res == 0) . { 5,868 Bucket = I; 2,934 return I->String; . } . . // Get a structure 522 unsigned long Item = Map.Allocate(sizeof(pkgCache::StringItem)); 13,914 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::Allocate(unsigned long) (87x) 261 if (Item == 0) 87 return 0; . . // Fill in the structure 174 pkgCache::StringItem *ItemP = Cache.StringItemP + Item; 261 ItemP->NextItem = I - Cache.StringItemP; 174 *Last = Item; 696 ItemP->String = Map.WriteString(S,Size); 5,709 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::WriteString(char const*, unsigned int) (87x) 174 if (ItemP->String == 0) . return 0; . 174 Bucket = ItemP; 87 return ItemP->String; 143,058 } . /*}}}*/ . . // CheckValidity - Check that a cache is up-to-date /*{{{*/ . // --------------------------------------------------------------------- . /* This just verifies that each file in the list of index files exists, . has matching attributes with the cache and the cache does not have . any extra files. */ . static bool CheckValidity(string CacheFile, FileIterator Start, . FileIterator End,MMap **OutMap = 0) 20 { 4 => ???:0x0002e057 (2x) . // No file, certainly invalid 22 if (CacheFile.empty() == true || FileExists(CacheFile) == false) 108 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (2x) 270 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileExists(std::string) (2x) 2 return false; . . // CNC:2003-02-20 - When --reinstall is used during a cache building . // process, the algorithm is sligthly changed to . // order the "better" architectures before, even if . // they are already in the system. Thus, we rebuild . // the cache when it's used. 14 bool ReInstall = _config->FindB("APT::Get::ReInstall", false); 7,488 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindB(char const*, bool) const (2x) 4 if (ReInstall == true) 2 return false; . . // Map it 22 FileFd CacheF(CacheFile,FileFd::ReadOnly); 154 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::~FileFd() (2x) 54 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (2x) 18 SPtr<MMap> Map = new MMap(CacheF,MMap::Public | MMap::ReadOnly); 248 => ???:operator new(unsigned int) (2x) 1,363 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 16,627 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:MMap::MMap(FileFd&, unsigned long) (2x) 14 pkgCache Cache(Map); 687 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 30,389 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::pkgCache(MMap*, bool) (2x) 14 if (_error->PendingError() == true || Map->Size() == 0) 38 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (2x) . { . _error->Discard(); . return false; . } . . // CNC:2003-11-24 16 if (_system->OptionsHash() != Cache.HeaderP->OptionsHash) 62,091 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::OptionsHash() const (2x) 2 return false; . . /* Now we check every index file, see if it is in the cache, . verify the IMS data and check that it is on the disk too.. */ . SPtrArray<bool> Visited = new bool[Cache.HeaderP->PackageFileCount]; . memset(Visited,0,sizeof(*Visited)*Cache.HeaderP->PackageFileCount); . for (; Start != End; Start++) . { . if ((*Start)->HasPackages() == false)-- line 640 ------------------------------------------ line 675 ---------------------------------------- . { . _error->Discard(); . return false; . } . . if (OutMap != 0) . *OutMap = Map.UnGuard(); . return true; 14 } . /*}}}*/ . // ComputeSize - Compute the total size of a bunch of files /*{{{*/ . // --------------------------------------------------------------------- . /* Size is kind of an abstract notion that is only used for the progress . meter */ . static unsigned long ComputeSize(FileIterator Start,FileIterator End) 12 { 2 unsigned long TotalSize = 0; 16 for (; Start != End; Start++) . { 18 if ((*Start)->HasPackages() == false) 10 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::HasPackages() const (2x) 5 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmDatabaseIndex::HasPackages() const (1x) . continue; 18 if ((*Start)->Exists() == false) 5 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmDatabaseIndex::Exists() const (1x) 104,452 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmUrpmIndex::Exists() const (2x) . continue; 18 TotalSize += (*Start)->Size(); 113,932 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmIndexFile::Size() const (2x) 794 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::Size() const (1x) . } . return TotalSize; 12 } . /*}}}*/ . // BuildCache - Merge the list of index files into the cache /*{{{*/ . // --------------------------------------------------------------------- . /* */ . static bool BuildCache(pkgCacheGenerator &Gen, . OpProgress &Progress, . unsigned long &CurrentSize,unsigned long TotalSize, . FileIterator Start, FileIterator End) 24 { 4 => ???:0x0002e057 (2x) . FileIterator I; 8 for (I = Start; I != End; I++) . { 12 if ((*I)->HasPackages() == false) 5 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::HasPackages() const (1x) 5 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmDatabaseIndex::HasPackages() const (1x) . continue; . 12 if ((*I)->Exists() == false) 5 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmDatabaseIndex::Exists() const (1x) 35,229 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmUrpmIndex::Exists() const (1x) . continue; . 32 if ((*I)->FindInCache(Gen.GetCache()).end() == false) 35,109 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmUrpmPkgIndex::FindInCache(pkgCache&) const (1x) 13,800 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::FindInCache(pkgCache&) const (1x) . { . _error->Warning("Duplicate sources.list entry %s", . (*I)->Describe().c_str()); . continue; . } . 10 unsigned long Size = (*I)->Size(); 35,713 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmIndexFile::Size() const (1x) 37 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::Size() const (1x) 44 Progress.OverallProgress(CurrentSize,TotalSize,Size,_("Reading Package Lists")); 13,208 => ???:gettext (2x) 3,130 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::OverallProgress(unsigned long, unsigned long, unsigned long, std::string) (2x) 580 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (2x) 6 CurrentSize += Size; . 22 if ((*I)->Merge(Gen,Progress) == false)1,927,612,011 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmUrpmPkgIndex::Merge(pkgCacheGenerator&, OpProgress&) const (1x)710,244,953 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::Merge(pkgCacheGenerator&, OpProgress&) const (1x) . return false; . } . . // CNC:2003-03-03 - Code that was here has been moved to its own function. . 2 return true; 12 } . /*}}}*/ . // CNC:2003-03-03 . // CollectFileProvides - Merge the file provides into the cache /*{{{*/ . // --------------------------------------------------------------------- . /* */ . static bool CollectFileProvides(pkgCacheGenerator &Gen, . OpProgress &Progress, . unsigned long &CurrentSize,unsigned long TotalSize, . FileIterator Start, FileIterator End) 24 { 4 => ???:0x0002e057 (2x) 10 for (FileIterator I = Start; I != End; I++) . { 36 if ((*I)->HasPackages() == false || (*I)->Exists() == false) 5 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmDatabaseIndex::Exists() const (1x) 70,345 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmUrpmIndex::Exists() const (2x) 10 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmUrpmPkgIndex::HasPackages() const (2x) 5 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.h:rpmDatabaseIndex::HasPackages() const (1x) . continue; . 15 unsigned long Size = (*I)->Size(); 71,045 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmIndexFile::Size() const (2x) 37 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::Size() const (1x) 73 Progress.OverallProgress(CurrentSize,TotalSize,Size,_("Reading Package Lists")); 19,645 => ???:gettext (3x) 8,713 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::OverallProgress(unsigned long, unsigned long, unsigned long, std::string) (3x) 873 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (3x) 6 CurrentSize += Size; . 33 if ((*I)->MergeFileProvides(Gen,Progress) == false)66,334,134 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmDatabaseIndex::MergeFileProvides(pkgCacheGenerator&, OpProgress&) const (1x)80,019,355 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmindexfile.cc:rpmUrpmPkgIndex::MergeFileProvides(pkgCacheGenerator&, OpProgress&) const (2x) . return false; . } 2 return true; 12 } . /*}}}*/ . // MakeStatusCache - Construct the status cache /*{{{*/ . // --------------------------------------------------------------------- . /* This makes sure that the status cache (the cache that has all . index files from the sources list and all local ones) is ready . to be mmaped. If OutMap is not zero then a MMap object representing . the cache will be stored there. This is pretty much mandetory if you . are using AllowMem. AllowMem lets the function be run as non-root . where it builds the cache 'fast' into a memory buffer. */ . bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress, . MMap **OutMap,bool AllowMem) 11 { 2 => ???:0x0002e057 (1x) 9 unsigned long MapSize = _config->FindI("APT::Cache-Limit",24*1024*1024); 3,449 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindI(char const*, int) const (1x) . . vector<pkgIndexFile *> Files(List.begin(),List.end()); . unsigned long EndOfSource = Files.size(); 10 if (_system->AddStatusFiles(Files) == false) 1,435 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::AddStatusFiles(std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> >&) (1x) . return false; . . // Decide if we can write to the files.. 11 string CacheFile = _config->FindFile("Dir::Cache::pkgcache"); 12,908 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindFile(char const*, char const*) const (1x) 10 string SrcCacheFile = _config->FindFile("Dir::Cache::srcpkgcache"); 6,035 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindFile(char const*, char const*) const (1x) . . // Decide if we can write to the cache . bool Writeable = false; 3 if (CacheFile.empty() == false) 16 Writeable = access(flNotFile(CacheFile).c_str(),W_OK) == 0; 30,743 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:flNotFile(std::string) (1x) 41,613 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 135 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (1x) 11 => ???:access (1x) . else . if (SrcCacheFile.empty() == false) . Writeable = access(flNotFile(SrcCacheFile).c_str(),W_OK) == 0; . 2 if (Writeable == false && AllowMem == false && CacheFile.empty() == false) . return _error->Error(_("Unable to write to %s"),flNotFile(CacheFile).c_str()); . 17 Progress.OverallProgress(0,1,1,_("Reading Package Lists")); 125,914 => ???:gettext (1x) 8,270 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 38,679 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::OverallProgress(unsigned long, unsigned long, unsigned long, std::string) (1x) 381 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) . . // Cache is OK, Fin. 14 if (CheckValidity(CacheFile,Files.begin(),Files.end(),OutMap) == true) 129,295 => apt-pkg/pkgcachegen.cc:CheckValidity(std::string, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, MMap**) (1x) 27 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (1x) . { . Progress.OverallProgress(1,1,1,_("Reading Package Lists")); . return true; . } . . // CNC:2002-07-03 . #if DYING . if (_system->PreProcess(Files.begin(),Files.end(),Progress) == false) -- line 808 ------------------------------------------ line 810 ---------------------------------------- . _error->Error(_("Error pre-processing package lists")); . return false; . } . #endif . /* At this point we know we need to reconstruct the package cache, . begin. */ . SPtr<FileFd> CacheF; . SPtr<DynamicMMap> Map; 5 if (Writeable == true && CacheFile.empty() == false) . { 2 unlink(CacheFile.c_str()); 7,444 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 20 => ???:unlink (1x) 10 CacheF = new FileFd(CacheFile,FileFd::WriteEmpty); 124 => ???:operator new(unsigned int) (1x) 27 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (1x) 3 if (_error->PendingError() == true) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 1 return false; 5 fchmod(CacheF->Fd(),0644); 7,413 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 11 => ???:fchmod (1x) 12 Map = new DynamicMMap(*CacheF,MMap::Public,MapSize); 124 => ???:operator new(unsigned int) (1x) 757 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 12,646 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::DynamicMMap(FileFd&, unsigned long, unsigned int) (1x) . } . else . { . // Just build it in memory.. . Map = new DynamicMMap(MMap::Public,MapSize); . } . . // Lets try the source cache. 1 unsigned long CurrentSize = 0; . unsigned long TotalSize = 0; 7 if (CheckValidity(SrcCacheFile,Files.begin(), 38,674 => apt-pkg/pkgcachegen.cc:CheckValidity(std::string, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, MMap**) (1x) 5 Files.begin()+EndOfSource) == true) 27 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (1x) . { . // Preload the map with the source cache . FileFd SCacheF(SrcCacheFile,FileFd::ReadOnly); . if (SCacheF.Read((unsigned char *)Map->Data() + Map->RawAllocate(SCacheF.Size()), . SCacheF.Size()) == false) . return false; . . TotalSize = ComputeSize(Files.begin()+EndOfSource,Files.end());-- line 845 ------------------------------------------ line 871 ---------------------------------------- . // No new file dependencies. Collect over the new packages. . if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, . Files.begin()+EndOfSource,Files.end()) == false) . return false; . } . } . else . { 4 TotalSize = ComputeSize(Files.begin(),Files.end()); 219,294 => apt-pkg/pkgcachegen.cc:ComputeSize(__gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >) (1x) . . // CNC:2003-03-18 . // For the file provides collection phase. . unsigned long SrcSize = ComputeSize(Files.begin(), 2 Files.begin()+EndOfSource); 71,978 => apt-pkg/pkgcachegen.cc:ComputeSize(__gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >) (1x) 4 TotalSize = (TotalSize*2)+SrcSize; . . // Build the source cache 12 pkgCacheGenerator Gen(Map.Get(),&Progress); 1,708 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 38,010 => apt-pkg/pkgcachegen.cc:pkgCacheGenerator::pkgCacheGenerator(DynamicMMap*, OpProgress*) (1x) 352 => apt-pkg/pkgcachegen.cc:pkgCacheGenerator::~pkgCacheGenerator() (1x) 3 if (_error->PendingError() == true) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 1 return false; 2 if (BuildCache(Gen,Progress,CurrentSize,TotalSize, 10 Files.begin(),Files.begin()+EndOfSource) == false)2,637,994,003 => apt-pkg/pkgcachegen.cc:BuildCache(pkgCacheGenerator&, OpProgress&, unsigned long&, unsigned long, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >) (1x) . return false; . . // CNC:2003-11-24 7 Gen.GetCache().HeaderP->OptionsHash = _system->OptionsHash(); 27,349 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::OptionsHash() const (1x) . . // CNC:2003-03-18 2 if (Gen.HasFileDeps() == true) { . // There are file dependencies. Collect over source packages. 2 Gen.GetCache().HeaderP->HasFileDeps = true; 2 if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, 9 Files.begin(),Files.begin()+EndOfSource) == false)146,524,412 => apt-pkg/pkgcachegen.cc:CollectFileProvides(pkgCacheGenerator&, OpProgress&, unsigned long&, unsigned long, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >) (1x) 1 return false; . // Reset to check for new file dependencies in the status cache. . Gen.ResetFileDeps(); . } else { . // Jump entries which are not going to be parsed. . CurrentSize += SrcSize; . } . . // Write it back . // CNC:2003-03-03 - Notice that it is without the file provides. This . // is on purpose, since file requires introduced later on the status . // cache (database) must be considered when collecting file provides, . // even if using the sources cache (above). 5 if (Writeable == true && SrcCacheFile.empty() == false) . { 2 unlink(SrcCacheFile.c_str()); 10 => ???:unlink (1x) 14 FileFd SCacheF(SrcCacheFile,FileFd::WriteEmpty); 77 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::~FileFd() (1x) 27 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (1x) 3 if (_error->PendingError() == true) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 1 return false; 4 fchmod(SCacheF.Fd(),0644); 22 => ???:fchmod (1x) . . // Write out the main data 10 if (SCacheF.Write(Map->Data(),Map->Size()) == false) 120 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::Write(void const*, unsigned long) (1x) . return _error->Error(_("IO Error saving source cache")); 3 SCacheF.Sync(); 656 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 5,127 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::Sync() (1x) . . // Write out the proper header 2 Gen.GetCache().HeaderP->Dirty = false; 8 if (SCacheF.Seek(0) == false || 39 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::Seek(unsigned long) (1x) 7 SCacheF.Write(Map->Data(),sizeof(*Gen.GetCache().HeaderP)) == false) 60 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::Write(void const*, unsigned long) (1x) . return _error->Error(_("IO Error saving source cache")); 2 Gen.GetCache().HeaderP->Dirty = true; 3 SCacheF.Sync(); 34 => /home/agrr/apt-rpm/apt-pkg/contrib/fileutl.cc:FileFd::Sync() (1x) . } . . // Build the status cache 2 if (BuildCache(Gen,Progress,CurrentSize,TotalSize, 10 Files.begin()+EndOfSource,Files.end()) == false)710,268,522 => apt-pkg/pkgcachegen.cc:BuildCache(pkgCacheGenerator&, OpProgress&, unsigned long&, unsigned long, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >) (1x) 1 return false; . . // CNC:2003-03-18 2 if (Gen.HasFileDeps() == true) { . // There are new file dependencies. Collect over all packages. 2 Gen.GetCache().HeaderP->HasFileDeps = true; . if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, 10 Files.begin(),Files.end()) == false)106,471,301 => apt-pkg/pkgcachegen.cc:CollectFileProvides(pkgCacheGenerator&, OpProgress&, unsigned long&, unsigned long, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >, __gnu_cxx::__normal_iterator<pkgIndexFile**, std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> > >) (1x) . return false; . } else if (Gen.GetCache().HeaderP->HasFileDeps == true) { . // Jump entries which are not going to be parsed. . CurrentSize += SrcSize; . // No new file dependencies. Collect over the new packages. 3 if (CollectFileProvides(Gen,Progress,CurrentSize,TotalSize, . Files.begin()+EndOfSource,Files.end()) == false) . return false; . } . } . 3 if (_error->PendingError() == true) 76 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 1 return false; 3 if (OutMap != 0) . { 3 if (CacheF != 0) . { 7 delete Map.UnGuard(); 9,046 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:DynamicMMap::~DynamicMMap() (1x) 10 *OutMap = new MMap(*CacheF,MMap::Public | MMap::ReadOnly); 372 => ???:operator new(unsigned int) (1x) 235 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:MMap::MMap(FileFd&, unsigned long) (1x) . } . else . { . *OutMap = Map.UnGuard(); . } . } . . // CNC:2003-03-07 - Signal to the system so that it can free it's . // internal caches, if any. 5 _system->CacheBuilt();2,688,173 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::CacheBuilt() (1x) . 2 return true; 7 } . /*}}}*/ . // MakeOnlyStatusCache - Build a cache with just the status files /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool pkgMakeOnlyStatusCache(OpProgress &Progress,DynamicMMap **OutMap) . { . unsigned long MapSize = _config->FindI("APT::Cache-Limit",24*1024*1024); . vector<pkgIndexFile *> Files;-- line 989 ------------------------------------------ line 1023 ---------------------------------------- . *OutMap = Map.UnGuard(); . . // CNC:2003-03-07 - Signal to the system so that it can free it's . // internal caches, if any. . _system->CacheBuilt(); . . . return true; 390,925 } 2 => ???:0x0002e057 (1x) . /*}}}*/ . . // vim:sts=3:sw=3---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc---------------------------------------------------------------------------------- Auto-annotated source: /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.tcc-------------------------------------------------------------------------------- Ir -- line 115 ---------------------------------------- . } . __r->_M_set_length_and_sharable(__len); . return __r->_M_refdata(); . } . . template<typename _CharT, typename _Traits, typename _Alloc> . template <typename _InIterator> . _CharT*11,411,103 basic_string<_CharT, _Traits, _Alloc>:: 773,310 => ???:0x0002e057 (386655x) . _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, . forward_iterator_tag) . { . #ifndef _GLIBCXX_FULLY_DYNAMIC_STRING 2,363,954 if (__beg == __end && __a == _Alloc()) . return _S_empty_rep()._M_refdata(); . #endif . // NB: Not required, but considered best practice. 1,868,104 if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) . __throw_logic_error(__N("basic_string::_S_construct NULL not valid")); . . const size_type __dnew = static_cast<size_type>(std::distance(__beg, . __end)); . // Check for out_of_range and length_error exceptions. 4,670,260 _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a); 7,337 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)81,155,433 => ???:std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (347255x) . __try . { _S_copy_chars(__r->_M_refdata(), __beg, __end); } . __catch(...) . { . __r->_M_destroy(__a); . __throw_exception_again; . } . __r->_M_set_length_and_sharable(__dnew); . return __r->_M_refdata(); 8,273,839 } . . template<typename _CharT, typename _Traits, typename _Alloc> . _CharT* . basic_string<_CharT, _Traits, _Alloc>:: . _S_construct(size_type __n, _CharT __c, const _Alloc& __a) . { . #ifndef _GLIBCXX_FULLY_DYNAMIC_STRING . if (__n == 0 && __a == _Alloc())-- line 156 ------------------------------------------ line 685 ---------------------------------------- . if (__n2) . _M_copy(_M_data() + __pos1, __s, __n2); . return *this; . } . . template<typename _CharT, typename _Traits, typename _Alloc> . basic_string<_CharT, _Traits, _Alloc> . operator+(const _CharT* __lhs, 8 const basic_string<_CharT, _Traits, _Alloc>& __rhs) . { . __glibcxx_requires_string(__lhs); . typedef basic_string<_CharT, _Traits, _Alloc> __string_type; . typedef typename __string_type::size_type __size_type; . const __size_type __len = _Traits::length(__lhs); . __string_type __str; 5 __str.reserve(__len + __rhs.size()); 14,154 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 237 => ???:std::string::reserve(unsigned int) (1x) 5 __str.append(__lhs, __len); 85 => ???:std::string::append(char const*, unsigned int) (1x) 7,112 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 3 __str.append(__rhs); 71 => ???:std::string::append(std::string const&) (1x) . return __str; 7 } . . template<typename _CharT, typename _Traits, typename _Alloc> . basic_string<_CharT, _Traits, _Alloc> . operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) . { . typedef basic_string<_CharT, _Traits, _Alloc> __string_type; . typedef typename __string_type::size_type __size_type; . __string_type __str;-- line 712 -------------------------------------------------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/rpm/rpmlistparser.cc-------------------------------------------------------------------------------- Ir -- line 27 ---------------------------------------- . #include <apt-pkg/error.h> . . #include <apti18n.h> . . #include <algorithm> . . #define WITH_VERSION_CACHING 1 . 62 string MultilibArchs[] = {"x86_64", "ia64", "ppc64", "sparc64"}; 2 => ???:0x0002e057 (1x) . . // ListParser::rpmListParser - Constructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 50 rpmListParser::rpmListParser(RPMHandler *Handler) 10 => ???:0x0002e057 (5x) 25 : Handler(Handler), VI(0) . { 15 Handler->Rewind(); 18 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Rewind() (3x) 8,656 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::Rewind() (2x) 25 if (Handler->IsDatabase() == true) 15 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMUrpmHandler::IsDatabase() (3x) 10 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMDBHandler::IsDatabase() (2x) . { . #ifdef APT_WITH_GNU_HASH_MAP 10 SeenPackages = new SeenPackagesType(517); 256 => ???:operator new(unsigned int) (2x) . #else . SeenPackages = new SeenPackagesType; . #endif . } . else . { 3 SeenPackages = NULL; . } 10 RpmData = RPMPackageData::Singleton(); 140 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmpackagedata.cc:RPMPackageData::Singleton() (5x) 30 } . /*}}}*/ . 60 rpmListParser::~rpmListParser() 10 => ???:0x0002e057 (5x) . { 19 delete SeenPackages; 240 => ???:operator delete(void*) (2x) 30 } . . /*}}}*/ . // ListParser::Package - Return the package name /*{{{*/ . // --------------------------------------------------------------------- . /* This is to return the name of the package this section describes */ . string rpmListParser::Package() 510,600 { 102,120 => ???:0x0002e057 (51060x) 153,180 if (CurrentName.empty() == false) 130,560 return CurrentName; 705,024 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (26112x) . . #ifdef WITH_VERSION_CACHING 74,844 if (VI != NULL) { 15,865 CurrentName = VI->ParentPkg().Name(); 47,595 return CurrentName;1,378,539 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (15865x) . } . #endif . 81,747 string Name = Handler->Name();8,616,034 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::Name() (1175x)45,034,291 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Name() (7908x) . 9,083 Duplicated = false; . . 27,249 if (Name.empty() == true) . { 24 _error->Error(_("Corrupt pkglist: no RPMTAG_NAME in header entry")); 19,257 => ???:gettext (3x) 746 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 11,821 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:GlobalError::Error(char const*, ...) (3x) 57 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (3x) 18 return ""; 219 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (3x) . } . . bool IsDup = false; . 27,240 if (RpmData->IsMultilibSys() && RpmData->IsCompatArch(Architecture())) { . Name += RpmData->GetCompatArchSuffix(); . CurrentName = Name; . } . . . // If this package can have multiple versions installed at . // the same time, then we make it so that the name of the . // package is NAME+"#"+VERSION and also add a provides . // with the original name and version, to satisfy the . // dependencies. 54,480 if (RpmData->IsDupPackage(Name) == true) 1,577 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)1,693,013 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmpackagedata.cc:RPMPackageData::IsDupPackage(std::string const&) (9080x) . IsDup = true; 27,240 else if (SeenPackages != NULL) { . if (SeenPackages->find(Name.c_str()) != SeenPackages->end()) . { . if (_config->FindB("RPM::Allow-Duplicated-Warning", true) == true) . _error->Warning( . _("There are multiple versions of \"%s\" in your system.\n" . "\n" . "This package won't be cleanly updated, unless you leave\n" . "only one version. To leave multiple versions installed,\n"-- line 115 ------------------------------------------ line 127 ---------------------------------------- . IsDup = true; . } . } . if (IsDup == true) . { . Name += "#"+Version(); . Duplicated = true; . } 18,160 CurrentName = Name; 45,400 return Name; 245,160 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (9080x) 357,420 } . . /*}}}*/ . // ListParser::Arch - Return the architecture string /*{{{*/ . // --------------------------------------------------------------------- . string rpmListParser::Architecture() 448,965 { 99,770 => ???:0x0002e057 (49885x) . #ifdef WITH_VERSION_CACHING 149,655 if (VI != NULL) 79,325 return VI->Arch();4,323,734 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (15865x) . #endif 238,140 return Handler->Arch();174,708,266 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Arch() (31623x)16,991,214 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::Arch() (2397x) 299,310 } . /*}}}*/ . // ListParser::Version - Return the version string /*{{{*/ . // --------------------------------------------------------------------- . /* This is to return the string describing the version in RPM form, . version-release. If this returns the blank string then the . entry is assumed to only describe package properties */ . string rpmListParser::Version() 377,793 { 83,954 => ???:0x0002e057 (41977x) . #ifdef WITH_VERSION_CACHING 125,931 if (VI != NULL) 79,325 return VI->VerStr();4,563,927 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (15865x) . #endif . 182,784 return Handler->EVR();461,081,845 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMHandler::EVR() (26112x) 251,862 } . /*}}}*/ . // ListParser::NewVersion - Fill in the version structure /*{{{*/ . // --------------------------------------------------------------------- . /* */ 15,920 bool rpmListParser::NewVersion(pkgCache::VerIterator Ver) 95,520 { 15,920 => ???:0x0002e057 (7960x) . #if WITH_VERSION_CACHING . // Cache it for future usage. 143,280 RpmData->SetVersion(Handler->GetID(), Offset(), Ver); 55,720 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.h:rpmListParser::Offset() (7960x) 382,080 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHandler::GetID() (7960x) . #endif . . // Parse the section 87,560 Ver->Section = WriteUniqString(Handler->Group()); 700,384 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::Group() (55x)44,069,123 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Group() (7905x) 87,560 Ver->Arch = WriteUniqString(Handler->Arch());43,793,832 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Arch() (7905x) 399,043 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::Arch() (55x) . . // Archive Size 55,720 Ver->Size = Handler->FileSize(); 275 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::FileSize() (55x)6,768,255 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::FileSize() (7905x) . . // Unpacked Size (in kbytes) 55,720 Ver->InstalledSize = Handler->InstalledSize();42,212,502 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::InstalledSize() (7905x) 337,570 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::InstalledSize() (55x) . 71,640 if (ParseDepends(Ver,pkgCache::Dep::Depends) == false) 2,036 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)450,460,686 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::ParseDepends(pkgCache::VerIterator, unsigned int) (7960x) 7,960 return false; 79,600 if (ParseDepends(Ver,pkgCache::Dep::Conflicts) == false)14,781,045 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::ParseDepends(pkgCache::VerIterator, unsigned int) (7960x) . return false; 79,600 if (ParseDepends(Ver,pkgCache::Dep::Obsoletes) == false)24,000,514 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::ParseDepends(pkgCache::VerIterator, unsigned int) (7960x) . return false; 79,600 if (ParseDepends(Ver,pkgCache::Dep::Suggests) == false)5,569,551 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::ParseDepends(pkgCache::VerIterator, unsigned int) (7960x) . return false; . 71,640 if (ParseProvides(Ver) == false)265,330,009 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::ParseProvides(pkgCache::VerIterator) (7960x) 1,018 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . return false; . 55,720 if (Handler->ProvideFileName() && 39,525 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHandler::ProvideFileName() (7905x) 275 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::ProvideFileName() (55x) . NewProvides(Ver, Handler->FileName(), "") == false) . return false; . . return true; 55,720 } . /*}}}*/ . // ListParser::UsePackage - Update a package structure /*{{{*/ . // --------------------------------------------------------------------- . /* This is called to update the package with any new information . that might be found in the section */ . bool rpmListParser::UsePackage(pkgCache::PkgIterator Pkg, . pkgCache::VerIterator Ver) 102,216 { 17,036 => ???:0x0002e057 (8518x) 34,072 if (SeenPackages != NULL) 613 (*SeenPackages)[Pkg.Name()] = true; 34,072 if (Pkg->Section == 0) 87,065 Pkg->Section = WriteUniqString(Handler->Group()); 119,718 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::Group() (10x)44,461,250 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Group() (7905x) 25,554 if (_error->PendingError()) 161,842 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (8518x) 34,072 return false; 59,626 string PkgName = Pkg.Name();2,682,624 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (8518x) 51,108 string::size_type HashPos = PkgName.find('#'); 859,087 => ???:std::string::find(char, unsigned int) const (8518x) 17,036 if (HashPos != string::npos) . PkgName = PkgName.substr(0, HashPos); 59,634 Ver->Priority = RpmData->VerPriority(PkgName); 93,698 Pkg->Flags |= RpmData->PkgFlags(PkgName); 17,036 if (HashPos != string::npos && (Pkg->Flags & pkgCache::Flag::Essential)) 34,072 Pkg->Flags = pkgCache::Flag::Important; 93,698 if (ParseStatus(Pkg,Ver) == false) 1,155 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 234,890 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::ParseStatus(pkgCache::PkgIterator, pkgCache::VerIterator) (8518x) . return false; . return true; 51,108 } . /*}}}*/ . // ListParser::VersionHash - Compute a unique hash for this version /*{{{*/ . // --------------------------------------------------------------------- . /* */ . . static bool depsort(const Dependency *a, const Dependency *b)2,100,235 { . return a->Name < b->Name;2,100,235 } . 234,821 static bool depuniq(const Dependency *a, const Dependency *b) 450,910 { . return a->Name == b->Name; 450,910 } . unsigned short rpmListParser::VersionHash() 68,144 { 17,036 => ???:0x0002e057 (8518x) . #ifdef WITH_VERSION_CACHING 34,072 if (VI != NULL) . return (*VI)->Hash; . #endif . . unsigned long Result = INIT_FCS; 178,878 Result = AddCRC16(Result, Package().c_str(), Package().length()); 2,078 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)21,609,370 => /home/agrr/apt-rpm/apt-pkg/contrib/crc-16.cc:AddCRC16(unsigned short, void const*, unsigned long) (8518x)1,405,470 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Package() (17036x) 187,396 Result = AddCRC16(Result, Version().c_str(), Version().length());1,641,318 => /home/agrr/apt-rpm/apt-pkg/contrib/crc-16.cc:AddCRC16(unsigned short, void const*, unsigned long) (8518x)447,734,686 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Version() (17036x) 187,396 Result = AddCRC16(Result, Architecture().c_str(), Architecture().length()); 545,738 => /home/agrr/apt-rpm/apt-pkg/contrib/crc-16.cc:AddCRC16(unsigned short, void const*, unsigned long) (8518x)144,752,260 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Architecture() (17036x) . . int DepSections[] = { . pkgCache::Dep::Depends, . pkgCache::Dep::Conflicts, . pkgCache::Dep::Obsoletes, 42,590 }; . 136,288 for (size_t i = 0; i < sizeof(DepSections)/sizeof(int); i++) { . vector<Dependency*> Deps; . vector<Dependency*> UniqDeps; . 306,648 if (Handler->PRCO(DepSections[i], Deps) == false) continue;542,324,633 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMHdrHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) (1839x)283,854,929 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) (23715x) . . sort(Deps.begin(), Deps.end(), depsort); . . // Rpmdb can give out dupes for scriptlet dependencies, filter them out. . // XXX Why is this done here instead of the handler? 76,662 UniqDeps.assign(Deps.begin(), Deps.end()); . vector<Dependency*>::iterator DepEnd = unique(UniqDeps.begin(), 323,684 UniqDeps.end(), depuniq); 1,431 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)3,389,297 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algo.h:__gnu_cxx::__normal_iterator<Dependency**, std::vector<Dependency*, std::allocator<Dependency*> > > std::unique<__gnu_cxx::__normal_iterator<Dependency**, std::vector<Dependency*, std::allocator<Dependency*> > >, bool (*)(Dependency const*, Dependency const*)>(__gnu_cxx::__normal_iterator<Dependency**, std::vector<Dependency*, std::allocator<Dependency*> > >, __gnu_cxx::__normal_iterator<Dependency**, std::vector<Dependency*, std::allocator<Dependency*> > >, bool (*)(Dependency const*, Dependency const*)) (25554x) . vector<Dependency*>::iterator I = UniqDeps.begin(); 260,350 for (; I != DepEnd; I++) { 690,942 Result = AddCRC16(Result, (*I)->Name.c_str(), (*I)->Name.length());18,065,166 => /home/agrr/apt-rpm/apt-pkg/contrib/crc-16.cc:AddCRC16(unsigned short, void const*, unsigned long) (98706x) . } 255,132 for (I = Deps.begin(); I != Deps.end(); I++) { 510,060 delete (*I);12,239,450 => ???:operator delete(void*) (102012x) . } . } 8,518 return Result; 51,108 } . /*}}}*/ . // ListParser::ParseStatus - Parse the status field /*{{{*/ . // --------------------------------------------------------------------- . bool rpmListParser::ParseStatus(pkgCache::PkgIterator Pkg, . pkgCache::VerIterator Ver) 76,662 { 59,626 if (!Handler->IsDatabase()) // this means we're parsing an hdlist, so it's not installed 39,525 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMUrpmHandler::IsDatabase() (7905x) 3,065 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMDBHandler::IsDatabase() (613x) . return true; . . // if we're reading from the rpmdb, then it's installed . // 613 Pkg->SelectedState = pkgCache::State::Install; 613 Pkg->InstState = pkgCache::State::Ok; 613 Pkg->CurrentState = pkgCache::State::Installed; . 613 Pkg->CurrentVer = Ver.Index(); . . return true; 51,108 } . . /*}}}*/ . // ListParser::ParseDepends - Parse a dependency list /*{{{*/ . // --------------------------------------------------------------------- . /* This is the higher level depends parser. It takes a tag and generates . a complete depends tree for the given version. */ . bool rpmListParser::ParseDepends(pkgCache::VerIterator Ver, . unsigned int Type) 254,720 { 63,680 => ???:0x0002e057 (31840x) . vector<Dependency*> Deps; . 382,080 if (Handler->PRCO(Type, Deps) == false)51,376,489 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMHdrHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) (220x)259,352,021 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) (31620x) . return false; . 253,916 for (vector<Dependency*>::iterator I = Deps.begin(); I != Deps.end(); I++) { 190,236 if (NewDepends(Ver,(*I)->Name,(*I)->Version,2,758,422 (*I)->Op,(*I)->Type) == false) { 1,189 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)7,366,418 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (190236x)85,731,079 => /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::ListParser::NewDepends(pkgCache::VerIterator, std::string, std::string, unsigned int, unsigned int) (95118x) . return false; . } 475,590 delete (*I);11,413,950 => ???:operator delete(void*) (95118x) . } 74,912 return true; . 222,880 } . /*}}}*/ . bool rpmListParser::CollectFileProvides(pkgCache &Cache, . pkgCache::VerIterator Ver) 197,076 { 32,846 => ???:0x0002e057 (16423x) . vector<string> Files; 32,846 bool ret = true; . 164,230 if (Handler->FileList(Files) == false) { 79,050 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMUrpmHandler::FileList(std::vector<std::string, std::allocator<std::string> >&) (15810x)3,760,724 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMHdrHandler::FileList(std::vector<std::string, std::allocator<std::string> >&) (613x) . return false; . } 32,846 for (vector<string>::iterator I = Files.begin(); I != Files.end(); I++) { . const char *FileName = (*I).c_str(); . pkgCache::Package *P = Cache.FindPackage(FileName); . if (P != NULL) { . // Check if this is already provided. . bool Found = false; . for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); . Prv.end() == false; Prv++) { . if (strcmp(Prv.Name(), FileName) == 0) {-- line 346 ------------------------------------------ line 350 ---------------------------------------- . } . if (Found == false && NewProvides(Ver, FileName, "") == false) { . ret = false; . break; . } . } . } . return ret; 114,961 } . . // ListParser::ParseProvides - Parse the provides list /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool rpmListParser::ParseProvides(pkgCache::VerIterator Ver) 63,680 { 15,920 => ???:0x0002e057 (7960x) . vector<Dependency*> Provs; . 87,560 if (Handler->PRCO(pkgCache::Dep::Provides, Provs) == false) {9,232,363 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMHdrHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) (55x)185,389,793 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::PRCO(unsigned int, std::vector<Dependency*, std::allocator<Dependency*> >&) (7905x) . return false; . } 128,264 for (vector<Dependency*>::iterator I = Provs.begin(); I != Provs.end(); I++) {1,291,956 if (NewProvides(Ver,(*I)->Name,(*I)->Version) == false) {44,587,302 => /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgCacheGenerator::ListParser::NewProvides(pkgCache::VerIterator, std::string, std::string) (56172x) 1,190 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)4,426,744 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (112344x) . return false; . } 280,860 delete (*I);6,740,440 => ???:operator delete(void*) (56172x) . } 23,880 return true; . 55,720 } . /*}}}*/ . // ListParser::Step - Move to the next section in the file /*{{{*/ . // --------------------------------------------------------------------- . /* This has to be carefull to only process the correct architecture */ . bool rpmListParser::Step() 199,568 { 49,892 => ???:0x0002e057 (24946x) 174,671 while (Handler->Skip() == true)61,865,453 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::Skip() (23721x)79,796,542 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMDBHandler::Skip() (1232x) . { 74,844 CurrentName = ""; . . #ifdef WITH_VERSION_CACHING 439,985 VI = RpmData->GetVersion(Handler->GetID(), Offset()); 174,636 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.h:rpmListParser::Offset() (24948x)1,197,504 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHandler::GetID() (24948x) 49,896 if (VI != NULL) 15,865 return true; . #endif . 81,747 string RealName = Package();58,092,098 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Package() (9083x) . 27,249 if (Duplicated == true) . RealName = RealName.substr(0,RealName.find('#')); 18,166 if (RpmData->IgnorePackage(RealName) == true) . continue; . 79,369 if (Handler->IsDatabase() == true || 39,540 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMUrpmHandler::IsDatabase() (7908x) 5,855 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMDBHandler::IsDatabase() (1171x) 86,988 RpmData->ArchScore(Architecture().c_str()) > 0)43,931,686 => apt-pkg/rpm/rpmlistparser.cc:rpmListParser::Architecture() (7908x) 18,152 return true; . } . return false; 149,676 } . /*}}}*/ . // ListParser::LoadReleaseInfo - Load the release information /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool rpmListParser::LoadReleaseInfo(pkgCache::PkgFileIterator FileI, . FileFd &File) . { . // fixme: it should be necessary for RPM-- line 415 ------------------------------------------ line 443 ---------------------------------------- . return !_error->PendingError(); */ . return true; . . //return _error->Error(_("Do not call this method - urpmListParser::LoadReleaseInfo")); . } . /*}}}*/ . . off_t rpmListParser::Size() 25,554 { 93,698 return (Handler->InstalledSize()+512)/1024;42,227,339 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc:RPMUrpmHandler::InstalledSize() (7905x)3,748,888 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.h:RPMHdrHandler::InstalledSize() (613x) 17,036 } . . // This is a slightly complex operation. It must take a package, and . // move every version to new packages, named accordingly to . // Allow-Duplicated rules. . void rpmListParser::VirtualizePackage(string Name) . { . pkgCache::PkgIterator FromPkgI = Owner->GetCache().FindPkg(Name); . -- line 461 ------------------------------------------ line 589 ---------------------------------------- . } . } . } . . } . . xmlFreeDoc(RepoMD); . return true; 547,383 } 2 => ???:0x0002e057 (1x) . #endif /* APT_WITH_REPOMD */ . . #endif /* HAVE_RPM */ . . // vim:sts=3:sw=3---------------------------------------------------------------------------------- Auto-annotated source: /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.h-------------------------------------------------------------------------------- Ir -- line 189 ---------------------------------------- . { return this->_M_refcount > 0; } . . void . _M_set_leaked() . { this->_M_refcount = -1; } . . void . _M_set_sharable() 935,649 { this->_M_refcount = 0; } . . void . _M_set_length_and_sharable(size_type __n) . { . #ifndef _GLIBCXX_FULLY_DYNAMIC_STRING1,871,298 if (__builtin_expect(this != &_S_empty_rep(), false)) . #endif . { . this->_M_set_sharable(); // One reference.1,284,501 this->_M_length = __n; . traits_type::assign(this->_M_refdata()[__n], _S_terminal); . // grrr. (per 21.3.4) . // You cannot leave those LWG people alone for a second. . } . } . . _CharT* . _M_refdata() throw()3,335,123 { return reinterpret_cast<_CharT*>(this + 1); } . . _CharT* . _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2) . { . return (!_M_is_leaked() && __alloc1 == __alloc2) . ? _M_refcopy() : _M_clone(__alloc1); . } . -- line 224 ------------------------------------------ line 225 ---------------------------------------- . // Create & Destroy . static _Rep* . _S_create(size_type, size_type, const _Alloc&); . . void . _M_dispose(const _Alloc& __a) . { . #ifndef _GLIBCXX_FULLY_DYNAMIC_STRING6,534,132 if (__builtin_expect(this != &_S_empty_rep(), false)) . #endif5,744,134 if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, . -1) <= 0)7,814,855 _M_destroy(__a);7,288,513 => ???:std::string::_Rep::_M_destroy(std::allocator<char> const&) (55537x) . } // XXX MT . . void . _M_destroy(const _Alloc&) throw(); . . _CharT* . _M_refcopy() throw() . {-- line 245 ------------------------------------------ line 253 ---------------------------------------- . _CharT* . _M_clone(const _Alloc&, size_type __res = 0); . }; . . // Use empty-base optimization: http://www.cantrip.org/emptyopt.html . struct _Alloc_hider : _Alloc . { . _Alloc_hider(_CharT* __dat, const _Alloc& __a)1,401,731 : _Alloc(__a), _M_p(__dat) { } . . _CharT* _M_p; // The actual data. . }; . . public: . // Data Members (public): . // NB: This is an unsigned type, and thus represents the maximum . // size that the allocator can hold.-- line 269 ------------------------------------------ line 271 ---------------------------------------- . static const size_type npos = static_cast<size_type>(-1); . . private: . // Data Members (private): . mutable _Alloc_hider _M_dataplus; . . _CharT* . _M_data() const4,254,365 { return _M_dataplus._M_p; } . . _CharT* . _M_data(_CharT* __p) . { return (_M_dataplus._M_p = __p); } . . _Rep* . _M_rep() const6,216,170 { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } . . // For the internal use we have functions similar to `begin'/`end' . // but they do not call _M_leak. . iterator . _M_ibegin() const . { return iterator(_M_data()); } . . iterator . _M_iend() const . { return iterator(_M_data() + this->size()); } . . void . _M_leak() // for use in begin() & non-const op[] . { 314,138 if (!_M_rep()->_M_is_leaked()) 387,706 _M_leak_hard(); 292 => ???:std::string::_M_leak_hard() (1x) . } . . size_type . _M_check(size_type __pos, const char* __s) const . {1,063,278 if (__pos > this->size()) . __throw_out_of_range(__N(__s)); . return __pos; . } . . void . _M_check_length(size_type __n1, size_type __n2, const char* __s) const . { . if (this->max_size() - (this->size() - __n1) < __n2)-- line 317 ------------------------------------------ line 334 ---------------------------------------- . || less<const _CharT*>()(_M_data() + this->size(), __s)); . } . . // When __n = 1 way faster than the general multichar . // traits_type::copy/move/assign. . static void . _M_copy(_CharT* __d, const _CharT* __s, size_type __n) . {1,868,104 if (__n == 1) . traits_type::assign(*__d, *__s); . else . traits_type::copy(__d, __s, __n); . } . . static void . _M_move(_CharT* __d, const _CharT* __s, size_type __n) . {-- line 350 ------------------------------------------ line 387 ---------------------------------------- . . static void . _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) . { _M_copy(__p, __k1, __k2 - __k1); } . . static int . _S_compare(size_type __n1, size_type __n2) . { 126,372 const difference_type __d = difference_type(__n1 - __n2); . . if (__d > __gnu_cxx::__numeric_traits<int>::__max) . return __gnu_cxx::__numeric_traits<int>::__max; . else if (__d < __gnu_cxx::__numeric_traits<int>::__min) . return __gnu_cxx::__numeric_traits<int>::__min; . else . return int(__d); . }-- line 403 ------------------------------------------ line 525 ---------------------------------------- . { _M_rep()->_M_dispose(this->get_allocator()); } . . /** . * @brief Assign the value of @a str to this string. . * @param str Source string. . */ . basic_string& . operator=(const basic_string& __str) 3,790,081 { return this->assign(__str); } 460 => ???:std::string::assign(std::string const&) (2x) . . /** . * @brief Copy contents of @a s into this string. . * @param s Source null-terminated string. . */ . basic_string& . operator=(const _CharT* __s) . { return this->assign(__s); }-- line 541 ------------------------------------------ line 605 ---------------------------------------- . /** . * Returns a read/write iterator that points one past the last . * character in the %string. Unshares the string. . */ . iterator . end() . { . _M_leak(); 15,929 return iterator(_M_data() + this->size()); . } . . /** . * Returns a read-only (constant) iterator that points one past the . * last character in the %string. . */ . const_iterator . end() const-- line 621 ------------------------------------------ line 694 ---------------------------------------- . #endif . . public: . // Capacity: . /// Returns the number of characters in the string, not including any . /// null-termination. . size_type . size() const2,455,922 { return _M_rep()->_M_length; } . . /// Returns the number of characters in the string, not including any . /// null-termination. . size_type . length() const 361,263 { return _M_rep()->_M_length; } . . /// Returns the size() of the largest possible %string. . size_type . max_size() const . { return _Rep::_S_max_size; } . . /** . * @brief Resizes the %string to the specified number of characters.-- line 716 ------------------------------------------ line 874 ---------------------------------------- . // Modifiers: . /** . * @brief Append a string to this string. . * @param str The string to append. . * @return Reference to this string. . */ . basic_string& . operator+=(const basic_string& __str) 144 { return this->append(__str); } 227 => ???:std::string::append(std::string const&) (3x) . . /** . * @brief Append a C string. . * @param s The C string to append. . * @return Reference to this string. . */ . basic_string& . operator+=(const _CharT* __s)-- line 890 ------------------------------------------ line 949 ---------------------------------------- . * @brief Append a C string. . * @param s The C string to append. . * @return Reference to this string. . */ . basic_string& . append(const _CharT* __s) . { . __glibcxx_requires_string(__s); 317 return this->append(__s, traits_type::length(__s)); 9,543 => ???:std::string::append(char const*, unsigned int) (16x) 7,112 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . } . . /** . * @brief Append multiple characters. . * @param n The number of characters to append. . * @param c The character to use. . * @return Reference to this string. . *-- line 965 ------------------------------------------ line 994 ---------------------------------------- . . /** . * @brief Append a single character. . * @param c Character to append. . */ . void . push_back(_CharT __c) . { 3,194 const size_type __len = 1 + this->size(); 10,502 if (__len > this->capacity() || _M_rep()->_M_is_shared()) 1,521 this->reserve(__len); 7,042 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 566 => ???:std::string::reserve(unsigned int) (1x) . traits_type::assign(_M_data()[this->size()], __c); . _M_rep()->_M_set_length_and_sharable(__len); . } . . /** . * @brief Set value to contents of another string. . * @param str Source string to use. . * @return Reference to this string.-- line 1012 ------------------------------------------ line 1070 ---------------------------------------- . * This function sets the value of this string to the value of @a s. . * The data is copied, so there is no dependence on @a s once the . * function returns. . */ . basic_string& . assign(const _CharT* __s) . { . __glibcxx_requires_string(__s);3,394,561 return this->assign(__s, traits_type::length(__s)); 1,328 => ???:std::string::assign(char const*, unsigned int) (4x) . } . . /** . * @brief Set value to multiple characters. . * @param n Length of the resulting string. . * @param c The character to use. . * @return Reference to this string. . *-- line 1086 ------------------------------------------ line 1195 ---------------------------------------- . * thrown. The value of the string doesn't change if an error is . * thrown. . */ . basic_string& . insert(size_type __pos1, const basic_string& __str, . size_type __pos2, size_type __n) . { return this->insert(__pos1, __str._M_data() . + __str._M_check(__pos2, "basic_string::insert"), 365 __str._M_limit(__pos2, __n)); } 42,756 => ???:std::string::insert(unsigned int, char const*, unsigned int) (73x) 7,166 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . . /** . * @brief Insert a C substring. . * @param pos Iterator referencing location in string to insert at. . * @param s The C string to insert. . * @param n The number of characters to insert. . * @return Reference to this string. . * @throw std::length_error If new length exceeds @c max_size().-- line 1211 ------------------------------------------ line 1235 ---------------------------------------- . * length_error is thrown. If @a pos is beyond end(), out_of_range is . * thrown. The value of the string doesn't change if an error is . * thrown. . */ . basic_string& . insert(size_type __pos, const _CharT* __s) . { . __glibcxx_requires_string(__s); 78 return this->insert(__pos, __s, traits_type::length(__s)); . } . . /** . * @brief Insert multiple characters. . * @param pos Index in string to insert at. . * @param n Number of characters to insert . * @param c The character to insert. . * @return Reference to this string.-- line 1251 ------------------------------------------ line 1641 ---------------------------------------- . // _S_construct_aux is used to implement the 21.3.1 para 15 which . // requires special behaviour if _InIter is an integral type . template<class _InIterator> . static _CharT* . _S_construct_aux(_InIterator __beg, _InIterator __end, . const _Alloc& __a, __false_type) . { . typedef typename iterator_traits<_InIterator>::iterator_category _Tag;1,503,569 return _S_construct(__beg, __end, __a, _Tag()); 321,348 => /usr/lib/gcc/i586-manbo-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/basic_string.tcc:char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (1206x) . } . . // _GLIBCXX_RESOLVE_LIB_DEFECTS . // 438. Ambiguity in the "do the right thing" clause . template<class _Integer> . static _CharT* . _S_construct_aux(_Integer __beg, _Integer __end, . const _Alloc& __a, __true_type)-- line 1657 ------------------------------------------ line 1761 ---------------------------------------- . * @return Index of start of first occurrence. . * . * Starting from @a pos, searches forward for value of @a str within . * this string. If found, returns the index where it begins. If not . * found, returns npos. . */ . size_type . find(const basic_string& __str, size_type __pos = 0) const 18 { return this->find(__str.data(), __pos, __str.size()); } 1,049 => ???:std::string::find(char const*, unsigned int, unsigned int) const (3x) . . /** . * @brief Find position of a C string. . * @param s C string to locate. . * @param pos Index of character to search from (default 0). . * @return Index of start of first occurrence. . * . * Starting from @a pos, searches forward for the value of @a s within . * this string. If found, returns the index where it begins. If not . * found, returns npos. . */ . size_type . find(const _CharT* __s, size_type __pos = 0) const . { . __glibcxx_requires_string(__s); 6 return this->find(__s, __pos, traits_type::length(__s)); 7,108 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 496 => ???:std::string::find(char const*, unsigned int, unsigned int) const (1x) . } . . /** . * @brief Find position of a character. . * @param c Character to locate. . * @param pos Index of character to search from (default 0). . * @return Index of first occurrence. . *-- line 1793 ------------------------------------------ line 1863 ---------------------------------------- . * @return Index of first occurrence. . * . * Starting from @a pos, searches forward for one of the characters of . * @a str within this string. If found, returns the index where it was . * found. If not found, returns npos. . */ . size_type . find_first_of(const basic_string& __str, size_type __pos = 0) const4,743,048 { return this->find_first_of(__str.data(), __pos, __str.size()); } 7,337 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)425,888,100 => ???:std::string::find_first_of(char const*, unsigned int, unsigned int) const (592881x) . . /** . * @brief Find position of a character of C substring. . * @param s String containing characters to locate. . * @param pos Index of character to search from. . * @param n Number of characters from s to search for. . * @return Index of first occurrence. . *-- line 1879 ------------------------------------------ line 1971 ---------------------------------------- . * Starting from @a pos, searches backward for @a c within this string. . * If found, returns the index where it was found. If not found, . * returns npos. . * . * Note: equivalent to rfind(c, pos). . */ . size_type . find_last_of(_CharT __c, size_type __pos = npos) const 545,481 { return this->rfind(__c, __pos); }16,268,154 => ???:std::string::rfind(char, unsigned int) const (181827x) . . /** . * @brief Find position of a character not in string. . * @param str String containing characters to avoid. . * @param pos Index of character to search from (default 0). . * @return Index of first occurrence. . * . * Starting from @a pos, searches forward for a character not contained . * in @a str within this string. If found, returns the index where it . * was found. If not found, returns npos. . */ . size_type . find_first_not_of(const basic_string& __str, size_type __pos = 0) const4,592,847 { return this->find_first_not_of(__str.data(), __pos, __str.size()); } 14,732 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)75,224,136 => ???:std::string::find_first_not_of(char const*, unsigned int, unsigned int) const (592881x) . . /** . * @brief Find position of a character not in C substring. . * @param s C string containing characters to avoid. . * @param pos Index of character to search from. . * @param n Number of characters from s to consider. . * @return Index of first occurrence. . *-- line 2001 ------------------------------------------ line 2106 ---------------------------------------- . * Construct and return a new string using the @a n characters starting . * at @a pos. If the string is too short, use the remainder of the . * characters. If @a pos is beyond the end of the string, out_of_range . * is thrown. . */ . basic_string . substr(size_type __pos = 0, size_type __n = npos) const . { return basic_string(*this,4,493,883 _M_check(__pos, "basic_string::substr"), __n); }47,542,567 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned int, unsigned int) (94866x) . . /** . * @brief Compare to a string. . * @param str String to compare against. . * @return Integer < 0, 0, or > 0. . * . * Returns an integer < 0 if this string is ordered before @a str, 0 if . * their values are equivalent, or > 0 if this string is ordered after-- line 2122 ------------------------------------------ line 2129 ---------------------------------------- . int . compare(const basic_string& __str) const . { . const size_type __size = this->size(); . const size_type __osize = __str.size(); . const size_type __len = std::min(__size, __osize); . . int __r = traits_type::compare(_M_data(), __str.data(), __len); 903,674 if (!__r) . __r = _S_compare(__size, __osize); . return __r; . } . . /** . * @brief Compare substring to a string. . * @param pos Index of first character of substring. . * @param n Number of characters in substring.-- line 2145 ------------------------------------------ line 2255 ---------------------------------------- . /** . * @brief Concatenate two strings. . * @param lhs First string. . * @param rhs Last string. . * @return New string with value of @a lhs followed by @a rhs. . */ . template<typename _CharT, typename _Traits, typename _Alloc> . basic_string<_CharT, _Traits, _Alloc> 149,180 operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, . const basic_string<_CharT, _Traits, _Alloc>& __rhs) . { 119,344 basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 14,113 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 805,572 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (29836x) 119,344 __str.append(__rhs); 7,105 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)11,105,775 => ???:std::string::append(std::string const&) (29836x) . return __str; 149,180 } . . /** . * @brief Concatenate C string and string. . * @param lhs First string. . * @param rhs Last string. . * @return New string with value of @a lhs followed by @a rhs. . */ . template<typename _CharT, typename _Traits, typename _Alloc>-- line 2277 ------------------------------------------ line 2295 ---------------------------------------- . * @param rhs Last string. . * @return New string with @a lhs followed by @a rhs. . */ . template<typename _CharT, typename _Traits, typename _Alloc> . inline basic_string<_CharT, _Traits, _Alloc> . operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, . const _CharT* __rhs) . { 78 basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 616 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (16x) . __str.append(__rhs); . return __str; . } . . /** . * @brief Concatenate string and character. . * @param lhs First string. . * @param rhs Last string.-- line 2311 ------------------------------------------ line 2312 ---------------------------------------- . * @return New string with @a lhs followed by @a rhs. . */ . template<typename _CharT, typename _Traits, typename _Alloc> . inline basic_string<_CharT, _Traits, _Alloc> . operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) . { . typedef basic_string<_CharT, _Traits, _Alloc> __string_type; . typedef typename __string_type::size_type __size_type; 172,673 __string_type __str(__lhs);1,509,111 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (29781x) 142,894 __str.append(__size_type(1), __rhs);19,132,233 => ???:std::string::append(unsigned int, char) (29781x) . return __str; . } . . // operator == . /** . * @brief Test equivalence of two strings. . * @param lhs First string. . * @param rhs Second string.-- line 2329 ------------------------------------------ line 2337 ---------------------------------------- . . template<typename _CharT> . inline . typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type . operator==(const basic_string<_CharT>& __lhs, . const basic_string<_CharT>& __rhs) . { return (__lhs.size() == __rhs.size() . && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(),2,637,843 __lhs.size())); } . . /** . * @brief Test equivalence of C string and string. . * @param lhs C string. . * @param rhs String. . * @return True if @a rhs.compare(@a lhs) == 0. False otherwise. . */ . template<typename _CharT, typename _Traits, typename _Alloc>-- line 2353 ------------------------------------------ line 2361 ---------------------------------------- . * @param lhs String. . * @param rhs C string. . * @return True if @a lhs.compare(@a rhs) == 0. False otherwise. . */ . template<typename _CharT, typename _Traits, typename _Alloc> . inline bool . operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, . const _CharT* __rhs)5,590,737 { return __lhs.compare(__rhs) == 0; }105,189,132 => ???:std::string::compare(char const*) const (1059149x) . . // operator != . /** . * @brief Test difference of two strings. . * @param lhs First string. . * @param rhs Second string. . * @return True if @a lhs.compare(@a rhs) != 0. False otherwise. . */-- line 2377 ------------------------------------------ line 2411 ---------------------------------------- . * @param lhs First string. . * @param rhs Second string. . * @return True if @a lhs precedes @a rhs. False otherwise. . */ . template<typename _CharT, typename _Traits, typename _Alloc> . inline bool . operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, . const basic_string<_CharT, _Traits, _Alloc>& __rhs) 840,094 { return __lhs.compare(__rhs) < 0; } . . /** . * @brief Test if string precedes C string. . * @param lhs String. . * @param rhs C string. . * @return True if @a lhs precedes @a rhs. False otherwise. . */ . template<typename _CharT, typename _Traits, typename _Alloc>-- line 2427 ------------------------------------------ line 2597 ---------------------------------------- . */ . template<typename _CharT, typename _Traits, typename _Alloc> . inline basic_ostream<_CharT, _Traits>& . operator<<(basic_ostream<_CharT, _Traits>& __os, . const basic_string<_CharT, _Traits, _Alloc>& __str) . { . // _GLIBCXX_RESOLVE_LIB_DEFECTS . // 586. string inserter not a formatted function 7 return __ostream_insert(__os, __str.data(), __str.size()); 705 => ???:std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int) (1x) . } . . /** . * @brief Read a line from stream into a string. . * @param is Input stream. . * @param str Buffer to store into. . * @param delim Character marking end of line. . * @return Reference to the input stream.-- line 2613 ------------------------------------------ line 2635 ---------------------------------------- . * number of characters stored into @a str. Any previous contents . * of @a str are erased. If end of line was encountered, it is . * extracted but not stored into @a str. . */ . template<typename _CharT, typename _Traits, typename _Alloc> . inline basic_istream<_CharT, _Traits>& . getline(basic_istream<_CharT, _Traits>& __is, . basic_string<_CharT, _Traits, _Alloc>& __str) 9 { return getline(__is, __str, __is.widen('\n')); } 15,232 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 32,409 => ???:std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char) (1x) . . template<> . basic_istream<char>& . getline(basic_istream<char>& __in, basic_string<char>& __str, . char __delim); . . #ifdef _GLIBCXX_USE_WCHAR_T . template<>-- line 2651 -------------------------------------------------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/cachefile.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/cachefile.cc---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/contrib/cmndline.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/contrib/cmndline.cc---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/rpm/raptheader.cc---------------------------------------------------------------------------------- Auto-annotated source: cmdline/apt-get.cc-------------------------------------------------------------------------------- Ir -- line 74 ---------------------------------------- . // CNC:2003-03-18 . #include <apt-pkg/luaiface.h> . . #include <rpmversion.h> /*}}}*/ . . . using namespace std; . 4 ostream c0out(0);410 => ???:__cxa_atexit (1x) 4 ostream c1out(0); 82 => ???:__cxa_atexit (1x) 4 ostream c2out(0); 82 => ???:__cxa_atexit (1x) 4 ostream c3out(0); 82 => ???:__cxa_atexit (1x) 4 ofstream devnull("/dev/null"); 82 => ???:__cxa_atexit (1x) . unsigned int ScreenWidth = 80; . . int ParseInt(const string &IntStr) . { . char *offset; . return strtol(IntStr.c_str(),&offset,10); . } . . . // class CacheFile - Cover class for some dependency cache functions /*{{{*/ . // --------------------------------------------------------------------- . /* */ . class CacheFile : public cmdCacheFile 3 {464,706 => /home/agrr/apt-rpm/cmdline/cmdline.cc:cmdCacheFile::~cmdCacheFile() (1x) . public: . bool CheckDeps(bool AllowBroken = false); . bool BuildCaches(bool WithLock = true) . { . OpTextProgress Prog(*_config); . if (pkgCacheFile::BuildCaches(Prog,WithLock) == false) . return false; . return true; . } . bool Open(bool WithLock = true) . { 7 OpTextProgress Prog(*_config);2,244 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)6,772 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpTextProgress::OpTextProgress(Configuration&) (1x) 6 if (pkgCacheFile::Open(Prog,WithLock) == false)1,107 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)4,961,954,193 => /home/agrr/apt-rpm/apt-pkg/cachefile.cc:pkgCacheFile::Open(OpProgress&, bool) (1x) . return false; 3 Sort();52,302,302 => /home/agrr/apt-rpm/cmdline/cmdline.cc:cmdCacheFile::Sort() (1x) . . return true; . } . bool OpenForInstall() . { . // CNC:2004-03-07 - dont take lock if in download mode . if (_config->FindB("APT::Get::Print-URIs") == true || . _config->FindB("APT::Get::Download-only") == true) . return Open(false); . else . return Open(true); . } 1 CacheFile() : cmdCacheFile() {} . }; . /*}}}*/ . . /* . * AG: Helper function for DUDF logging, refactored out of DoInstall() . * . */ . void logBrokenPkgs(CommandLine &CmdL, CacheFile &Cache, string &errormsg)-- line 136 ------------------------------------------ line 229 ---------------------------------------- . virtual void Close() . { . if (Cache) { . delete Cache; . Cache = NULL; . } . } . 2 AptGetLuaCache() : Cache(0) {} . }; . #endif . /*}}}*/ . // CNC:2003-03-06 . // CheckOnly - Check if the cache has any changes to be applied /*{{{*/ . // --------------------------------------------------------------------- . /* Returns true if CheckOnly is active. */ . bool CheckOnly(CacheFile &Cache)-- line 245 ------------------------------------------ line 264 ---------------------------------------- . /*}}}*/ . . . // CacheFile::CheckDeps - Open the cache file /*{{{*/ . // --------------------------------------------------------------------- . /* This routine generates the caches and then opens the dependency cache . and verifies that the system is OK. */ . bool CacheFile::CheckDeps(bool AllowBroken) 8 { 3 if (_error->PendingError() == true)10,214 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 38 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 1 return false; . . // CNC:2003-03-19 - Might be changed by some extension. . #if 0 . // Check that the system is OK . if (DCache->DelCount() != 0 || DCache->InstCount() != 0) . return _error->Error("Internal Error, non-zero counts"); . #endif . . // Apply corrections for half-installed packages 5 if (pkgApplyStatus(*DCache) == false)1,027 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)1,620,426 => /home/agrr/apt-rpm/apt-pkg/algorithms.cc:pkgApplyStatus(pkgDepCache&) (1x) . return false; . . // Nothing is broken 6 if (DCache->BrokenCount() == 0 || AllowBroken == true) 1 return true; . . // Attempt to fix broken things 7 if (_config->FindB("APT::Get::Fix-Broken",false) == true)3,580 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindB(char const*, bool) const (1x) . { . c1out << _("Correcting dependencies...") << flush; . if (pkgFixBroken(*DCache) == false || DCache->BrokenCount() != 0) . { . c1out << _(" failed.") << endl; . ShowBroken(c1out,*this,true); . . return _error->Error(_("Unable to correct dependencies"));-- line 300 ------------------------------------------ line 301 ---------------------------------------- . } . if (pkgMinimizeUpgrade(*DCache) == false) . return _error->Error(_("Unable to minimize the upgrade set")); . . c1out << _(" Done") << endl; . } . else . { 3 c1out << _("You might want to run `apt-get --fix-broken install' to correct these.") << endl;13,031 => ???:gettext (1x)7,432 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 5 ShowBroken(c1out,*this,true);1,650,199 => /home/agrr/apt-rpm/cmdline/cmdline.cc:ShowBroken(std::ostream&, cmdCacheFile&, bool, pkgDepCache::State*) (1x) . 7 return _error->Error(_("Unmet dependencies. Try using --fix-broken."));6,518 => ???:gettext (1x)961 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)1,169 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:GlobalError::Error(char const*, ...) (1x) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) . } . . return true; 5 } . /*}}}*/ . bool DoClean(CommandLine &CmdL); . bool DoAutoClean(CommandLine &CmdL); . . // InstallPackages - Actually download and install the packages /*{{{*/ . // --------------------------------------------------------------------- . /* This displays the informative messages describing what is going to . happen and then calls the download routines */-- line 324 ------------------------------------------ line 1941 ---------------------------------------- . Cleaner.Go(_config->FindDir("Dir::Cache::archives") + "partial/",*Cache); . } . /*}}}*/ . // DoCheck - Perform the check operation /*{{{*/ . // --------------------------------------------------------------------- . /* Opening automatically checks the system, this command is mostly used . for debugging */ . bool DoCheck(CommandLine &CmdL) 6 { . CacheFile Cache; . Cache.Open(); 3 Cache.CheckDeps();3,321,326 => cmdline/apt-get.cc:CacheFile::CheckDeps(bool) (1x) . . return true; 7 } . /*}}}*/ . // DoSource - Fetch a source archive /*{{{*/ . // --------------------------------------------------------------------- . /* Fetch souce packages */ . struct DscFile . { . string Package; . string Version;-- line 1963 ------------------------------------------ line 3389 ---------------------------------------- . _config->Set("APT::Get::Fix-Broken",false); . _config->Set("APT::Get::Force-Yes",false); . _config->Set("APT::Get::APT::Get::No-List-Cleanup",true); . _config->Set("APT::Get::Pbo-Policy","optimized"); . } . /*}}}*/ . . int main(int argc,const char *argv[]) 7 { . CommandLine::Args Args[] = { . {'h',"help","help",0}, . {'v',"version","version",0}, . {'V',"verbose-versions","APT::Get::Show-Versions",0}, . {'q',"quiet","quiet",CommandLine::IntLevel}, . {'q',"silent","quiet",CommandLine::IntLevel}, . {'d',"download-only","APT::Get::Download-Only",0}, . {'b',"compile","APT::Get::Compile",0},-- line 3405 ------------------------------------------ line 3430 ---------------------------------------- . {0,"trivial-only","APT::Get::Trivial-Only",0}, . {0,"remove","APT::Get::Remove",0}, . {0,"only-source","APT::Get::Only-Source",0}, . {0,"arch-only","APT::Get::Arch-Only",0}, . {0,"check-only","APT::Get::Check-Only",0}, // CNC:2003-03-06 . {0,"root","RPM::RootDir",CommandLine::HasArg}, . {'c',"config-file",0,CommandLine::ConfigFile}, . {'o',"option",0,CommandLine::ArbItem},164 {0,0,0,0}}; . CommandLine::Dispatch Cmds[] = {{"update",&DoUpdate}, . {"upgrade",&DoUpgrade}, . {"install",&DoInstall}, . // CNC:2004-03-22 . {"reinstall",&DoInstall}, . {"remove",&DoInstall}, . {"dist-upgrade",&DoDistUpgrade}, . {"build-dep",&DoBuildDep},-- line 3446 ------------------------------------------ line 3453 ---------------------------------------- . {"help",&ShowHelp}, . // ROLLBACK FUNCIONALITY ADDED BY DSP: 2006-01-04 . {"rollback", &DoRollback}, . {"rollback-hist", &DoRollbackHistory}, . // CNC:2003-03-19 . #ifdef APT_WITH_LUA . {"script",&DoScript}, . #endif 42 {0,0}}; . . // Set up gettext support 3 setlocale(LC_ALL,"");51,259 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)45,371 => ???:setlocale (1x) 2 textdomain(PACKAGE);422 => ???:textdomain (1x)7,463 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . . // Parse the command line and initialize the package library 10 CommandLine CmdL(Args,_config);153 => /home/agrr/apt-rpm/apt-pkg/contrib/cmndline.cc:CommandLine::~CommandLine() (1x)2,105 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 10 => /home/agrr/apt-rpm/apt-pkg/contrib/cmndline.cc:CommandLine::CommandLine(CommandLine::Args*, Configuration*) (1x) 9 if (pkgInitConfig(*_config) == false ||1,057 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)281,995 => /home/agrr/apt-rpm/apt-pkg/init.cc:pkgInitConfig(Configuration&) (1x) 7 CmdL.Parse(argc,argv) == false ||977 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)7,201 => /home/agrr/apt-rpm/apt-pkg/contrib/cmndline.cc:CommandLine::Parse(int, char const**) (1x) 4 pkgInitSystem(*_config,_system) == false)1,235 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)49,239,798 => /home/agrr/apt-rpm/apt-pkg/init.cc:pkgInitSystem(Configuration&, pkgSystem*&) (1x) . { . if (_config->FindB("version") == true) . ShowHelp(CmdL); . . _error->DumpErrors(); . return 100; . } . . // See if the help should be shown 11 if (_config->FindB("help") == true ||1,016 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)5,252 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindB(char const*, bool) const (1x) 5 _config->FindB("version") == true ||2,638 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindB(char const*, bool) const (1x) 3 CmdL.FileSize() == 0)970 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 38 => /home/agrr/apt-rpm/apt-pkg/contrib/cmndline.cc:CommandLine::FileSize() const (1x) . { . ShowHelp(CmdL); . return 0; . } . . // CNC:2003-11-21 5 if (CmdL.FileSize() > 1) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/cmndline.cc:CommandLine::FileSize() const (1x) . { . // CNC:2003-11-23 . vector<string> URLLst; . for (const char **I = CmdL.FileList + 1; *I != 0; I++) . { . if (strstr(*I, "://") != NULL) . { . URLLst.push_back(*I);-- line 3498 ------------------------------------------ line 3506 ---------------------------------------- . return 100; . } . . for (const char **I = CmdL.FileList + 1; *I != 0; I++) . _config->Set("APT::Arguments::", *I); . } . . // Deal with stdout not being a tty 4 if (ttyname(STDOUT_FILENO) == 0 && _config->FindI("quiet",0) < 1)7,485 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)785 => ???:ttyname (1x) . _config->Set("quiet","1"); . . // Setup the output streams 4 c0out.rdbuf(cout.rdbuf());7,913 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)3,375 => ???:std::basic_ios<char, std::char_traits<char> >::rdbuf(std::basic_streambuf<char, std::char_traits<char> >*) (1x) 4 c1out.rdbuf(cout.rdbuf()); 42 => ???:std::basic_ios<char, std::char_traits<char> >::rdbuf(std::basic_streambuf<char, std::char_traits<char> >*) (1x) 4 c2out.rdbuf(cout.rdbuf()); 42 => ???:std::basic_ios<char, std::char_traits<char> >::rdbuf(std::basic_streambuf<char, std::char_traits<char> >*) (1x) 4 c3out.rdbuf(cerr.rdbuf()); 42 => ???:std::basic_ios<char, std::char_traits<char> >::rdbuf(std::basic_streambuf<char, std::char_traits<char> >*) (1x) 7 if (_config->FindI("quiet",0) > 0)1,023 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)5,270 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindI(char const*, int) const (1x) . c0out.rdbuf(devnull.rdbuf()); 7 if (_config->FindI("quiet",0) > 1)2,631 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindI(char const*, int) const (1x) . c1out.rdbuf(devnull.rdbuf()); . . . // Setup the signals 3 signal(SIGPIPE,SIG_IGN);492 => ???:signal (1x)7,444 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 3 signal(SIGWINCH,SigWinch);246 => ???:signal (1x) 2 SigWinch(0);7,396 => /home/agrr/apt-rpm/cmdline/cmdline.cc:SigWinch(int) (1x) . . // CNC:2003-11-23 . #ifdef APT_WITH_LUA . AptGetLuaCache LuaCache; 5 _lua->SetCacheControl(&LuaCache); 38 => /home/agrr/apt-rpm/apt-pkg/luaiface.cc:_GetLuaObj() (1x)1,958 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x) 7 => /home/agrr/apt-rpm/apt-pkg/luaiface.cc:Lua::SetCacheControl(LuaCacheControl*) (1x) . . double Consume = 0; 8 if (argc > 1 && _lua->HasScripts("Scripts::AptGet::Command") == true) 19 => /home/agrr/apt-rpm/apt-pkg/luaiface.cc:_GetLuaObj() (1x)921 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)2,656 => /home/agrr/apt-rpm/apt-pkg/luaiface.cc:Lua::HasScripts(char const*) (1x) . { . _lua->SetGlobal("commit_ask", 1); . _lua->SetGlobal("command_args", CmdL.FileList); . _lua->SetGlobal("command_consume", 0.0); . _lua->RunScripts("Scripts::AptGet::Command"); . Consume = _lua->GetGlobalNum("command_consume"); . double Ask = _lua->GetGlobalNum("commit_ask"); . _lua->ResetGlobals();-- line 3547 ------------------------------------------ line 3554 ---------------------------------------- . ((*Cache).InstCount() > 0 || (*Cache).DelCount() > 0)) . InstallPackages(Cache, false, Ask); . } . } . . if (Consume == 0) . #endif . // Match the operation 7 CmdL.DispatchArg(Cmds);5,018,068,649 => /home/agrr/apt-rpm/apt-pkg/contrib/cmndline.cc:CommandLine::DispatchArg(CommandLine::Dispatch*, bool) (1x)1,249 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) . . // Print any errors or warnings found during parsing 4 if (_error->empty() == false) 57 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) . { 1 bool Errors = _error->PendingError(); 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 3 _error->DumpErrors();995 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x)16,477 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:GlobalError::DumpErrors() (1x) 4 return Errors == true?100:0; . } . . return 0; 22 } . . // vim:sts=3:sw=3---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/depcache.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/depcache.cc---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/cachefile.cc--------------------------------------------------------------------------------Ir -- line 21 ---------------------------------------- . #include <apt-pkg/pkgsystem.h> . . #include <apti18n.h> . /*}}}*/ . . // CacheFile::CacheFile - Constructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 7 pkgCacheFile::pkgCacheFile() : Map(0), Cache(0), DCache(0), Policy(0) . { 2 } . /*}}}*/ . // CacheFile::~CacheFile - Destructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 8 pkgCacheFile::~pkgCacheFile() 2 => ???:0x0002e057 (1x) . { 6 delete DCache;4,320 => /home/agrr/apt-rpm/apt-pkg/depcache.cc:pkgDepCache::~pkgDepCache() (1x) 6 delete Policy;308,023 => /home/agrr/apt-rpm/apt-pkg/../include/apt-pkg/policy.h:pkgPolicy::~pkgPolicy() (1x) 6 delete Cache;139 => /home/agrr/apt-rpm/apt-pkg/../include/apt-pkg/pkgcache.h:pkgCache::~pkgCache() (1x) 6 delete Map;225 => /home/agrr/apt-rpm/apt-pkg/contrib/mmap.cc:MMap::~MMap() (1x) 6 _system->UnLock(true);144,074 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::UnLock(bool) (1x) 5 } . /*}}}*/ . // CacheFile::BuildCaches - Open and build the cache files /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool pkgCacheFile::BuildCaches(OpProgress &Progress,bool WithLock) 9 { 2 => ???:0x0002e057 (1x) 3 if (WithLock == true) 7 if (_system->Lock() == false)45,713,799 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::Lock() (1x) . return false; . . // CNC:2002-07-06 . if (WithLock == false) . _system->LockRead(); . 7 if (_config->FindB("Debug::NoLocking",false) == true)2,712 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindB(char const*, bool) const (1x) 3 WithLock = false; . 4 if (_error->PendingError() == true)57 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 1 return false; . . // Read the source list 7 pkgSourceList List;662 => /home/agrr/apt-rpm/apt-pkg/sourcelist.cc:pkgSourceList::~pkgSourceList() (1x)3,924 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (2x)11 => /home/agrr/apt-rpm/apt-pkg/sourcelist.cc:pkgSourceList::pkgSourceList() (1x) 4 if (List.ReadMainList() == false)795 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)101,150 => /home/agrr/apt-rpm/apt-pkg/sourcelist.cc:pkgSourceList::ReadMainList() (1x) . return _error->Error(_("The list of sources could not be read.")); . . // Read the caches10 bool Res = pkgMakeStatusCache(List,Progress,&Map,!WithLock);1,027 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)2,787,906,094 => /home/agrr/apt-rpm/apt-pkg/pkgcachegen.cc:pkgMakeStatusCache(pkgSourceList&, OpProgress&, MMap**, bool) (1x) 4 Progress.Done();23,709 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpTextProgress::Done() (1x) 3 if (Res == false) . return _error->Error(_("The package lists or status file could not be parsed or opened.")); . . /* This sux, remove it someday */ 4 if (_error->empty() == false)19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) . _error->Warning(_("You may want to run apt-get update to correct these problems")); . 11 Cache = new pkgCache(Map);124 => ???:operator new(unsigned int) (1x)6,320 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::pkgCache(MMap*, bool) (1x) 1 if (_error->PendingError() == true)19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 3 return false; . return true; 6 } . /*}}}*/ . // CacheFile::Open - Open the cache files, creating if necessary /*{{{*/ . // --------------------------------------------------------------------- . /* */ 3 bool pkgCacheFile::Open(OpProgress &Progress,bool WithLock) 9 { 2 => ???:0x0002e057 (1x) 9 if (BuildCaches(Progress,WithLock) == false)4,100 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)2,833,757,947 => apt-pkg/cachefile.cc:pkgCacheFile::BuildCaches(OpProgress&, bool) (1x) 1 return false; . . // The policy engine 8 Policy = new pkgPolicy(Cache);256 => ???:operator new(unsigned int) (1x)730 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)1,551,272 => /home/agrr/apt-rpm/apt-pkg/policy.cc:pkgPolicy::pkgPolicy(pkgCache*) (1x) 4 if (_error->PendingError() == true)57 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 1 return false;14 if (ReadPinFile(*Policy) == false)741 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)9,842 => /home/agrr/apt-rpm/apt-pkg/policy.cc:ReadPinFile(pkgPolicy&, std::string) (1x)73 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) 1 return false; . . // Create the dependency cache10 DCache = new pkgDepCache(Cache,Policy);132 => ???:operator new(unsigned int) (1x)886 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)27 => /home/agrr/apt-rpm/apt-pkg/depcache.cc:pkgDepCache::pkgDepCache(pkgCache*, pkgDepCache::Policy*) (1x) 4 if (_error->PendingError() == true)19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) 1 return false; . 5 DCache->Init(&Progress);842 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)2,126,621,293 => /home/agrr/apt-rpm/apt-pkg/depcache.cc:pkgDepCache::Init(OpProgress*) (1x) 4 Progress.Done();9,096 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpTextProgress::Done() (1x) 1 if (_error->PendingError() == true)19 => /home/agrr/apt-rpm/apt-pkg/contrib/error.cc:_GetErrorObj() (1x) . return false; . . return true; 6 } . /*}}}*/ . . // CacheFile::Close - close the cache files /*{{{*/ . // --------------------------------------------------------------------- . /* */ . void pkgCacheFile::Close() . { . delete DCache;-- line 119 ------------------------------------------ line 121 ---------------------------------------- . delete Cache; . delete Map; . _system->UnLock(true); . . Map = 0; . DCache = 0; . Policy = 0; . Cache = 0;12 } 2 => ???:0x0002e057 (1x) . /*}}}*/---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/rpm/rpmhandler.cc---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/rpm/rpmlistparser.cc---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/apt-pkg/rpm/urpmlistfile.cc---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/rpm/rpmversion.cc-------------------------------------------------------------------------------- Ir -- line 22 ---------------------------------------- . #include <stdlib.h> . #include <assert.h> . . #include "rpmmisc.h" . #include "configuration.h" . . #include <rpm/rpmds.h> . 8 rpmVersioningSystem rpmVS; 82 => ???:__cxa_atexit (1x) 748 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 796 => apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::rpmVersioningSystem() (1x) . . // rpmVS::rpmVersioningSystem - Constructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 13 rpmVersioningSystem::rpmVersioningSystem() 2 => ???:0x0002e057 (1x) 755 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 19 => /home/agrr/apt-rpm/apt-pkg/version.cc:pkgVersioningSystem::pkgVersioningSystem() (1x) . { 2 Label = "Standard .rpm"; 5 } . /*}}}*/ . // rpmVS::ParseVersion - Parse a version into it's components /*{{{*/ . // --------------------------------------------------------------------- . /* Code ripped from rpmlib */ . void rpmVersioningSystem::ParseVersion(const char *V, const char *VEnd, . char **Epoch, . char **Version, . char **Release) 9,648 { 2,412 => ???:0x0002e057 (1206x) . string tmp = string(V, VEnd); 3,618 char *evr = strdup(tmp.c_str());1,292,070 => ???:strdup (1206x) . const char *epoch = NULL; . const char *version = NULL; 1,206 const char *release = NULL; . char *s; . 2,412 assert(evr != NULL); . . s = strrchr(evr, '-'); 2,412 if (s) { 1,206 *s++ = '\0'; 1,206 release = s; . } . s = evr; 16,482 while (isdigit(*s)) s++; 2,412 if (*s == ':') . { . epoch = evr; 132 *s++ = '\0'; . version = s; 220 if (*epoch == '\0') epoch = "0"; . } . else . { . epoch = "0"; . version = evr; . } . . #define Xstrdup(a) (a) ? strdup(a) : NULL 7,148 *Epoch = Xstrdup(epoch); 281,992 => ???:strdup (1206x) 5,044 *Version = Xstrdup(version); 364,115 => ???:strdup (1206x) 8,442 *Release = Xstrdup(release); 379,295 => ???:strdup (1206x) . #undef Xstrdup 2,412 free(evr); 122,668 => ???:free (1206x) 7,236 } . . static char const *add_epoch(char const *in_version) . { . char *out_version; . char *s; . . if (in_version == 0) . return 0;-- line 91 ------------------------------------------ line 110 ---------------------------------------- . . /*}}}*/ . // rpmVS::CmpVersion - Comparison for versions /*{{{*/ . // --------------------------------------------------------------------- . /* This fragments the version into E:V-R triples and compares each . portion separately. */ . int rpmVersioningSystem::DoCmpVersion(const char *A,const char *AEnd, . const char *B,const char *BEnd) 5,427 { 1,206 => ???:0x0002e057 (603x) . char *AE, *AV, *AR; . char *BE, *BV, *BR; . int rc = 0; 7,236 ParseVersion(A, AEnd, &AE, &AV, &AR); 975 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)2,123,586 => apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::ParseVersion(char const*, char const*, char**, char**, char**) (603x) 7,236 ParseVersion(B, BEnd, &BE, &BV, &BR);1,061,240 => apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::ParseVersion(char const*, char const*, char**, char**, char**) (603x) 3,618 if (AE && !BE) 603 rc = 1; . else if (!AE && BE) . rc = -1; . else if (AE && BE) . { . int AEi, BEi; . AEi = atoi(AE); . BEi = atoi(BE); 1,206 if (AEi < BEi) . rc = -1; 559 else if (AEi > BEi) . rc = 1; . } . if (rc == 0) . { 3,913 rc = rpmvercmp(AV, BV); 900,843 => ???:rpmEVRcmp (559x) 1,118 if (rc == 0) { 3,348 if (AR && !BR) . rc = 1; 44 else if (!AR && BR) 44 rc = -1; . else if (AR && BR) 3,350 rc = rpmvercmp(AR, BR); 630,865 => ???:rpmEVRcmp (558x) . } . } 4,824 free(AE);free(AV);free(AR);; 548,914 => ???:free (1809x) 5,427 free(BE);free(BV);free(BR);; 186,322 => ???:free (1809x) . return rc; 4,221 } . /*}}}*/ . // rpmVS::DoCmpVersionArch - Compare versions, using architecture /*{{{*/ . // --------------------------------------------------------------------- . /* */ . int rpmVersioningSystem::DoCmpVersionArch(const char *A,const char *Aend, . const char *AA,const char *AAend, . const char *B,const char *Bend, . const char *BA,const char *BAend)-- line 161 ------------------------------------------ line 183 ---------------------------------------- . return rc; . } . /*}}}*/ . // rpmVS::CheckDep - Check a single dependency /*{{{*/ . // --------------------------------------------------------------------- . /* This simply preforms the version comparison and switch based on . operator. If DepVer is 0 then we are comparing against a provides . with no version. */ 674,784 bool rpmVersioningSystem::CheckDep(const char *PkgVer, . int Op,const char *DepVer)2,249,280 { 449,856 => ???:0x0002e057 (224928x) . int PkgFlags = RPMSENSE_EQUAL; . int DepFlags = 0; . bool invert = false; . int rc; . 949,362 switch (Op & 0x0F) . { . case pkgCache::Dep::LessEq: . DepFlags = RPMSENSE_LESS|RPMSENSE_EQUAL; . break; . . case pkgCache::Dep::GreaterEq: . DepFlags = RPMSENSE_GREATER|RPMSENSE_EQUAL; . break;-- line 207 ------------------------------------------ line 223 ---------------------------------------- . invert = true; . break; . . default: . DepFlags = RPMSENSE_ANY; . break; . } . 1,591,046 rpmds pds = rpmdsSingle(RPMTAG_PROVIDENAME, "", PkgVer, (rpmsenseFlags) PkgFlags);1,724,909,530 => ???:rpmdsSingle (224928x)1,591,046 rpmds dds = rpmdsSingle(RPMTAG_REQUIRENAME, "", DepVer, (rpmsenseFlags) DepFlags);531,126,887 => ???:rpmdsSingle (224928x)1,349,568 rpmdsSetNoPromote(pds, _rpmds_nopromote); 3,082 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)5,265,872 => ???:rpmdsSetNoPromote (224928x)1,124,640 rpmdsSetNoPromote(dds, _rpmds_nopromote);1,799,424 => ???:rpmdsSetNoPromote (224928x) 899,712 rc = rpmdsCompare(pds, dds); 1,506 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)561,317,705 => ???:rpmdsCompare (224928x)2,024,352 rpmdsFree(pds);655,068,968 => ???:rpmioFreePoolItem (224928x)1,574,496 rpmdsFree(dds);223,312,491 => ???:rpmioFreePoolItem (224928x) . . 33,100 return (!invert && rc) || (invert && !rc);1,349,568 } . /*}}}*/ . // rpmVS::CheckDep - Check a single dependency /*{{{*/ . // --------------------------------------------------------------------- . /* This prototype is a wrapper over CheckDep above. It's useful in the . cases where the kind of dependency matters to decide if it matches . or not */ . bool rpmVersioningSystem::CheckDep(const char *PkgVer, . pkgCache::DepIterator Dep)1,349,568 { 450,030 if (Dep->Type == pkgCache::Dep::Obsoletes && . (PkgVer == 0 || PkgVer[0] == 0)) 224,957 return false;2,024,352 return CheckDep(PkgVer,Dep->CompareOp,Dep.TargetVer());1,984,383,500 => apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::CheckDep(char const*, int, char const*) (224928x)1,124,640 } . /*}}}*/ . // rpmVS::UpstreamVersion - Return the upstream version string /*{{{*/ . // --------------------------------------------------------------------- . /* This strips all the vendor specific information from the version number */ . string rpmVersioningSystem::UpstreamVersion(const char *Ver) . { . // Strip off the bit before the first colon . const char *I = Ver;-- line 263 ------------------------------------------ line 268 ---------------------------------------- . // Chop off the trailing - . I = Ver; . size_t Last = strlen(Ver); . for (; *I != 0; I++) . if (*I == '-') . Last = I - Ver; . . return string(Ver,Last); 14 } 2 => ???:0x0002e057 (1x) . /*}}}*/ . . #endif /* HAVE_RPM */ . . // vim:sts=3:sw=3---------------------------------------------------------------------------------- Auto-annotated source: apt-pkg/depcache.cc-------------------------------------------------------------------------------- Ir -- line 24 ---------------------------------------- . #include <iostream> . . #include <apti18n.h> . /*}}}*/ . . // DepCache::pkgDepCache - Constructors /*{{{*/ . // --------------------------------------------------------------------- . /* */ 9 pkgDepCache::pkgDepCache(pkgCache *pCache,Policy *Plcy) : 2 => ???:0x0002e057 (1x) 7 Cache(pCache), PkgState(0), DepState(0) . { 1 delLocalPolicy = 0; 1 LocalPolicy = Plcy; 2 if (LocalPolicy == 0) . delLocalPolicy = LocalPolicy = new Policy; 5 } . /*}}}*/ . // DepCache::~pkgDepCache - Destructor /*{{{*/ . // --------------------------------------------------------------------- . /* */ 19 pkgDepCache::~pkgDepCache() 2 => ???:0x0002e057 (1x) . { 5 delete [] PkgState; 3,451 => ???:operator delete[](void*) (1x) 5 delete [] DepState; 3,359 => ???:operator delete[](void*) (1x) 3 delete delLocalPolicy; 14 } 704 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 115 => ???:operator delete(void*) (1x) 3,482 => apt-pkg/depcache.cc:pkgDepCache::~pkgDepCache()'2 (1x) . /*}}}*/ . // DepCache::Init - Generate the initial extra structures. /*{{{*/ . // --------------------------------------------------------------------- . /* This allocats the extension buffers and initializes them. */ . bool pkgDepCache::Init(OpProgress *Prog) 9 { 2 => ???:0x0002e057 (1x) 3 delete [] PkgState; 3 delete [] DepState; 7 PkgState = new StateCache[Head().PackageCount]; 1,163 => ???:operator new[](unsigned int) (1x) 5 DepState = new unsigned char[Head().DependsCount]; 395 => ???:operator new[](unsigned int) (1x) 9 memset(PkgState,0,sizeof(*PkgState)*Head().PackageCount); 125,844 => ???:__memset_sse2 (1x) 7 memset(DepState,0,sizeof(*DepState)*Head().DependsCount); 10,444 => ???:__memset_sse2 (1x) . 3 if (Prog != 0) . { . Prog->OverallProgress(0,2*Head().PackageCount,Head().PackageCount, 19 _("Building Dependency Tree")); 26,051 => ???:gettext (1x) 5,589 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::OverallProgress(unsigned long, unsigned long, unsigned long, std::string) (1x) 1,163 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) 16 Prog->SubProgress(Head().PackageCount,_("Candidate Versions")); 6,516 => ???:gettext (1x) 5,152 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::SubProgress(unsigned long, std::string) (1x) 287 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) . } . . /* Set the current state of everything. In this state all of the . packages are kept exactly as is. See AllUpgrade */ . int Done = 0; 219,729 for (PkgIterator I = PkgBegin(); I.end() != true; I++,Done++) 987,657 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::PkgIterator::operator++(int) (43946x) . { 131,838 if (Prog != 0) 263,676 Prog->Progress(Done);7,477,431 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::Progress(unsigned long) (43946x) . . // Find the proper cache slot 175,784 StateCache &State = PkgState[I->ID]; 43,946 State.iFlags = 0; . . // Figure out the install version 43,946 State.CandidateVer = GetCandidateVer(I); 43,946 State.InstallVer = I.CurrentVer(); 43,946 State.Mode = ModeKeep; . 439,460 State.Update(I,*this); 2,729 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)5,336,623 => apt-pkg/depcache.cc:pkgDepCache::StateCache::Update(pkgCache::PkgIterator, pkgCache&) (43946x) . } . 3 if (Prog != 0) . { . . Prog->OverallProgress(Head().PackageCount,2*Head().PackageCount, . Head().PackageCount, 19 _("Building Dependency Tree")); 6,508 => ???:gettext (1x) 2,752 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::OverallProgress(unsigned long, unsigned long, unsigned long, std::string) (1x) 289 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) 16 Prog->SubProgress(Head().PackageCount,_("Dependency Generation")); 6,516 => ???:gettext (1x) 2,515 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::SubProgress(unsigned long, std::string) (1x) 296 => ???:std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (1x) . } . 4 Update(Prog); 822 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)2,104,085,474 => apt-pkg/depcache.cc:pkgDepCache::Update(OpProgress*) (1x) . . // CNC:2003-03-17 . #ifdef APT_WITH_LUA 4 _lua->SetDepCache(this); 57 => /home/agrr/apt-rpm/apt-pkg/luaiface.cc:_GetLuaObj() (1x) 811 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 11 => /home/agrr/apt-rpm/apt-pkg/luaiface.cc:Lua::SetDepCache(pkgDepCache*) (1x) 6 _lua->RunScripts("Scripts::Cache::Init", true); 19 => /home/agrr/apt-rpm/apt-pkg/luaiface.cc:_GetLuaObj() (1x) 12,103 => /home/agrr/apt-rpm/apt-pkg/luaiface.cc:Lua::RunScripts(char const*, bool) (1x) 1 _lua->ResetCaches(); 19 => /home/agrr/apt-rpm/apt-pkg/luaiface.cc:_GetLuaObj() (1x) . #endif . . return true; 7 } . /*}}}*/ . . // DepCache::CheckDep - Checks a single dependency /*{{{*/ . // --------------------------------------------------------------------- . /* This first checks the dependency against the main target package and . then walks along the package provides list and checks if each provides . will be installed then checks the provides against the dep. Res will be . set to the package which was used to satisfy the dep. */ . bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res)2,282,832 { 570,708 => ???:0x0002e057 (285354x) . // CNC:2003-02-17 - This function is the main path when checking . // dependencies, so we must avoid as much overhead . // as possible. It has several changes to improve . // performance. . #if 0 . Res = Dep.TargetPkg(); . . /* Check simple depends. A depends -should- never self match but -- line 127 ------------------------------------------ line 209 ---------------------------------------- . // . PkgIterator &Dep_TargetPkg = Res; . PkgIterator Dep_ParentPkg = Dep.ParentPkg(); . pkgVersioningSystem &VS = this->VS(); . . /* Check simple depends. A depends -should- never self match but . we allow it anyhow because dpkg does. Technically it is a packaging . bug. Conflicts may never self match */ 571,818 if (Dep_TargetPkg != Dep_ParentPkg || . (Dep->Type != Dep::Conflicts && Dep->Type != Dep::Obsoletes)) . { . PkgIterator &Pkg = Dep_TargetPkg; . . // Check the base package1,235,936 switch (Type) . { . case NowVersion: 285,216 if (Pkg->CurrentVer != 0) . // CNC:2002-07-10 - RPM must check the dependency type to . // properly define if it would be satisfied . // or not. 98,284 if (VS.CheckDep(Pkg.CurrentVer().VerStr(),Dep) == true)1,990,281,481 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::CheckDep(char const*, pkgCache::DepIterator) (5822x) 5,822 return true; . break; . . case InstallVersion: 760,576 if (PkgState[Pkg->ID].InstallVer != 0) . if (VS.CheckDep(PkgState[Pkg->ID].InstVerIter(*this).VerStr(), . Dep) == true) . return true; . break; . . case CandidateVersion:1,277,950 if (PkgState[Pkg->ID].CandidateVer != 0) 274,505 if (VS.CheckDep(PkgState[Pkg->ID].CandidateVerIter(*this).VerStr(),257,461,371 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::CheckDep(char const*, pkgCache::DepIterator) (20707x) 62,121 Dep) == true) 20,707 return true; . break; . } . . . } . 522,688 if (Dep->Type == Dep::Obsoletes) 261,488 return false; . . // Check the providing packages . PrvIterator P = Dep_TargetPkg.ProvidesList(); . PkgIterator &Pkg = Dep_ParentPkg; 706,182 for (; P.end() != true; P++) . { . PkgIterator P_OwnerPkg = P.OwnerPkg(); . . /* Provides may never be applied against the same package if it is . a conflicts. See the comment above. */ 619,663 if (P_OwnerPkg == Pkg && Dep->Type == Dep::Conflicts) . continue; . . // Check if the provides is a hit1,279,348 switch (Type) . { . case NowVersion: . { 239,582 if (P_OwnerPkg.CurrentVer() != P.OwnerVer()) . continue; . break; . } . case InstallVersion: . { 89,912 StateCache &State = PkgState[P_OwnerPkg->ID]; 929,274 if (State.InstallVer != (Version *)P.OwnerVer()) . continue; . break; . } . case CandidateVersion: . { 117,535 StateCache &State = PkgState[P_OwnerPkg->ID];1,136,148 if (State.CandidateVer != (Version *)P.OwnerVer()) . continue; . break; . } . } . . // Compare the versions.4,151,684 if (VS.CheckDep(P.ProvideVersion(),Dep) == true) // CNC:2002-07-101,667,706,152 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmversion.cc:rpmVersioningSystem::CheckDep(char const*, pkgCache::DepIterator) (198399x) . { . Res = P_OwnerPkg; 195,460 return true; . } . } . . // CNC:2002-07-05 499,833 if (_system->IgnoreDep(VS,Dep) == true)38,616,235 => /home/agrr/apt-rpm/apt-pkg/rpm/rpmsystem.cc:rpmSystem::IgnoreDep(pkgVersioningSystem&, pkgCache::DepIterator&) (55537x) . { . Res = Dep_TargetPkg; 111,074 return true; . } . #endif . . return false;1,712,124 } . /*}}}*/ . // DepCache::AddSizes - Add the packages sizes to the counters /*{{{*/ . // --------------------------------------------------------------------- . /* Call with Mult = -1 to preform the inverse opration */ . void pkgDepCache::AddSizes(const PkgIterator &Pkg,signed long Mult) 439,460 { 87,892 => ???:0x0002e057 (43946x) 103,722 StateCache &P = PkgState[Pkg->ID]; . 131,838 if (Pkg->VersionList == 0) . return; . 47,490 if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure && 474,900 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::PkgIterator::State() const (7915x) . P.Keep() == true) . return; . . // Compute the size data 15,830 if (P.NewInstall() == true) . { . iUsrSize += (signed)(Mult*P.InstVerIter(*this)->InstalledSize); . iDownloadSize += (signed)(Mult*P.InstVerIter(*this)->Size); . return; . } . . // Upgrading 35,951 if (Pkg->CurrentVer != 0 && . (P.InstallVer != (Version *)Pkg.CurrentVer() || . (P.iFlags & ReInstall) == ReInstall) && P.InstallVer != 0) . { . iUsrSize += (signed)(Mult*((signed)P.InstVerIter(*this)->InstalledSize - . (signed)Pkg.CurrentVer()->InstalledSize)); . iDownloadSize += (signed)(Mult*P.InstVerIter(*this)->Size); . return; . } . . // Reinstall 47,490 if (Pkg.State() == pkgCache::PkgIterator::NeedsUnpack && 237,450 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::PkgIterator::State() const (7915x) . P.Delete() == false) . { . iDownloadSize += (signed)(Mult*P.InstVerIter(*this)->Size); . return; . } . . // Removing 33,499 if (Pkg->CurrentVer != 0 && P.InstallVer == 0) . { . iUsrSize -= (signed)(Mult*Pkg.CurrentVer()->InstalledSize); . return; . } 263,676 } . /*}}}*/ . // DepCache::AddStates - Add the package to the state counter /*{{{*/ . // --------------------------------------------------------------------- . /* This routine is tricky to use, you must make sure that it is never . called twice for the same package. This means the Remove/Add section . should be as short as possible and not encompass any code that will . calld Remove/Add itself. Remember, dependencies can be circular so . while processing a dep for Pkg it is possible that Add/Remove . will be called on Pkg */ . void pkgDepCache::AddStates(const PkgIterator &Pkg,int Add) 439,460 { 87,892 => ???:0x0002e057 (43946x) 219,730 StateCache &State = PkgState[Pkg->ID]; . . // The Package is broken 87,892 if ((State.DepState & DepInstMin) != DepInstMin) 18 iBrokenCount += Add; . . // Bad state 263,676 if (Pkg.State() != PkgIterator::NeedsNothing) 795 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)2,636,490 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::PkgIterator::State() const (43946x) . iBadCount += Add; . . // Not installed 131,838 if (Pkg->CurrentVer == 0) . { 129,999 if (State.Mode == ModeDelete && . (State.iFlags | Purge) == Purge && Pkg.Purge() == false) . iDelCount += Add; . 86,666 if (State.Mode == ModeInstall) . iInstCount += Add; . return; . } . . // Installed, no upgrade 1,226 if (State.Status == 0) . { 1,138 if (State.Mode == ModeDelete) . iDelCount += Add; . else 1,138 if ((State.iFlags & ReInstall) == ReInstall) . iInstCount += Add; . . return; . } . . // Alll 3 are possible 132 if (State.Mode == ModeDelete) . iDelCount += Add; 88 if (State.Mode == ModeKeep) 176 iKeepCount += Add; 88 if (State.Mode == ModeInstall) . iInstCount += Add; 263,676 } . /*}}}*/ . // DepCache::BuildGroupOrs - Generate the Or group dep data /*{{{*/ . // --------------------------------------------------------------------- . /* The or group results are stored in the last item of the or group. This . allows easy detection of the state of a whole or'd group. */ . void pkgDepCache::BuildGroupOrs(VerIterator const &V) . { . unsigned char Group = 0;-- line 419 ------------------------------------------ line 445 ---------------------------------------- . // --------------------------------------------------------------------- . /* This is used to run over a dependency list and determine the dep . state of the list, filtering it through both a Min check and a Policy . check. The return result will have SetMin/SetPolicy low if a check . fails. It uses the DepState cache for it's computations. */ . unsigned char pkgDepCache::VersionState(DepIterator D,unsigned char Check, . unsigned char SetMin, . unsigned char SetPolicy) 118,833 { 18,282 => ???:0x0002e057 (9141x) 232,109 unsigned char Dep = 0xFF; . . while (D.end() != true) . { . // Compute a single dependency element (glob or) . DepIterator Start = D; 250,391 unsigned char State = 0; 874,334 for (bool LastOR = true; D.end() == false && LastOR == true; D++) . { 445,936 State |= DepState[D->ID]; 222,968 LastOR = (D->CompareOp & Dep::Or) == Dep::Or; . } . . // CNC:2003-02-17 - IsImportantDep() currently calls IsCritical(), so . // these two are currently doing the same thing. Check . // comments in IsImportantDep() definition. . // Minimum deps that must be satisfied to have a working package 334,452 if (Start.IsCritical() == true) 443,052 if ((State & Check) != Check) 90,534 Dep &= ~SetMin; . . // Policy deps that must be satisfied to install the package 666,020 if (IsImportantDep(Start) == true && . (State & Check) != Check) 75,591 Dep &= ~SetPolicy; . #if 0 . if (Start.IsCritical() == true) . if ((State & Check) != Check) { . Dep &= ~SetMin; . Dep &= ~SetPolicy; . } . #endif . } . . return Dep; 63,987 } . /*}}}*/ . // DepCache::DependencyState - Compute the 3 results for a dep /*{{{*/ . // --------------------------------------------------------------------- . /* This is the main dependency computation bit. It computes the 3 main . results for a dependencys, Now, Install and Candidate. Callers must . invert the result if dealing with conflicts. */ . unsigned char pkgDepCache::DependencyState(DepIterator &D)1,521,888 { 190,236 => ???:0x0002e057 (95118x) 570,708 unsigned char State = 0; . . if (CheckDep(D,NowVersion) == true) . State |= DepNow; 190,236 if (CheckDep(D,InstallVersion) == true) 730,739 State |= DepInstall; 190,236 if (CheckDep(D,CandidateVersion) == true) 89,506 State |= DepCVer; . . return State; 665,826 } . /*}}}*/ . // DepCache::UpdateVerState - Compute the Dep member of the state /*{{{*/ . // --------------------------------------------------------------------- . /* This determines the combined dependency representation of a package . for its two states now and install. This is done by using the pre-generated . dependency information. */ . void pkgDepCache::UpdateVerState(PkgIterator Pkg) 395,514 { 87,892 => ???:0x0002e057 (43946x) . // Empty deps are always true 175,784 StateCache &State = PkgState[Pkg->ID]; 43,946 State.DepState = 0xFF; . . // Check the Current state 131,838 if (Pkg->CurrentVer != 0) . { . DepIterator D = Pkg.CurrentVer().DependsList(); 6,743 State.DepState &= VersionState(D,DepNow,DepNowMin,DepNowPolicy); 1,011 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)14,528,956 => apt-pkg/depcache.cc:pkgDepCache::VersionState(pkgCache::DepIterator, unsigned char, unsigned char, unsigned char) (613x) . } . . /* Check the candidate state. We do not compare against the whole as . a candidate state but check the candidate version against the . install states */ 131,838 if (State.CandidateVer != 0) . { . DepIterator D = State.CandidateVerIter(*this).DependsList(); 118,725 State.DepState &= VersionState(D,DepInstall,DepCandMin,DepCandPolicy);12,430,404 => apt-pkg/depcache.cc:pkgDepCache::VersionState(pkgCache::DepIterator, unsigned char, unsigned char, unsigned char) (7915x) . } . . // Check target state which can only be current or installed 131,838 if (State.InstallVer != 0) . { . DepIterator D = State.InstVerIter(*this).DependsList(); 9,195 State.DepState &= VersionState(D,DepInstall,DepInstMin,DepInstPolicy);1,048,622 => apt-pkg/depcache.cc:pkgDepCache::VersionState(pkgCache::DepIterator, unsigned char, unsigned char, unsigned char) (613x) . } 263,676 } . /*}}}*/ . // DepCache::Update - Figure out all the state information /*{{{*/ . // --------------------------------------------------------------------- . /* This will figure out the state of all the packages and all the . dependencies based on the current policy. */ . void pkgDepCache::Update(OpProgress *Prog) 8 { 2 => ???:0x0002e057 (1x) 3 iUsrSize = 0; 1 iDownloadSize = 0; 1 iDelCount = 0; 1 iInstCount = 0; 1 iKeepCount = 0; 1 iBrokenCount = 0; 1 iBadCount = 0; . . // Perform the depends pass 1 int Done = 0; 219,730 for (PkgIterator I = PkgBegin(); I.end() != true; I++,Done++) 987,657 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::PkgIterator::operator++(int) (43946x) . { 615,244 if (Prog != 0 && Done%20 == 0) 19,782 Prog->Progress(Done); 495,738 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::Progress(unsigned long) (2198x) 103,812 for (VerIterator V = I.VersionList(); V.end() != true; V++) . { . unsigned char Group = 0; . . for (DepIterator D = V.DependsList(); D.end() != true; D++) . { . // Build the dependency state. 285,354 unsigned char &State = DepState[D->ID]; 380,474 State = DependencyState(D); 4,012 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)2,075,550,392 => apt-pkg/depcache.cc:pkgDepCache::DependencyState(pkgCache::DepIterator&) (95118x) . . // Add to the group if we are within an or.. 95,118 Group |= State; 285,354 State |= Group << 3; 190,236 if ((D->CompareOp & Dep::Or) != Dep::Or) 404,352 Group = 0; . . // Invert for Conflicts 471,424 if (D->Type == Dep::Conflicts || D->Type == Dep::Obsoletes) 22,312 State = ~State; . } . } . . // Compute the pacakge dependency state and size additions 263,676 AddSizes(I); 980 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)1,733,663 => apt-pkg/depcache.cc:pkgDepCache::AddSizes(pkgCache::PkgIterator const&, long) (43946x) 395,514 UpdateVerState(I); 1,009 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)16,138,567 => apt-pkg/depcache.cc:pkgDepCache::UpdateVerState(pkgCache::PkgIterator) (43946x) 263,676 AddStates(I); 975 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x)3,077,954 => apt-pkg/depcache.cc:pkgDepCache::AddStates(pkgCache::PkgIterator const&, int) (43946x) . } . 2 if (Prog != 0) 5 Prog->Progress(Done); 498,290 => /home/agrr/apt-rpm/apt-pkg/contrib/progress.cc:OpProgress::Progress(unsigned long) (1x) 6 } . /*}}}*/ . // DepCache::Update - Update the deps list of a package /*{{{*/ . // --------------------------------------------------------------------- . /* This is a helper for update that only does the dep portion of the scan. . It is mainly ment to scan reverse dependencies. */ . void pkgDepCache::Update(DepIterator D) . { . // Update the reverse deps-- line 603 ------------------------------------------ line 932 ---------------------------------------- . Update(Pkg); . AddSizes(Pkg); . } . /*}}}*/ . // StateCache::Update - Compute the various static display things /*{{{*/ . // --------------------------------------------------------------------- . /* This is called whenever the Candidate version changes. */ . void pkgDepCache::StateCache::Update(PkgIterator Pkg,pkgCache &Cache) 439,460 { 87,892 => ???:0x0002e057 (43946x) . // Some info . VerIterator Ver = CandidateVerIter(Cache); . . // Use a null string or the version string 15,830 if (Ver.end() == true) 108,093 CandVersion = ""; . else 23,745 CandVersion = Ver.VerStr(); . . // Find the current version 43,946 CurVersion = ""; 219,730 if (Pkg->CurrentVer != 0) 613 CurVersion = Pkg.CurrentVer().VerStr(); . . // Strip off the epochs for display 219,730 CurVersion = StripEpoch(CurVersion);2,075,499 => apt-pkg/depcache.cc:pkgDepCache::StateCache::StripEpoch(char const*) (43946x) 1,791 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 219,730 CandVersion = StripEpoch(CandVersion);1,141,753 => apt-pkg/depcache.cc:pkgDepCache::StateCache::StripEpoch(char const*) (43946x) . . // Figure out if its up or down or equal 263,676 Status = Ver.CompareVer(Pkg.CurrentVer()); 899 => /home/mandrake/rpm/BUILD/glibc-2.12.1/elf/../sysdeps/i386/dl-trampoline.S:_dl_runtime_resolve (1x) 813,680 => /home/agrr/apt-rpm/apt-pkg/pkgcache.cc:pkgCache::VerIterator::CompareVer(pkgCache::VerIterator const&) const (43946x) 135,516 if (Pkg->CurrentVer == 0 || Pkg->VersionList == 0 || CandidateVer == 0) 43,333 Status = 2; 263,676 } . /*}}}*/ . // StateCache::StripEpoch - Remove the epoch specifier from the version /*{{{*/ . // --------------------------------------------------------------------- . /* */ . const char *pkgDepCache::StateCache::StripEpoch(const char *Ver) 263,676 { 175,784 if (Ver == 0) . return 0; . . // Strip any epoch 758,692 for (const char *I = Ver; *I != 0; I++) 267,010 if (*I == ':') 1,223 return I + 1; . return Ver; 175,784 } . /*}}}*/ . . // Policy::GetCandidateVer - Returns the Candidate install version /*{{{*/ . // --------------------------------------------------------------------- . /* The default just returns the highest available version that is not . a source and automatic. */ . pkgCache::VerIterator pkgDepCache::Policy::GetCandidateVer(PkgIterator Pkg) . {-- line 986 ------------------------------------------ line 1013 ---------------------------------------- . . return Last; . } . /*}}}*/ . // Policy::IsImportantDep - True if the dependency is important /*{{{*/ . // --------------------------------------------------------------------- . /* */ . bool pkgDepCache::Policy::IsImportantDep(DepIterator Dep) 668,904 { 222,968 => ???:0x0002e057 (111484x) . // CNC:2002-03-17 - Every place that uses this function seems to . // currently check for IsCritical() as well. Since . // this is a virtual (heavy) function, we'll try . // not to use it while not necessary. . // AG:2010 We need Suggests support for RPM so this function becomes important again 334,452 if (Dep.IsCritical()) 111,484 return true; 1,442 else if(Dep->Type == pkgCache::Dep::Suggests) 5,047 return _config->FindB("APT::Install-Suggests", false);2,380,184 => /home/agrr/apt-rpm/apt-pkg/contrib/configuration.cc:Configuration::FindB(char const*, bool) const (721x) . 111,484 return false; . 445,936 } . /*}}}*/ . . // CNC:2003-02-24 . // pkgDepCache::State::* - Routines to work on the state of a DepCache. /*{{{*/ . // --------------------------------------------------------------------- . /* */ . void pkgDepCache::State::Copy(pkgDepCache::State const &Other) . {-- line 1042 ------------------------------------------ line 1098 ---------------------------------------- . return true; . } . return false; . } . . void pkgDepCache::State::UnIgnoreAll() . { . memset(PkgIgnore, 0, Dep->Head().PackageCount*sizeof(*PkgIgnore));3,524,241 } 2 => ???:0x0002e057 (1x) . . /*}}}*/ . . // vim:sts=3:sw=3---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/cmdline/apt-get.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/cmdline/apt-get.cc---------------------------------------------------------------------------------- Auto-annotated source: /home/agrr/apt-rpm/cmdline/cmdline.cc-------------------------------------------------------------------------------- No information has been collected for /home/agrr/apt-rpm/cmdline/cmdline.cc--------------------------------------------------------------------------------The following files chosen for auto-annotation could not be found:-------------------------------------------------------------------------------- /home/mandrake/rpm/BUILD/glibc-2.12.1/csu/../sysdeps/i386/elf/start.S--------------------------------------------------------------------------------Ir -------------------------------------------------------------------------------- 9 percentage of events annotated