Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 528394 - sys-apps/portage: add a repos.conf setting to declare a repo as immutable, for optimized performance
Summary: sys-apps/portage: add a repos.conf setting to declare a repo as immutable, fo...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Configuration (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 240187 596338
  Show dependency tree
 
Reported: 2014-11-05 21:28 UTC by Zac Medico
Modified: 2021-10-18 00:56 UTC (History)
3 users (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 Zac Medico gentoo-dev 2014-11-05 21:28:43 UTC
Currently, portage assumes all repositories are mutable, which hurts performance for dependency calculations. If we allow the user to declare a repository as immutable, then this information can be used to optimize dependency calculations to avoid redundant cache validation. For immutable repositories, cache will only have to be validated after each sync.
Comment 1 Zac Medico gentoo-dev 2014-11-05 21:36:59 UTC
For the search indexing proposed in bug 525718, we could have it ignore the search index for mutable repositories, and have a repos.conf override that says "trust the search index for this repo even though it happens to be mutable".
Comment 2 Zac Medico gentoo-dev 2016-10-08 02:13:46 UTC
Support for MetaManifest will be very handy for this, since a hash of the top-level MetaManifest can be used to identify an immutable repository state.
Comment 3 Zac Medico gentoo-dev 2021-10-18 00:56:37 UTC
(In reply to Zac Medico from comment #2)
> Support for MetaManifest will be very handy for this, since a hash of the
> top-level MetaManifest can be used to identify an immutable repository state.

We should be able to assume valid cache for repos that have a "sync-rsync-verify-metamanifest = yes" setting.