Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 364425

Summary: add emerge --preserved-rebuild target which is suitable for automatic triggering after updates
Product: Portage Development Reporter: Zac Medico <zmedico>
Component: Enhancement/Feature RequestsAssignee: Portage team <dev-portage>
Status: RESOLVED WONTFIX    
Severity: blocker CC: esigra, Martin.vGagern
Priority: Normal    
Version: 2.2   
Hardware: All   
OS: All   
URL: http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 364431    
Bug Blocks: 240323    

Description Zac Medico gentoo-dev 2011-04-22 02:21:33 UTC
The idea is to have a new emerge --preserved-rebuild target which can serve as a substitute for `emerge @preserved-rebuild` and is suitable to be triggered as a post-merge step that runs automatically after other update commands.

The --preserved-rebuild target should not rebuild preserved-library consumers that are eligible for removal by --depclean, since it is typically a waste to rebuild such packages. Also, such packages may introduce conflicts in the dependency graph, which is yet another reason not to rebuild them or add them to the dependency graph.

When FEATURES=preserve-libs is enabled, the --preserved-rebuild target should be enabled by default as a post-merge step that will run automatically when preserved-libraries are detected. Users will be able to optionally disable this by specifying --preserved-rebuild=n on the command line or via EMERGE_DEFAULT_OPTS in make.conf.
Comment 1 Zac Medico gentoo-dev 2011-04-22 02:48:50 UTC
When the --preserved-rebuild target is triggered after another update command, it would be useful for it to have a memory of packages that were updated or rebuilt by the previous update command, and to avoid rebuilding packages that apparently link to the wrong library version (like in bug #230257).

Also, when a library is downgraded, it's expected for new builds to link a preserved library with a version that is newer than the one that we are trying to downgrade to. Therefore, it might make sense to have FEATURES=preserve-libs skip library preservation during downgrades.
Comment 2 Zac Medico gentoo-dev 2011-05-14 03:46:08 UTC
It would also be useful to trigger rebuilds of packages that consume libraries that are eligible for removal by --depclean. For example, this case currently happens when dev-libs/boost is upgraded to a new SLOT. All of the consumers of the old SLOT need to be rebuilt to link with the new SLOT. This currently is not handled by FEATURES=preserve-libs, since that only preserves libraries when a package upgrade replaces an older version with identical SLOT.
Comment 3 Zac Medico gentoo-dev 2012-06-24 20:31:22 UTC
I think automatic rebuilds triggered in andvance, as is made possible by EAPI 4-slot-abi, is probably the best way to handle automatic rebuilds:

http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/
Comment 4 Zac Medico gentoo-dev 2012-06-24 20:34:06 UTC
*** Bug 290781 has been marked as a duplicate of this bug. ***