Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 608904 - app-portage/portage-utils: support portdbapi.auxdbmodule
Summary: app-portage/portage-utils: support portdbapi.auxdbmodule
Status: RESOLVED OBSOLETE
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Third-Party Tools (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Fabian Groffen
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-10 22:58 UTC by Kent Fredric (IRC: kent\n) (RETIRED)
Modified: 2019-06-06 07:38 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2017-02-10 22:58:38 UTC
There's an infrequently used trick with portage where you can get it to defer all its metadata caching to an SQLite database, which tends to be more efficient for queries once generated.

  $ cat /etc/portage/modules 
  portdbapi.auxdbmodule = cache.sqlite.database

https://wiki.gentoo.org/wiki//etc/portage/modules

However, qcache is not apparently aware of this feature and is confused by it

  qcache -a
  cache: /var/cache/edb/dep//usr/portage is empty!
  cache: /var/cache/edb/dep//var/lib/layman/palemoon is empty!
  cache: /var/cache/edb/dep//var/lib/layman/andy is empty!
  cache: /var/cache/edb/dep//var/lib/layman/steam-overlay is empty!
  cache: /var/cache/edb/dep//var/lib/layman/x11 is empty!
  cache: /var/cache/edb/dep//var/lib/layman/virtualization is empty!
  cache: /var/cache/edb/dep//var/lib/layman/tox-overlay is empty!
  cache: /var/cache/edb/dep//var/lib/layman/rafaelmartins is empty!
  cache: /var/cache/edb/dep//var/lib/layman/qt is empty!
  cache: /var/cache/edb/dep//usr/local/perl-overlay is empty!
  cache: /var/cache/edb/dep//var/lib/layman/mozilla is empty!
  cache: /var/cache/edb/dep//var/lib/layman/luman is empty!
  cache: /var/cache/edb/dep//var/lib/layman/kde is empty!
  cache: /var/cache/edb/dep//var/lib/layman/java is empty!
  cache: /var/cache/edb/dep//var/lib/layman/dotnet is empty!
  cache: /var/cache/edb/dep//var/lib/layman/bumblebee is empty!
  cache: /var/cache/edb/dep//usr/local/portage is empty!
  cache: /var/cache/edb/dep//usr/local/gentoo-lted is empty!

And that becomes more obvious why its confused:

  find /var/cache/edb/dep/usr/
  /var/cache/edb/dep/usr/
  /var/cache/edb/dep/usr/portage
  /var/cache/edb/dep/usr/portage/.ebuild.x
  /var/cache/edb/dep/usr/local
  /var/cache/edb/dep/usr/local/gentoo-history-20150809
  /var/cache/edb/dep/usr/local/portage
  /var/cache/edb/dep/usr/local/portage/.ebuild.x
  /var/cache/edb/dep/usr/local/gentoo-lted.sqlite
  /var/cache/edb/dep/usr/local/perl-overlay
  /var/cache/edb/dep/usr/local/perl-overlay/.ebuild.x
  /var/cache/edb/dep/usr/local/gentoo
  /var/cache/edb/dep/usr/local/gentoo.sqlite
  /var/cache/edb/dep/usr/local/perl-overlay.sqlite
  /var/cache/edb/dep/usr/local/gentoo-history-20150809.sqlite
  /var/cache/edb/dep/usr/local/portage.sqlite
  /var/cache/edb/dep/usr/local/gentoo-lted
  /var/cache/edb/dep/usr/local/gentoo-lted/.ebuild.x
  /var/cache/edb/dep/usr/portage.sqlite
Comment 1 SpanKY gentoo-dev 2017-02-11 05:19:35 UTC
the only portdbapi.auxdbmodule interface supported is the default -- flat_hash.  if you pick any other, things will fail in the same way.

all of the portage-utils tools that utilize the cache files will fail as well.

will have to clean up some of the cache handling to make this work.
Comment 2 Fabian Groffen gentoo-dev 2019-06-06 07:38:57 UTC
this bug is obsolete with 0.80 and later because qcache has been removed, as well as q's own flat-caches (so it can't get confused anymore by cache files it doesn't understand)