On Sun, Aug 31, 2008 at 02:20:27PM -0700, Daniel Burrows wrote: > Why do you need #497205? Is it too slow to just use SourcePkg() in > the package records object? > > Daniel Sorry! I was lazy/stupid/whatever enough to not read more about apt and learn how to do it without adding a field to the cache. So, I am attaching the patch to the patch for aptitude, which does not need this other patch to APT. I will close the apt bug after that. I still like the patch to be reviewed, if you can, please. Thanks, Thadeu Cascardo.
diff -u aptitude-0.4.11.8/src/pkg_grouppolicy.cc aptitude-0.4.11.8/src/pkg_grouppolicy.cc --- aptitude-0.4.11.8/src/pkg_grouppolicy.cc +++ aptitude-0.4.11.8/src/pkg_grouppolicy.cc @@ -1676,11 +1676,11 @@ void add_package(const pkgCache::PkgIterator &pkg, pkg_subtree *root) { - string source; - if (!pkg.Source()) + if (pkg.VersionList().end() || pkg.VersionList().FileList().end()) + return; + string source=apt_package_records->Lookup(pkg.VersionList().FileList()).SourcePkg(); + if (source.length()==0) source=pkg.Name(); - else - source=pkg.Source(); childmap::iterator found=children.find(source);
Attachment:
signature.asc
Description: Digital signature