The disabling of dynamic deps by default in portage-2.3.20 has resulted in a lot of pushback, so I want to revert it until we've come up with a viable solution that does not involve rebuilds. Related things: https://archives.gentoo.org/gentoo-dev/message/56987ae0bfb29403bedd12fe847d80a4 https://archives.gentoo.org/gentoo-dev/message/a88cfb0637ca1f3d781000471b9c8d35 https://bugs.gentoo.org/645550 https://bugs.gentoo.org/645780 I'm hoping that a tool can be created to apply dependency changes in-place, without rebuilding anything. It will be much like --dynamic-deps, but will persistently change the dependencies for installed packages an binary packages. I've asked Michał Górny about the revert on IRC: > [13:20:20] <zmedico> mgorny: also, how do you feel about reverting to --dynamic-deps=y by default for now? it's a big pain and I feel like we can do better with some more preparation. > [13:27:51] <zmedico> It would be nice to have a tool that patches dependency changes in-place, especially since there's so much aversion to rebuilds > [13:28:33] <zmedico> People would have nothing to complain about. > [13:29:40] <zmedico> I don't enjoy listening to people complain :-) > [13:32:08] <mgorny> zmedico: as long as developer don't use dynamic deps, i'm fine with it > [13:32:33] <mgorny> but if developers throw excuses that they don't have to follow policy because it doesn't match portage defaults... and then insult QA members for trying to enforce it > [13:33:11] <mgorny> zmedico: as for patches, i guess when they're reviewed + 1-2 days in case more urgent issues are found > [13:33:27] <mgorny> we may also consider the version before them as earlier stable candidate > [13:35:15] <zmedico> yeah that sould good > [13:36:36] <zmedico> *sounds > [14:06:58] <mgorny> as for updates, i don't see it happening > [14:07:04] <mgorny> people have been talking about it for years > [14:07:11] <mgorny> nobody came with any real proposal > [14:07:22] <mgorny> our existing updates (pkgmoves) are complex and people screw them up a lot > [14:07:35] <mgorny> depmoves would be more common, so that would make portage ultraslow and people will screw up even more
Patch posted for review: https://archives.gentoo.org/gentoo-portage-dev/message/1af1404b7715e89a898f10c3f74a08a9 https://github.com/gentoo/portage/pull/249
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=a6671c73f3d1aa74789534e5eebccbca23b48656 commit a6671c73f3d1aa74789534e5eebccbca23b48656 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2018-02-03 01:45:21 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2018-02-03 02:21:28 +0000 emerge: enable --dynamic-deps=y by default once again (bug 646458) There's been a lot of pushback involving the --dynamic-deps=n default. What we really need is a tool to apply dependency changes in-place, without the need for a rebuild. Reverts: 2905e1c2c28d ("Disable dynamic-deps by default") Bug: https://bugs.gentoo.org/646458 man/emerge.1 | 2 +- pym/_emerge/Scheduler.py | 3 ++- pym/_emerge/create_depgraph_params.py | 6 +++--- pym/_emerge/depgraph.py | 7 +++---- 4 files changed, 9 insertions(+), 9 deletions(-)}
So the decision is that Portage will ignore PMS again?
We need a strategy for in-place dependency updates, because there are a lot of noisy people who aren't willing to accept rebuilds as the answer.
Actually, we have a council decision on this: | The following policy was accepted by unanimous vote: | "Maintainers must not assume that dynamic dependencies will be applied | by the package manager. When changing runtime dependencies the | maintainer should revision the ebuild if the changes are likely to | cause problems for end users." https://projects.gentoo.org/council/meeting-logs/20151011-summary.txt So as a maintainer, I should be able to rely on the fact the the package manager *won't* apply dynamic dependencies.
(In reply to Ulrich Müller from comment #5) > Actually, we have a council decision on this: > > | The following policy was accepted by unanimous vote: > | "Maintainers must not assume that dynamic dependencies will be applied > | by the package manager. When changing runtime dependencies the > | maintainer should revision the ebuild if the changes are likely to > | cause problems for end users." > https://projects.gentoo.org/council/meeting-logs/20151011-summary.txt > > So as a maintainer, I should be able to rely on the fact the the package > manager *won't* apply dynamic dependencies. Ok, so let's force devs to use --dynamic-deps for some time, before we do it to users.
Of course I mean, force devs to use --dynamic-deps=n.
We could make the --dynamic-deps=n default conditional on USE="gentoo-dev", or something like that, and then tell developers that they have to enable it. If that's a success, then the dependency situation should improve to the point where it's usable for normal users.
Basically, it's not fair to unleash the --dynamic-deps=n default on our users until we prove that our devs will cooperate.
(In reply to Zac Medico from comment #7) > Of course I mean, force devs to use --dynamic-deps=n. I cannot think of any way how "not assume that dynamic dependencies will be applied by the package manager" could be read as to apply to developers' systems only.
(In reply to Ulrich Müller from comment #10) > (In reply to Zac Medico from comment #7) > > Of course I mean, force devs to use --dynamic-deps=n. > > I cannot think of any way how "not assume that dynamic dependencies will be > applied by the package manager" could be read as to apply to developers' > systems only. The strategy that I'm suggesting involves 2 phases: 1) Roll out a USE="gentoo-dev" flag that triggers the default --dynamic-deps=n setting. 2) After gentoo dev's have shown a willingness and ability to do the revbumps, roll out the default --dynamic-deps=n setting to regular users.