THE IDEA ======== Whenever Portage resolves how to do something, we could save all of this information to a file. We could then re-use resolutions instead of needlessly re-resolving. Through options, we could do this automatically. I.e. store all resolutions, and only remove them when they are useless. MOTIVATION ========== Too often, someone does 'emerge X', only to be told that they need to unmask Y and Z, and then restart 'emerge X'. That's, often, ten minutes of their day gone. There are other scenarios where it'd be useful too. USAGE ===== This stuff should probably work in the background. If it is enabled as a piece of automagic, it'll store all resolutions, and then prompt the user to reuse them if applicable. → emerge --ask X Calculating dependencies... You have calculated dependencies before. 1) Resolve again 2) Use TIMESTAMP resolution 3) Use TIMESTAMP resolution DETAILS ======= There needs to be a way to validate whether the resolution is outdated (and therefore useless). Zac suggests to store state hashes for all package repositories, the installed package database, and the portage configuration. He also thinks we should assert that users can't modify ebuilds without updating the state hash. This all sounds reasonable to me.
(In reply to Alexander Berntsen from comment #0) > DETAILS > ======= > There needs to be a way to validate whether the resolution is outdated (and > therefore useless). Zac suggests to store state hashes for all package > repositories, the installed package database, and the portage configuration. > He also thinks we should assert that users can't modify ebuilds without > updating the state hash. This all sounds reasonable to me. This part ties in with bug 528394.