Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 364425 - add emerge --preserved-rebuild target which is suitable for automatic triggering after updates
Summary: add emerge --preserved-rebuild target which is suitable for automatic trigger...
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All All
: Normal blocker (vote)
Assignee: Portage team
: 290781 (view as bug list)
Depends on: 364431
Blocks: preserve-libs
  Show dependency tree
Reported: 2011-04-22 02:21 UTC by Zac Medico
Modified: 2012-12-25 08:05 UTC (History)
2 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
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:
Comment 4 Zac Medico gentoo-dev 2012-06-24 20:34:06 UTC
*** Bug 290781 has been marked as a duplicate of this bug. ***